Short answer: Drop the "Customer.io → Send Transactional Email" action anywhere in your workflow, map the inputs from upstream nodes, and publish.
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 |
{"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"}
{"queued_at": 1700000000,"delivery_id": "abc-123"}
Use these fields in downstream nodes for routing, logging, or error handling.
Any of these apps can fire this action as part of a workflow.
Triggered by anything in the catalog. Free tier available. No credit card.