- Integrations
- /
- Customer.io
- /
- Actions
- /
- Send Transactional Email
ActionCustomer.ioUpdated May 2026
How do I send a Customer.io transactional email?
Short answer: Drop the "Customer.io → Send Transactional Email" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
Inputs
The fields this action accepts.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Transactional Message ID transactional_message_id | string | Required | The ID of the transactional message template in Customer.io |
To Email to | string | Required | To Email. e.g. "user@example.com" |
Customer Email (identifier) identifiers_email | string | Required | Customer Email (identifier). e.g. "user@example.com" |
Template Data (JSON) message_data | string | Optional | Variables to populate the template |
Subject Override subject | string | Optional | Override the template subject |
Sample request
{"transactional_message_id": "e.g. 1","to": "user@example.com","identifiers_email": "user@example.com","message_data": "{\"name\": \"John\", \"order_id\": \"12345\"}","subject": "e.g. Your order #12345 is confirmed"}
Returns
{"queued_at": 1700000000,"delivery_id": "abc-123"}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Send Transactional Email.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Send Transactional Email.
What does the Send Transactional Email action do in Customer.io?
Fires a transactional template (designed in Customer.io UI) at a specific recipient with merge data. For "password reset, order confirmation, receipt" workflows where the email content is reviewed in CIO but the trigger is external.
What inputs does Send Transactional Email require?
Required: Transactional Message ID, To Email, Customer Email (identifier). Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Customer.io returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Send Transactional Email support batch operations?
Yes. Run Send Transactional Email inside a Loop node to process arrays. Tiny Command handles Customer.io's rate limits automatically so you don't have to throttle manually.
More actions
Other Customer.io actions.
Action
Delete Person
Hard-deletes the person and history. Irreversible — used for GDPR right-to-erasure compliance flows. For soft-removal use suppression list or unsubscribe.
ActionIdentify Person
Upserts person-level attributes (plan, country, signup_date, lifetime_value). The state update that drives segmentation and journey targeting. For "external state change → reflect in CIO for accurate audience filtering" sync.
ActionTrack Custom Event
Pushes a behavioural event into Customer.io's event store. Journeys and campaigns can trigger on these. The standard hook for "server-side action happened → fire CIO event to start the matching journey".
Send send transactional email from your workflows.
Triggered by anything in the catalog. Free tier available. No credit card.