ActionCustomer.ioUpdated September 2026

How do I push a custom event to Customer.io?

Short answer: You can track custom event in Customer.io by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Customer.io Track Custom Event action to a workflow, map its 3 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.

Track Custom Event in Customer.io — start free
Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Customer Identifier
identifier
stringRequiredCustomer Identifier. e.g. "user@example.com"
Event Name
name
stringRequiredEvent Name. Example: purchase_completed
Event Data (JSON)
data
stringOptionalCustom data attached to the event
Sample request
{
"identifier": "user@example.com",
"name": "e.g. purchase_completed",
"data": "{\"product\": \"Pro Plan\", \"amount\": 99}"
}
Returns
{
"success": true
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Track Custom Event.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Track Custom Event.

What does the Track Custom Event action do in Customer.io?
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".
What inputs does Track Custom Event require?
Required: Customer Identifier, Event Name. 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 run history shows the failed step with its input and the error message Customer.io returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Track Custom Event support batch operations?
Run Track Custom Event inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within Customer.io's rate limits.
More actions

Other Customer.io actions.

Track Custom Event in Customer.io — start free