DocumentationWorkflowsApps and services
SendGrid node
Send transactional emails via SendGrid (Twilio), plain text and/or HTML content, CC/BCC, and reply-to. Learn how to configure it, map inputs and outputs, run a test and resolve common errors.
9 min readUpdated
What this node does
Send transactional emails via SendGrid (Twilio), plain text and/or HTML content, CC/BCC, and reply-to.
Use SendGrid as a clearly defined step in an anymize workflow.
- Processes one input.
- Provides one output for following steps.
- Runs as a regular step in the flow.
Set up the node
- 01Open a workflow and add SendGrid from the node catalog.
- 02Complete the required fields and map values from previous steps.
- 03Run the node with a small test record and inspect its output.
- 04Connect the successful output and activate the workflow after an end-to-end test.
Operations and modes
Choose the required function in Action. The panel then shows the relevant settings.
- Send email
Settings
| Field | Meaning | Area |
|---|---|---|
| SendGrid API key | Name of the workflow secret holding your SendGrid API key (Settings → API Keys, needs "Mail Send" permission). | Protected |
| Action | Choices: Send email | Standard |
| Data region | Choose the region of your SendGrid account. EU accounts use api.eu.sendgrid.com. | Standard |
| To | Recipient's email address. | Standard |
| Recipient name | Optional: the recipient's display name. | Standard |
| From | Sender address, must be a verified sender/domain in SendGrid. | Standard |
| Sender name | Optional: the sender's display name. | Standard |
| Subject | Configure this value in the node panel. | Standard |
| Text content | Plain-text body. At least text or HTML must be set. | Standard |
| HTML content | HTML body. At least text or HTML must be set. | Standard |
| CC | Optional: one extra CC address. | Standard |
| BCC | Optional: one extra BCC address. | Standard |
| Reply to | Optional: a different reply-to address. | Standard |
| Run once per item | Off (default): the node runs once for the whole input. On: if it receives several items (e.g. from Split Out), it runs once PER item, and {{ $json }} is that one item each time. This is how you work through a file list entry by entry. | Standard |
| If one item fails | "Skip" writes an `error` field for the failed item and keeps processing the rest, instead of losing the whole run to a single unreadable file. | Standard |
| Pause between items (milliseconds) | Wait before every run except the first. 1000 = 1 second per item. Useful when the other side would otherwise throttle you. Maximum 300000 (5 minutes). | Standard |
Inputs and outputs
| Input | Meaning | Type |
|---|---|---|
| Standard | Receives the complete result from the previous step. | JSON |
| Output | Meaning | Type |
|---|---|---|
| Standard | Makes the result available to the next step as JSON. | JSON |
This node can process lists item by item. Error handling and the delay between items are available in advanced settings.
Example and test run
Send an order confirmation after checkout: begin with a small, recognizable record. Inspect the output and only map fields that are present there.
Test-run example
{
"to": "kundin@example.com",
"to_name": "Anna Kundin",
"from": "bestellungen@deine-domain.de",
"from_name": "Dein Shop",
"subject": "Deine Bestellung #10432 ist bestätigt",
"text": "Hallo Anna, danke für deine Bestellung! Wir melden uns, sobald sie versendet wird.",
"html": "<p>Hallo Anna,</p><p>danke für deine Bestellung! Wir melden uns, sobald sie versendet wird.</p>"
}Access and security
Before activation, review which data enters this step and what its output contains.
Store keys and credentials in the protected connection manager. Never paste them into normal workflow fields, test data or descriptions.
Troubleshooting
- No output: inspect the latest run and confirm that the previous node returned the expected fields.
- Empty variable: open the previous step output and use a field name from the real test data.
- List processed once: enable per-item execution in advanced settings.