SendGrid Destination
SendGrid provides email marketing automation for businesses. With Segment you can add contacts and lists to SendGrid.
Getting started
- From the Segment web app, click Catalog, then click Destinations.
- Find the Destinations Actions item in the left navigation, and click it.
- Click Configure SendGrid.
- Select an existing Source to connect to SendGrid.
- In the destination settings, enter your SendGrid “API key” into the connection settings. You should create a new API key for the Segment destination. You can read more about API keys on Marketing Campaigns’s docs.
Destination Settings
| Setting | Description |
|---|---|
| Regional Processing Endpoint | The regional processing endpoint for your SendGrid account. See more details |
| API Key | Required. The Api key for your SendGrid account. |
Available Actions
Build your own Mappings. Combine supported triggers with the following SendGrid-supported actions:
Mapping limits per destination
Individual destination instances have support a maximum of 50 mappings.
Upsert Contact
Add or update a Contact in SendGrid.
Upsert Contact is a Cloud action.
| Field | Description |
|---|---|
| Batch Data to SendGrid Contacts PUT API | Type: BOOLEANWhen enabled, the action will use the SendGrid Contacts PUT API to perform the batch operation. Batches can contain up to 30k records in a request. |
| First Name | Type: STRINGThe contact’s first name. |
| Last Name | Type: STRINGThe contact’s last name. |
| Country | Type: STRINGThe contact’s country. |
| Postal Code | Type: STRINGThe contact’s postal code. |
| City | Type: STRINGThe contact’s city. |
| State | Type: STRINGThe contact’s state. |
| Address Line 1 | Type: STRINGThe contact’s address line 1. |
| Address Line 2 | Type: STRINGThe contact’s address line 2. |
| Phone Number | Type: STRINGThe contact’s phone number. Note: This is different from the Phone Number ID field, but the same value can be stored in both fields. |
Type: STRINGThe contact’s WhatsApp. |
|
| Line | Type: STRINGThe contact’s landline. |
Type: STRINGThe contact’s Facebook identifier. |
|
| Unique Name | Type: STRINGThe contact’s unique name. |
| Email Address | Type: STRINGThe contact’s email address. |
| Phone Number ID | Type: STRINGPrimary Phone Number used to identify a Contact. This must be a valid phone number. |
| External ID | Type: STRINGThe contact’s External ID. |
| Anonymous ID | Type: STRINGThe contact’s Anonymous ID. |
| Other Fields | Type: OBJECTAdditional fields to send to SendGrid. On the left-hand side, input the SendGrid Custom Fields Id. On the right-hand side, map the Segment field that contains the value. Custom Fields must be predefined in your SendGrid account and you can retrieve corresponding Id using get all field definitions endpoint. Reference: Get All field definitions — |
Send Email with Dynamic Template
Send email to recipient(s) using a Dynamic Template in Sendgrid
Send Email with Dynamic Template is a Cloud action.
| Field | Description |
|---|---|
| Validated Domain | Type: STRINGThe domain to use for the email. This field is optional but recommended. If you do not provide a domain, Sendgrid will attempt to send the email based on the from address, and may fail if the domain in the from address is not validated. |
| From* | Type: OBJECTFrom details. |
| To* | Type: OBJECTRecipient details. |
| CC | Type: OBJECTCC recipient details |
| BCC | Type: OBJECTBCC recipient details |
| Headers | Type: OBJECTHeaders for the email. |
| Dynamic Template Data | Type: OBJECTA collection of property names that will be substituted by their corresponding property values in the subject, reply-to and content portions of a SendGrid Dynamic Template. |
| Dynamic Template* | Type: STRINGThe Dynamic Template to use for the email. |
| Custom Args | Type: OBJECTCustom arguments for the email. |
| Send At | Type: STRINGThe time to send the email. ISO 8601 format. E.g. 2024-09-23T12:00:00Z. A send cannot be scheduled more than 72 hours in advance. |
| Reply To | Type: OBJECTReply to details. If left empty ‘Reply To’ settings will be taken from the ‘From’ field values. |
| Categories | Type: STRINGCategories for the email. Accepts a single string or array of strings. |
| IP Pool | Type: STRINGSend email with an ip pool. |
| Group ID | Type: STRINGSpecify a Group ID |
Additional details for the Send Email With Dynamic Template Action
Usage
The Send Email With Dynamic Template Action can be used to send emails through SendGrid using SendGrid Dynamic Templates. The Dynamic Template you use must already exist in SendGrid. Use the Action field Dynamic Template Data to populate values in the Dynamic Template.
Contacts
SendGrid sends emails to the email addresses you specify, even if they are not listed as Contacts in SendGrid.
SendGrid API Key
Segment and SendGrid recommend that you define the SendGrid API key within a subuser account and the domain is authenticated under that same subuser account. The Send Email With Dynamic Template Action requires that the SendGrid API Key has the following scopes assigned:
- Category Management: full
- IP Management: full
- Template Engine: full
Additional details for the Upsert Contact Action
Recording Custom User Traits
If you want to view any other custom user traits in the Marketing Campaigns list dashboard, you must create a Custom Field inside Marketing Campaigns’s UI of the traits in your identify calls. Note that you do not need to map all user.traits you are sending inside Marketing Campaigns. You only need to create Custom Fields of the traits you want to see in your list view.
Custom Fields
To send custom fields/user traits to Marketing Campaigns you need to create the field first in Marketing Campaigns for each trait you want sent to Marketing Campaigns. Then when you call identify with keys that match those traits they will appear in your Marketing Campaigns list.
For any other custom traits just add a Custom Field inside of SendGrid with a tag that matches the key you are using in your identify call.
Recording userId
To record a Segment userId in SendGrid, you must pass the userID as a trait on your identify() calls. SendGrid does not automatically map the Segment userID to any Marketing Campaigns properties.
SendGrid API Key
The Upsert Contact Action requires the SendGrid API Key to have the following scopes:
- Marketing: full
This page was last modified: 13 May 2025
Need support?
Questions? Problems? Need more info? Contact Segment Support for assistance!