ActionCustomer.ioUpdated September 2026
How do I delete a Customer.io person?
Short answer: You can delete person in Customer.io by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Customer.io Delete Person action to a workflow, map its 1 input from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
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 |
|---|---|---|---|
Customer Identifier identifier | string | Required | Customer Identifier. e.g. "user@example.com" |
Sample request
{"identifier": "user@example.com"}
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 Delete Person.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Delete Person.
What does the Delete Person action do in Customer.io?
Hard-deletes the person and history. Irreversible — used for GDPR right-to-erasure compliance flows. For soft-removal use suppression list or unsubscribe.
What inputs does Delete Person require?
Required: Customer 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 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 Delete Person support batch operations?
Run Delete Person 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.
Action
Identify 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.
ActionSend Transactional Email
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.
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".