Use SendGrid in Sim to send transactional emails, work with dynamic templates and attachments, and manage marketing contacts and lists. The action reference also covers template and suppression-group operations.
Use the block
Send transactional emails with dynamic templates and attachments. Manage marketing contacts, lists, and email templates.
Actions
SendGrid Send Mail
Send an email using SendGrid API
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
from | string | Yes | Sender email address (must be verified in SendGrid) |
fromName | string | No | Sender name |
to | string | Yes | Recipient email address |
toName | string | No | Recipient name |
subject | string | No | Email subject (required unless using a template with pre-defined subject) |
content | string | No | Email body content (required unless using a template with pre-defined content) |
contentType | string | No | Content type (text/plain or text/html) |
cc | string | No | CC email address |
bcc | string | No | BCC email address |
replyTo | string | No | Reply-to email address |
replyToName | string | No | Reply-to name |
attachments | file[] | No | Files to attach to the email (UserFile objects) |
templateId | string | No | SendGrid template ID to use |
dynamicTemplateData | json | No | JSON object of dynamic template data |
Output
| Parameter | Type | Description |
|---|---|---|
success | boolean | Whether the email was sent successfully |
messageId | string | SendGrid message ID |
to | string | Recipient email address |
subject | string | Email subject |
SendGrid Add Contact
Add a new contact to SendGrid
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
email | string | Yes | Contact email address |
firstName | string | No | Contact first name |
lastName | string | No | Contact last name |
customFields | json | No | JSON object of custom field key-value pairs (use field IDs like e1_T, e2_N, e3_D, not field names) |
listIds | string | No | Comma-separated list IDs to add the contact to |
Output
| Parameter | Type | Description |
|---|---|---|
jobId | string | Job ID for tracking the async contact creation |
email | string | Contact email address |
firstName | string | Contact first name |
lastName | string | Contact last name |
message | string | Status message |
SendGrid Get Contact
Get a specific contact by ID from SendGrid
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
contactId | string | Yes | Contact ID |
Output
| Parameter | Type | Description |
|---|---|---|
id | string | Contact ID |
email | string | Contact email address |
firstName | string | Contact first name |
lastName | string | Contact last name |
createdAt | string | Creation timestamp |
updatedAt | string | Last update timestamp |
listIds | json | Array of list IDs the contact belongs to |
customFields | json | Custom field values |
SendGrid Search Contacts
Search for contacts in SendGrid using a query
Inputs and outputs
SendGrid Delete Contacts
Delete one or more contacts from SendGrid
Inputs and outputs
SendGrid Create List
Create a new contact list in SendGrid
Inputs and outputs
SendGrid Get List
Get a specific list by ID from SendGrid
Inputs and outputs
SendGrid List All Lists
Get all contact lists from SendGrid
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
pageSize | number | No | Number of lists to return per page (default: 100, max: 1000) |
pageToken | string | No | Page token from a previous response (nextPageToken) to fetch the next page |
Output
| Parameter | Type | Description |
|---|---|---|
lists | json | Array of lists |
nextPageToken | string | Token to pass as pageToken to fetch the next page, if more results exist |
SendGrid Delete List
Delete a contact list from SendGrid
Inputs and outputs
SendGrid Add Contacts to List
Add or update contacts and assign them to a list in SendGrid (uses PUT /v3/marketing/contacts)
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
listId | string | Yes | List ID to add contacts to |
contacts | json | Yes | JSON array of contact objects. Each contact must have at least: email (or phone_number_id/external_id/anonymous_id). Example: [{"email": "user@example.com", "first_name": "John"}] |
Output
| Parameter | Type | Description |
|---|---|---|
jobId | string | Job ID for tracking the async operation |
message | string | Status message |
SendGrid Remove Contacts from List
Remove contacts from a specific list in SendGrid
Inputs and outputs
SendGrid Create Template
Create a new email template in SendGrid
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
name | string | Yes | Template name |
generation | string | No | Template generation type (legacy or dynamic, default: dynamic) |
Output
| Parameter | Type | Description |
|---|---|---|
id | string | Template ID |
name | string | Template name |
generation | string | Template generation |
updatedAt | string | Last update timestamp |
versions | json | Array of template versions |
SendGrid Get Template
Get a specific template by ID from SendGrid
Inputs and outputs
SendGrid List Templates
Get all email templates from SendGrid
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
generations | string | No | Filter by generation (legacy, dynamic, or both) |
pageSize | number | No | Number of templates to return per page (default: 20, max: 200). When paginating with pageToken, pass the same pageSize used on the first request to keep page boundaries consistent. |
pageToken | string | No | Page token from a previous response (nextPageToken) to fetch the next page |
Output
| Parameter | Type | Description |
|---|---|---|
templates | json | Array of templates |
nextPageToken | string | Token to pass as pageToken to fetch the next page, if more results exist |
SendGrid Delete Template
Delete an email template from SendGrid
Inputs and outputs
SendGrid Create Template Version
Create a new version of an email template in SendGrid
Inputs and outputs
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | SendGrid API key |
templateId | string | Yes | Template ID |
name | string | Yes | Version name |
subject | string | Yes | Email subject line |
htmlContent | string | No | HTML content of the template |
plainContent | string | No | Plain text content of the template |
active | boolean | No | Whether this version is active (default: true) |
Output
| Parameter | Type | Description |
|---|---|---|
id | string | Version ID |
templateId | string | Template ID |
name | string | Version name |
subject | string | Email subject |
active | boolean | Whether this version is active |
htmlContent | string | HTML content |
plainContent | string | Plain text content |
updatedAt | string | Last update timestamp |