SendGrid
Marketing integration · 51 node(s) including 1 trigger.
00Overview
Send email through SendGrid from your flows — one-off messages or dynamic templates — and manage the audience around them: contacts, lists, segments, custom fields, suppressions and unsubscribe groups, plus templates, sender verification and delivery statistics. A webhook trigger can start a flow the moment an email is delivered, opened, clicked, bounced or unsubscribed.
Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.
01Connecting SendGrid
- In SendGrid, open Settings → API Keys (app.sendgrid.com → Settings → API Keys) and choose Create API Key.
- Give the key a name and either Full Access or a restricted key covering the areas you want to automate (Mail Send, Marketing, Suppressions, Templates, Stats). Copy the key straight away — SendGrid only shows it once.
- In Flomation, add the key as an environment secret (e.g.
sendgrid_api), then pick it in each node's API Key field. - Leave Region on Global unless your account uses an EU data-residency subuser, in which case choose EU.
- To send email, make sure the From Email you use is a verified sender or on an authenticated domain (Settings → Sender Authentication) — SendGrid rejects mail from unverified addresses.
| Field | Type | Details | |
|---|---|---|---|
| API Key | secret | Required | SendGrid API key (SendGrid → Settings → API Keys), e.g. ${secrets.sendgrid_api} |
| Region | string | Global unless your account uses an EU regional subuser — the EU host has no Marketing endpoints (contacts, lists, segments) — Global, EU (data residency) |
${secrets.your_secret}.02Asm
SendGrid: Create Unsubscribe Group
marketing/sendgrid/asm_group_create · Action
Create an unsubscribe (ASM) group in SendGrid. Recipients who opt out of a group stop receiving email assigned to that group without unsubscribing from everything. Provide a name and a short description.
| Field | Type | Details | |
|---|---|---|---|
| Name | string | Required | Weekly Digest — up to 30 characters, unique in your account |
| Description | string | What recipients see when choosing what to unsubscribe from — up to 100 characters; SendGrid requires one when creating a group | |
| Default Group | boolean | Tick to make this the default group for emails sent without an unsubscribe group | |
| Additional Fields (JSON) | object | Any other SendGrid field to include in the request body |
Returns: id, result, tool_result, success, error
SendGrid: Delete Unsubscribe Group
marketing/sendgrid/asm_group_delete · Action
Delete an unsubscribe (ASM) group from SendGrid. Emails can no longer be assigned to the group once it is gone.
| Field | Type | Details | |
|---|---|---|---|
| Unsubscribe Group | string | Required · ● live picker | The unsubscribe (ASM) group to delete |
Returns: id, result, tool_result, success, error
SendGrid: Get Unsubscribe Group
marketing/sendgrid/asm_group_get · Action
Retrieve a single unsubscribe (ASM) group from SendGrid, including its name, description, and how many recipients have unsubscribed from it.
| Field | Type | Details | |
|---|---|---|---|
| Unsubscribe Group | string | Required · ● live picker | The unsubscribe (ASM) group to retrieve |
Returns: id, result, tool_result, success, error
SendGrid: List Unsubscribe Groups
marketing/sendgrid/asm_group_list · Action
Retrieve all unsubscribe (ASM) groups in your SendGrid account, including each group's name, description, and unsubscribe count.
Returns: results, count, tool_result, success, error
SendGrid: Update Unsubscribe Group
marketing/sendgrid/asm_group_update · Action
Update an unsubscribe (ASM) group's name, description, or default setting in SendGrid. Only the fields you provide are changed.
| Field | Type | Details | |
|---|---|---|---|
| Unsubscribe Group | string | Required · ● live picker | The unsubscribe (ASM) group to update |
| Name | string | New group name — up to 30 characters, unique in your account | |
| Description | string | New description — what recipients see when choosing what to unsubscribe from, up to 100 characters | |
| Default Group | boolean | Tick to make this the default group for emails sent without an unsubscribe group | |
| Additional Fields (JSON) | object | Any other SendGrid field to include in the request body |
Returns: id, result, tool_result, success, error
SendGrid: Add Group Suppressions
marketing/sendgrid/asm_suppression_add · Action
Add one or more email addresses to a SendGrid unsubscribe (ASM) group so they stop receiving email assigned to that group. Separate multiple addresses with commas.
| Field | Type | Details | |
|---|---|---|---|
| Unsubscribe Group | string | Required · ● live picker | The unsubscribe (ASM) group to add the addresses to |
| Emails | string | Required | recipient@example.com — separate multiple addresses with commas |
| Additional Fields (JSON) | object | Any other SendGrid field to include in the request body |
Returns: id, result, tool_result, success, error
SendGrid: Delete Group Suppression
marketing/sendgrid/asm_suppression_delete · Action
Remove an email address from a SendGrid unsubscribe (ASM) group so it resumes receiving email assigned to that group.
| Field | Type | Details | |
|---|---|---|---|
| Unsubscribe Group | string | Required · ● live picker | The unsubscribe (ASM) group to remove the address from |
string | Required | recipient@example.com — the address to remove from the group |
Returns: id, result, tool_result, success, error
SendGrid: List Group Suppressions
marketing/sendgrid/asm_suppression_list · Action
Retrieve every email address suppressed in a SendGrid unsubscribe (ASM) group. Each result is an object with an email field, ready to loop over. Note: SendGrid applies new suppressions asynchronously, so a just-added address can take a few minutes to appear here.
| Field | Type | Details | |
|---|---|---|---|
| Unsubscribe Group | string | Required · ● live picker | The unsubscribe (ASM) group whose suppressed addresses to list |
Returns: results, count, tool_result, success, error
03Block
SendGrid: Delete Block
marketing/sendgrid/block_delete · Action
Remove addresses from your SendGrid block list so mail can be sent to them again. Provide a single Email, a comma-separated Emails list, or tick Delete All to clear the entire list.
| Field | Type | Details | |
|---|---|---|---|
string | A single address to remove — leave blank to use Emails or Delete All | ||
| Emails | string | Comma-separated addresses to remove in one go — cannot be combined with Delete All | |
| Delete All | boolean | Tick to clear the entire block list — cannot be combined with Emails |
Returns: id, result, tool_result, success, error
SendGrid: Get Block
marketing/sendgrid/block_get · Action
Look up a single email address on your SendGrid block list. If the address is not blocked, the action reports that no block was found.
| Field | Type | Details | |
|---|---|---|---|
string | Required | The address to look up, e.g. jane@example.com |
Returns: id, result, tool_result, success, error
SendGrid: List Blocks
marketing/sendgrid/block_list · Action
Retrieve the addresses on your SendGrid block list — emails the receiving server refused, for example because of an IP block or content filtering. Optionally narrow the list to a date range.
| Field | Type | Details | |
|---|---|---|---|
| Start Time | datetime | Only blocks created on or after this time, e.g. 2026-07-01T00:00:00Z | |
| End Time | datetime | Only blocks created on or before this time, e.g. 2026-07-08T23:59:59Z | |
| Limit | string | Max results to return (default 100) | |
| Return All | boolean | Tick to fetch every result page instead of just the first |
Returns: results, count, tool_result, success, error
04Bounce
SendGrid: Delete Bounce
marketing/sendgrid/bounce_delete · Action
Remove addresses from your SendGrid bounce list so mail can be sent to them again. Provide a single Email, a comma-separated Emails list, or tick Delete All to clear the entire list.
| Field | Type | Details | |
|---|---|---|---|
string | A single address to remove — leave blank to use Emails or Delete All | ||
| Emails | string | Comma-separated addresses to remove in one go — cannot be combined with Delete All | |
| Delete All | boolean | Tick to clear the entire bounce list — cannot be combined with Emails |
Returns: id, result, tool_result, success, error
SendGrid: Get Bounce
marketing/sendgrid/bounce_get · Action
Look up a single email address on your SendGrid bounce list. If the address has not bounced, the action reports that no bounce was found.
| Field | Type | Details | |
|---|---|---|---|
string | Required | The address to look up, e.g. jane@example.com |
Returns: id, result, tool_result, success, error
SendGrid: List Bounces
marketing/sendgrid/bounce_list · Action
Retrieve the addresses on your SendGrid bounce list — emails that were rejected by the recipient's mail server. Optionally narrow the list to a date range.
| Field | Type | Details | |
|---|---|---|---|
| Start Time | datetime | Only bounces created on or after this time, e.g. 2026-07-01T00:00:00Z | |
| End Time | datetime | Only bounces created on or before this time, e.g. 2026-07-08T23:59:59Z | |
| Limit | string | Max results to return (default 100) | |
| Return All | boolean | Tick to fetch every result page instead of just the first |
Returns: results, count, tool_result, success, error
05Contact
SendGrid: Count Contacts
marketing/sendgrid/contact_count · Action
Return the total number of marketing contacts in your SendGrid account, along with the billable contact count.
Returns: id, result, tool_result, success, error
SendGrid: Delete Contacts
marketing/sendgrid/contact_delete · Action
Delete marketing contacts from SendGrid, either by a list of contact IDs or every contact in the account. SendGrid deletes asynchronously and returns a job ID — poll "SendGrid: Get Import Status" with the job ID to see when it completes.
| Field | Type | Details | |
|---|---|---|---|
| Contact IDs | string | Comma-separated SendGrid contact IDs to delete — leave blank when deleting all contacts | |
| Delete All Contacts | boolean | Tick to delete EVERY contact in the account — leave Contact IDs blank when ticked |
Returns: id, result, tool_result, success, error
SendGrid: Get Contact
marketing/sendgrid/contact_get · Action
Look up a single marketing contact by its SendGrid contact ID and return the full contact record. To find a contact by email address instead, use "SendGrid: Get Contact by Email".
| Field | Type | Details | |
|---|---|---|---|
| Contact ID | string | Required | The SendGrid contact ID to look up |
Returns: id, result, tool_result, success, error
SendGrid: Get Contact by Email
marketing/sendgrid/contact_get_by_email · Action
Look up a single marketing contact by email address (primary or alternate) and return the full contact record. Note that a contact added moments ago may not be found yet — SendGrid applies contact changes asynchronously.
| Field | Type | Details | |
|---|---|---|---|
string | Required | jane@example.com — the address to look up |
Returns: id, result, tool_result, success, error
SendGrid: Get Import Status
marketing/sendgrid/contact_import_status · Action
Check the progress of an asynchronous contact job — the job ID returned by "SendGrid: Create or Update Contact" or "SendGrid: Delete Contacts". The status is pending, completed, errored, or failed, with counts of what was processed and a link to any error details.
| Field | Type | Details | |
|---|---|---|---|
| Job ID | string | Required | The job ID returned by a contact create/update or delete |
Returns: id, result, tool_result, success, error
SendGrid: List Recent Contacts
marketing/sendgrid/contact_list · Action
Retrieve a sample of up to 50 most recently updated marketing contacts. SendGrid does not offer a way to page through every contact here — use "SendGrid: Search Contacts" to find specific contacts, or "SendGrid: Count Contacts" for the account total.
Returns: results, count, tool_result, success, error
SendGrid: Search Contacts
marketing/sendgrid/contact_search · Action
Search your marketing contacts with a SendGrid query (SGQL), e.g. email LIKE 'jane%' AND CONTAINS(list_ids, 'your-list-id'). SendGrid returns at most the first 50 matches; the count output reports the total number matched. Emails are stored lower-case, so compare against lower-case addresses.
| Field | Type | Details | |
|---|---|---|---|
| Query (SGQL) | text | Required | email LIKE 'jane%' AND CONTAINS(list_ids, 'your-list-id') |
Returns: results, count, tool_result, success, error
SendGrid: Create or Update Contact
marketing/sendgrid/contact_upsert · Action
Add a marketing contact to SendGrid, or update them if the email address already exists. SendGrid applies the change asynchronously and returns a job ID — the contact will not be visible immediately; poll "SendGrid: Get Import Status" with the job ID to see when it completes.
| Field | Type | Details | |
|---|---|---|---|
string | Required | jane@example.com — identifies the contact; an existing contact with this address is updated | |
| First Name | string | Jane | |
| Last Name | string | Doe | |
| Alternate Emails | string | Comma-separated additional addresses for this contact (up to 5) | |
| Phone Number (E.164) | string | +441234567890 — stored as the contact's Phone Number ID, an additional SendGrid contact identifier | |
| Address Line 1 | string | 1 High Street | |
| Address Line 2 | string | Suite 4 | |
| City | string | London | |
| State / Province / Region | string | Greater London | |
| Postal Code | string | SW1A 1AA | |
| Country | string | United Kingdom | |
| Custom Fields (JSON) | object | {"e1_T":"VIP"} — keyed by custom field ID (not name); use "SendGrid: List Custom Fields" to find the IDs | |
| List IDs | string | Comma-separated marketing list IDs to add the contact to | |
| Additional Fields (JSON) | object | Any other SendGrid contact field, e.g. {"external_id":"crm-123"} |
Returns: id, result, tool_result, success, error
06Custom
SendGrid: List Custom Fields
marketing/sendgrid/custom_field_list · Action
List the custom field definitions in your SendGrid Marketing account. Use each field's ID (for example e1_T) as the key when setting custom field values on a contact. Optionally include SendGrid's built-in reserved fields too.
| Field | Type | Details | |
|---|---|---|---|
| Include Reserved Fields | boolean | Tick to also return SendGrid's built-in reserved fields (first_name, email, ...) alongside your custom fields |
Returns: results, count, tool_result, success, error
07Global
SendGrid: Add Global Unsubscribes
marketing/sendgrid/global_unsubscribe_add · Action
Add one or more email addresses to SendGrid's global unsubscribe list so they stop receiving all email from your account. Separate multiple addresses with commas.
| Field | Type | Details | |
|---|---|---|---|
| Emails | string | Required | recipient@example.com — separate multiple addresses with commas |
| Additional Fields (JSON) | object | Any other SendGrid field to include in the request body |
Returns: id, result, tool_result, success, error
SendGrid: Check Global Unsubscribe
marketing/sendgrid/global_unsubscribe_check · Action
Check whether an email address is on SendGrid's global unsubscribe list. Returns a clear yes or no — an address that is not on the list is a normal result, not an error.
| Field | Type | Details | |
|---|---|---|---|
string | Required | recipient@example.com — the address to check |
Returns: id, result, tool_result, success, error
SendGrid: Delete Global Unsubscribe
marketing/sendgrid/global_unsubscribe_delete · Action
Remove an email address from SendGrid's global unsubscribe list so it can receive email from your account again.
| Field | Type | Details | |
|---|---|---|---|
string | Required | recipient@example.com — the address to remove from the global unsubscribe list |
Returns: id, result, tool_result, success, error
08Invalid
SendGrid: Delete Invalid Email
marketing/sendgrid/invalid_email_delete · Action
Remove addresses from your SendGrid invalid email list so delivery can be attempted again. Provide a single Email, a comma-separated Emails list, or tick Delete All to clear the entire list.
| Field | Type | Details | |
|---|---|---|---|
string | A single address to remove — leave blank to use Emails or Delete All | ||
| Emails | string | Comma-separated addresses to remove in one go — cannot be combined with Delete All | |
| Delete All | boolean | Tick to clear the entire invalid email list — cannot be combined with Emails |
Returns: id, result, tool_result, success, error
SendGrid: Get Invalid Email
marketing/sendgrid/invalid_email_get · Action
Look up a single email address on your SendGrid invalid email list. If the address is not on the list, the action reports that no invalid email was found.
| Field | Type | Details | |
|---|---|---|---|
string | Required | The address to look up, e.g. jane@example.com |
Returns: id, result, tool_result, success, error
SendGrid: List Invalid Emails
marketing/sendgrid/invalid_email_list · Action
Retrieve the addresses on your SendGrid invalid email list — addresses that could not be delivered because they are malformed or the mailbox does not exist. Optionally narrow the list to a date range.
| Field | Type | Details | |
|---|---|---|---|
| Start Time | datetime | Only invalid email entries created on or after this time, e.g. 2026-07-01T00:00:00Z | |
| End Time | datetime | Only invalid email entries created on or before this time, e.g. 2026-07-08T23:59:59Z | |
| Limit | string | Max results to return (default 100) | |
| Return All | boolean | Tick to fetch every result page instead of just the first |
Returns: results, count, tool_result, success, error
09List
SendGrid: Create Contact List
marketing/sendgrid/list_create · Action
Create a new contact list in SendGrid Marketing. Give the list a name (it must be unique in your account) — you can then add contacts to it with the contact actions.
| Field | Type | Details | |
|---|---|---|---|
| Name | string | Required | The list's name — must be unique in your account |
| Additional Fields (JSON) | object | Any other SendGrid list field as JSON, e.g. {"key":"value"} |
Returns: id, result, tool_result, success, error
SendGrid: Delete Contact List
marketing/sendgrid/list_delete · Action
Delete a contact list from SendGrid Marketing, optionally deleting its contacts too. The contacts survive unless you tick Also Delete Contacts; when they are deleted SendGrid processes the removal in the background and returns a job ID.
| Field | Type | Details | |
|---|---|---|---|
| List | string | Required · ● live picker | The contact list to delete — see "SendGrid: List Contact Lists" |
| Also Delete Contacts | boolean | Tick to also delete the list's contacts from your account, not just the list itself |
Returns: id, result, tool_result, success, error
SendGrid: Get Contact List
marketing/sendgrid/list_get · Action
Look up one contact list in SendGrid Marketing — its name and how many contacts it holds, optionally with a sample of up to 50 of its contacts.
| Field | Type | Details | |
|---|---|---|---|
| List | string | Required · ● live picker | The contact list to fetch — see "SendGrid: List Contact Lists" |
| Include Contact Sample | boolean | Tick to also return a sample of up to 50 of the list's contacts |
Returns: id, result, tool_result, success, error
SendGrid: List Contact Lists
marketing/sendgrid/list_get_all · Action
List the contact lists in your SendGrid Marketing account, with each list's name and contact count.
| Field | Type | Details | |
|---|---|---|---|
| Limit | string | Max results (default 100) | |
| Return All | boolean | Return every list (ignores Limit) |
Returns: results, count, tool_result, success, error
SendGrid: Remove Contacts from List
marketing/sendgrid/list_remove_contacts · Action
Remove contacts from a SendGrid Marketing list without deleting them — they stay in your account and in any other lists. SendGrid processes the removal in the background and returns a job ID.
| Field | Type | Details | |
|---|---|---|---|
| List | string | Required · ● live picker | The contact list to remove contacts from — see "SendGrid: List Contact Lists" |
| Contact IDs | string | Required | Comma-separated contact IDs to remove from the list |
Returns: id, result, tool_result, success, error
SendGrid: Update Contact List
marketing/sendgrid/list_update · Action
Rename a contact list in SendGrid Marketing. Choose the list and provide its new name.
| Field | Type | Details | |
|---|---|---|---|
| List | string | Required · ● live picker | The contact list to rename — see "SendGrid: List Contact Lists" |
| New Name | string | Required | The list's new name — must be unique in your account |
| Additional Fields (JSON) | object | Any other SendGrid list field as JSON, e.g. {"key":"value"} |
Returns: id, result, tool_result, success, error
10Mail
SendGrid: Send Email
marketing/sendgrid/mail_send · Action
Send an email through SendGrid. Provide a verified From address and one or more recipients, then either write the subject and content directly or send a dynamic template. SendGrid accepts the message for delivery and returns its message ID.
| Field | Type | Details | |
|---|---|---|---|
| From Email | string | Required | sender@yourdomain.com — must be a verified sender or an address on your authenticated domain |
| From Name | string | Jane at Acme | |
| To | string | Required | recipient@example.com — separate multiple addresses with commas |
| Cc | string | Comma-separated — SendGrid rejects an address that appears more than once across To, Cc, and Bcc | |
| Bcc | string | Comma-separated — SendGrid rejects an address that appears more than once across To, Cc, and Bcc | |
| Reply To | string | Comma-separated addresses replies should go to | |
| Use Template | boolean | Tick to send a dynamic template instead of writing the subject and content here | |
| Subject | string | The email subject line | |
| Content Type | string | HTML unless you choose plain text — choices: HTML, Plain Text | |
| Content | text | The email body — HTML or plain text to match the Content Type | |
| Template | string | ● live picker | The dynamic template to send (d-...) — see "SendGrid: List Templates" |
| Template Data (JSON) | object | {"first_name":"Jane"} — values for the template's {{handlebars}} | |
| Send At | datetime | Schedule delivery up to 72 hours ahead, e.g. 2026-07-10T09:00:00Z | |
| Categories | string | Comma-separated category names (up to 10) for filtering your email stats | |
| Unsubscribe Group | string | ● live picker | The unsubscribe (ASM) group this email belongs to |
| Sandbox Mode | boolean | Tick to validate the message without sending it (nothing is delivered or billed) | |
| Attachments (JSON) | object | [{"content":"<base64>","filename":"report.pdf","type":"application/pdf","disposition":"attachment"}] | |
| Custom Args (JSON) | object | {"order_id":"12345"} — passed through to event webhook events | |
| Additional Fields (JSON) | object | Any other SendGrid mail field, e.g. {"ip_pool_name":"marketing"} |
Returns: id, result, tool_result, success, error
11Segment
SendGrid: Get Segment
marketing/sendgrid/segment_get · Action
Look up one segment in SendGrid Marketing — its query, contact count, and a sample of the contacts currently in it.
| Field | Type | Details | |
|---|---|---|---|
| Segment | string | Required · ● live picker | The segment to fetch — see "SendGrid: List Segments" |
Returns: id, result, tool_result, success, error
SendGrid: List Segments
marketing/sendgrid/segment_list · Action
List the segments in your SendGrid Marketing account — the dynamic groups of contacts defined by a query. Optionally only return segments attached to specific parent lists.
| Field | Type | Details | |
|---|---|---|---|
| Parent Lists | string | Comma-separated list IDs — only return segments attached to these lists |
Returns: results, count, tool_result, success, error
12Sender
SendGrid: List Verified Senders
marketing/sendgrid/sender_list · Action
Retrieve the verified single senders on your SendGrid account — the From addresses you can send from. A domain you have authenticated additionally allows any From address on that domain.
| Field | Type | Details | |
|---|---|---|---|
| Limit | string | Max results — leave blank for all senders |
Returns: results, count, tool_result, success, error
13Spam
SendGrid: Delete Spam Report
marketing/sendgrid/spam_report_delete · Action
Remove addresses from your SendGrid spam report list so mail can be sent to them again. Provide a single Email, a comma-separated Emails list, or tick Delete All to clear the entire list.
| Field | Type | Details | |
|---|---|---|---|
string | A single address to remove — leave blank to use Emails or Delete All | ||
| Emails | string | Comma-separated addresses to remove in one go — cannot be combined with Delete All | |
| Delete All | boolean | Tick to clear the entire spam report list — cannot be combined with Emails |
Returns: id, result, tool_result, success, error
SendGrid: Get Spam Report
marketing/sendgrid/spam_report_get · Action
Look up a single email address on your SendGrid spam report list. If the address has not reported your email as spam, the action reports that no spam report was found.
| Field | Type | Details | |
|---|---|---|---|
string | Required | The address to look up, e.g. jane@example.com |
Returns: id, result, tool_result, success, error
SendGrid: List Spam Reports
marketing/sendgrid/spam_report_list · Action
Retrieve the addresses on your SendGrid spam report list — recipients who marked your email as spam. Optionally narrow the list to a date range.
| Field | Type | Details | |
|---|---|---|---|
| Start Time | datetime | Only spam reports created on or after this time, e.g. 2026-07-01T00:00:00Z | |
| End Time | datetime | Only spam reports created on or before this time, e.g. 2026-07-08T23:59:59Z | |
| Limit | string | Max results to return (default 100) | |
| Return All | boolean | Tick to fetch every result page instead of just the first |
Returns: results, count, tool_result, success, error
14Stats
SendGrid: Get Stats
marketing/sendgrid/stats_get · Action
Retrieve your SendGrid email statistics — requests, delivered, opens, clicks, bounces, and more — for a date range, optionally aggregated by day, week, or month. Dates use YYYY-MM-DD format.
| Field | Type | Details | |
|---|---|---|---|
| Start Date | string | Required | 2026-01-31 |
| End Date | string | 2026-01-31 — defaults to today | |
| Aggregated By | string | How to bucket the statistics — by day unless you choose otherwise — choices: Day, Week, Month |
Returns: results, count, tool_result, success, error
15Template
SendGrid: Create Template
marketing/sendgrid/template_create · Action
Create a new dynamic transactional template in SendGrid. A template starts with no content — add a subject and body with "SendGrid: Create Template Version", then send it with "SendGrid: Send Email".
| Field | Type | Details | |
|---|---|---|---|
| Name | string | Required | A name for the template, e.g. Order Confirmation |
| Additional Fields (JSON) | object | Any other SendGrid template field, e.g. {"generation":"legacy"} |
Returns: id, result, tool_result, success, error
SendGrid: Delete Template
marketing/sendgrid/template_delete · Action
Permanently delete a transactional template from SendGrid, including all of its versions. This cannot be undone.
| Field | Type | Details | |
|---|---|---|---|
| Template | string | Required · ● live picker | The template to delete — see "SendGrid: List Templates" |
Returns: id, result, tool_result, success, error
SendGrid: Get Template
marketing/sendgrid/template_get · Action
Look up a single transactional template in SendGrid, including every version of the template.
| Field | Type | Details | |
|---|---|---|---|
| Template | string | Required · ● live picker | The template to retrieve — see "SendGrid: List Templates" |
Returns: id, result, tool_result, success, error
SendGrid: List Templates
marketing/sendgrid/template_list · Action
Retrieve the transactional templates on your SendGrid account. Shows dynamic (handlebars) templates unless you also ask for legacy ones; tick Return All to fetch every page.
| Field | Type | Details | |
|---|---|---|---|
| Generations | string | Dynamic unless you also need your legacy templates — choices: Dynamic, Legacy, Legacy and Dynamic | |
| Limit | string | Max results (default 100, up to 200 per page) | |
| Return All | boolean | Tick to fetch every page of templates |
Returns: results, count, tool_result, success, error
SendGrid: Update Template
marketing/sendgrid/template_update · Action
Rename a transactional template in SendGrid. The template's versions and content are unchanged.
| Field | Type | Details | |
|---|---|---|---|
| Template | string | Required · ● live picker | The template to rename — see "SendGrid: List Templates" |
| Name | string | Required | The new name for the template |
| Additional Fields (JSON) | object | Any other SendGrid template field to update |
Returns: id, result, tool_result, success, error
SendGrid: Activate Template Version
marketing/sendgrid/template_version_activate · Action
Make a specific version of a SendGrid transactional template the active one — the version that is used whenever the template is sent.
| Field | Type | Details | |
|---|---|---|---|
| Template | string | Required · ● live picker | The template the version belongs to — see "SendGrid: List Templates" |
| Version ID | string | Required | The version to activate — see "SendGrid: Get Template" for the template's versions |
Returns: id, result, tool_result, success, error
SendGrid: Create Template Version
marketing/sendgrid/template_version_create · Action
Add a new version to a SendGrid transactional template. Provide the subject and HTML content, and tick Active to make this the version that is sent.
| Field | Type | Details | |
|---|---|---|---|
| Template | string | Required · ● live picker | The template to add a version to — see "SendGrid: List Templates" |
| Name | string | Required | A name for this version, e.g. July redesign |
| Subject | string | The email subject line — {{handlebars}} are substituted at send time | |
| HTML Content | text | The HTML body of the email — {{handlebars}} are substituted at send time | |
| Plain Text Content | text | The plain-text body — leave blank to have SendGrid generate it from the HTML | |
| Generate Plain Text | boolean | Tick to have SendGrid regenerate the plain-text body from the HTML content | |
| Active | boolean | Tick to make this the active version — the one used when the template is sent | |
| Additional Fields (JSON) | object | Any other SendGrid version field, e.g. {"test_data":"{\"first_name\":\"Jane\"}"} |
Returns: id, result, tool_result, success, error
16Triggers
SendGrid Webhook Trigger
trigger/sendgrid_webhook · Trigger
Triggers a flow when SendGrid reports an email event — delivered, bounced, opened, clicked, marked as spam, unsubscribed, and more. The event webhook is registered with SendGrid automatically and signed-event verification is enabled.
| Field | Type | Details | |
|---|---|---|---|
| Events | multi_select | Events to fire on (leave empty for all). Recommended: Delivered, Bounced, Opened, Link Clicked, Marked as Spam, Unsubscribed — choices: Processed (accepted by SendGrid), Delivered, Deferred (temporarily rejected), Bounced, Blocked, Dropped (not sent), Opened, Link Clicked, Marked as Spam, Unsubscribed, Group Unsubscribed, Group Resubscribed |
Returns: content, event, email, timestamp, sg_message_id, sg_event_id, sg_machine_open, type, reason, status, response, attempt, category, url, useragent, ip, tls, body
17Notes & Limitations
Behaviours and constraints worth knowing before you build with these nodes.
- Marketing contact changes — adding, updating and deleting contacts — are applied asynchronously, so a contact will not appear immediately; the action returns a job ID you can poll with
SendGrid: Get Import Statusto confirm the change completed. - The EU data-residency region does not offer the Marketing endpoints, so contact, list, and segment actions are only available when the account's region is Global.
- Sending email requires a From address that is a verified single sender, or any address on a domain you have authenticated; other From addresses are rejected.
- Searches and email lookups may not immediately reflect recently imported contacts, because SendGrid applies contact changes asynchronously, and since addresses are stored in lower case your search queries should compare against lower-case values.
- Listing contacts returns only a sample of up to 50 recently updated records and a search returns at most 50 matches, so rely on a search query or the reported total count rather than expecting the full set of contacts.
- Across the bounce, block, spam-report, invalid-email, and global-unsubscribe lookups, an address that is not on the list returns a clear negative result rather than an error, so treat 'not found' as normal data.