when Customer.io is the right move.
Customer.io is a strong fit for teams that want customer.io teams with subscriber data, campaigns, and automation branches that need a migration report before rebuild. The migration risk is rarely the CSV — it is the automation graph: triggers, delays, branches, template references, and consent state. mailexodus puts a portable schema in the middle so those objects are inspected before they become Customer.io objects.
// inboundwhat Customer.io receives.
- +subscribers
- +segments
- +suppressions
- +campaigns
- ?segments
- ?campaigns
- xlists
- xtags
- xcustom fields
- xtemplates
- xautomations
Automated adapter
Customers map to subscribers and attributes. Broadcasts and newsletters map to campaigns. Campaign email actions map to automation emails. Transactional messages map to templates
Customer.io can receive people, manual segments, suppression state, and newsletter-style campaign content through exposed APIs. Full journey campaign graphs and transactional template resources are not exposed as clean create/import surfaces; rebuild those in Customer.io after import. Dry-run the report first, then approve writes when the counts and destination gaps look right.
plan the move to Customer.io.
- Authenticate your sending domain in Customer.io (SPF, DKIM, DMARC) and plan a warmup window — sender reputation is earned here, it does not transfer.
- Bring consent and suppression state across first, so unsubscribes and bounces are honored from the first send in Customer.io.
- QA migrated templates and segments inside Customer.io, and send seed tests before any live campaign.
- Keep your current platform active until in-flight automations finish and Customer.io is warmed and trusted.
start with the route playbook.
The agent prompt returns a route report with source exports, destination imports, skipped objects, and manual-review tasks. When it looks right, wire credentials and approve writes from a controlled machine.
destination coverage
npx mailexodus@latest info customer-io
agent playbook
Ask mailexodus for a migration_playbook with to=customer-io
Use mailexodus skill: your source → Customer.io playbook