Trigger Broadcast

customer_io.trigger_broadcast
ActionCRM & salesconnection required

Calls the Customer.io API with the connection's credentials.

Start an API-triggered broadcast and return the trigger id. The send itself runs asynchronously, so the id is what you poll.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Customer.io
Secret shape
{"site_id": "…", "api_key": "…", "app_api_key": "…"} — the Site ID and Track API key for the Track nodes, the App API key for the rest
Config it needs
region, workspace_id
Resolved by
config.connection_id, else node.connection_id

Configuration

9 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
broadcast_id
The broadcast's numeric id, from its page in the dashboard.
stringYes——42
data
Liquid data shared by every message in this send, as a JSON object.
objectNo———
recipients
An audience filter, as a JSON object, replacing the broadcast's own audience for this send.
objectNo———
emails
The email addresses to send to, as a JSON array. Each must already belong to a person; this cannot create one.
arrayNo—array of string—
ids
The person ids to send to, as a JSON array. Each must already exist; this cannot create one.
arrayNo—array of string—
per_user_data
One JSON object per recipient, each carrying an 'id' or 'email' and its own 'data' for Liquid.
arrayNo—array of object—
data_file_url
The URL of a newline-delimited JSON file of recipients and their data, optionally gzip-compressed.
stringNo———
email_ignore_missing
Skip addresses in 'emails' that match no person instead of failing the whole send.
booleanNofalse——
id_ignore_missing
Skip ids in 'ids' that match no person instead of failing the whole send.
booleanNofalse——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "broadcast_id": "42",
  "email_ignore_missing": false,
  "id_ignore_missing": false
}

Output

One shape.

result

FieldTypeExample
trigger_id
The id of this trigger, for polling its status.
number—
broadcast_id
The broadcast that was triggered.
number—
audience
Which audience the send used: 'default', or the name of the override that was supplied.
string—
status
Always 'queued'; the send had not run yet.
string—
{
  "audience": "",
  "broadcast_id": 0,
  "status": "",
  "trigger_id": 0
}

Notes

  • Customer.io limits this endpoint to one request every ten seconds, and only one audience override may be sent at a time.
  • The trigger id says nothing about delivery. Poll it with customer_io.get_broadcast_trigger_status, and read per-recipient problems from the broadcast's own errors in the dashboard.

See Trigger Broadcast run in a workflow.

In a technical demo we add the Customer.io connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.