Two-way sync
Changes in Autopilot or Customer.io instantly reflect in both systems. No stale data, no manual imports.
Keep Autopilot and Customer.io in sync without custom scripts. Cut weeks of integration work, eliminate silent data drift, and give your team a single, reliable source of truth.
Autopilot works on data it does not own. The records, conversations, tickets, messages, and events it needs to embed, classify, summarize, or answer questions about actually live in Customer.io, the tool the team uses every day. So the value of Autopilot depends on two flows that most teams stitch together with a custom script or a one-time export: getting Customer.io's data in, and getting the model's results back out to where people can act on them. When either flow runs on a batch or a stale snapshot, the model reasons over yesterday's data and its output never reaches the record it belongs to.
Stacksync syncs Broadcasts, Deliveries / Messages, Newsletters, People from Customer.io into Autopilot continuously, so the model always works from current records instead of a snapshot, and writes Journeys (Triggers), Activities, Contacts, Lists, the scores, labels, summaries, drafts, and embedding metadata Autopilot produces, back onto the matching record in Customer.io. The sync is field-level and keyed on a stable identifier, so every output attaches to the exact record it came from and each system keeps its own extra fields untouched.
You decide the direction and the trigger conditions per field: pull records one way to build and keep a retrieval corpus current, push results the other way onto the operational record, or both.
Records, tickets, messages, or events from Customer.io sync into Autopilot so they can be indexed, embedded, or retrieved as context, without a hand-built extraction job.
As records change in Customer.io, the synced copy in Autopilot updates within seconds, so retrieval and generation reason over live data rather than a stale export.
Categories, sentiment, priority, or scores produced by Autopilot write back onto the matching record in Customer.io, so the team acts on them in the tool they already use.
Representative objects on each side — any object or custom field can map to any target. Schemas are auto-detected; types are converted between the two systems.
| Autopilot objects | Customer.io objects | How this pairing syncs | |
|---|---|---|---|
| Smart Segments Rule-based dynamic audiences; membership is computed by Autopilot, so it is read-only over the API. | People Profiles with attributes, matched on identifiers like id or email; the main write target of data syncs. | Smart Segments is specific to Autopilot and People to Customer.io — each maps to any object or custom field on the other side. | |
| Journeys (Triggers) Automation journeys; a contact can be added to a journey via its trigger endpoint to start automated email or SMS sequences. | Objects Non-person entities such as accounts or companies, related to people for account-level messaging. | Journeys (Triggers) is specific to Autopilot and Objects to Customer.io — each maps to any object or custom field on the other side. | |
| Activities Per-contact activity and event history (opens, clicks, journey steps); read-only feed used for engagement reporting. | Events Behavioral events sent via the Track API that trigger campaigns. | Activities is specific to Autopilot and Events to Customer.io — each maps to any object or custom field on the other side. | |
| Contacts Core people records (email, name, custom fields, list and segment membership); upserted two-way as the primary sync object. | Segments Attribute- or event-based groups; data syncs feed the attributes segments evaluate. | Contacts is specific to Autopilot and Segments to Customer.io — each maps to any object or custom field on the other side. | |
| Lists Static contact lists; membership is readable per list and writable by adding or removing contacts. | Campaigns Automated workflows whose membership and metrics can be read via the App API. | Lists is specific to Autopilot and Campaigns to Customer.io — each maps to any object or custom field on the other side. | |
| Custom Fields User-defined contact properties (string, number, date, boolean); discovered so field keys map cleanly to destination columns. | Broadcasts One-off sends to segments or audiences, triggerable via API. | Custom Fields is specific to Autopilot and Broadcasts to Customer.io — each maps to any object or custom field on the other side. |
Each direction of the sync is driven by what the source system can signal and what the destination accepts — detection, delivery, and expected latency below.
DetectionStacksync polls Autopilot for changes on an incremental schedule, reading only records changed since the previous pass. No CDC.
DeliveryEach detected change is written to Customer.io through its API, with automatic retries and rate-limit backoff.
DetectionCustomer.io notifies Stacksync of record changes through webhook events. Reporting webhooks push message and delivery events.
DeliveryEach detected change is written to Autopilot through its API, with automatic retries and rate-limit backoff.
Real-time sync, workflow automation, event queues, EDI, and monitoring, for every Autopilot–Customer.io connection.
Changes in Autopilot or Customer.io instantly reflect in both systems. No stale data, no manual imports.
Trigger automated workflows whenever Autopilot or Customer.io data changes, update records, fire webhooks, or kick off sequences without brittle API scripts.
Handle millions of events per minute without losing a single Autopilot or Customer.io record.
Track your Autopilot ⇄ Customer.io sync health, view errors, and replay failed events in one click.
Transform legacy EDI complexity into simple database interactions between Autopilot and Customer.io.
Configure and sync within minutes, no code. Whether you sync 50k or 100M+ records, Stacksync handles the queues, infra, and plumbing. Integrations are non-invasive and need zero setup on your systems.
Authenticate Autopilot and Customer.io with each platform's native method — OAuth, API keys, or service accounts — plus secure options like SSH tunneling, IP whitelisting, and VPC peering.
Pick the Autopilot and Customer.io objects to sync — Stacksync auto-detects both schemas, including custom fields where the platform exposes them. Sync to existing tables, or let Stacksync create new ones with ideal data types.
Fields map automatically even when names and types differ. Stacksync handles transformation and type casting for you, zero configuration required.
Yes. Stacksync provides a managed, real-time two-way integration between Autopilot and Customer.io: authenticate both systems, choose the objects to sync (such as Autopilot's Smart Segments and Journeys (Triggers)), map fields visually, and changes propagate both ways in milliseconds — no code required.
Change detection on Autopilot: No CDC; incremental sync polls the /contacts endpoint with bookmark cursor pagination and updated timestamps. Journey webhook actions can push specific contact events, but there is no general change-subscription webhook, so polling is the reliable path. On Customer.io: Reporting webhooks push message and delivery events; person attribute changes are not streamed and require source-side detection. Each detected change propagates to the other side in milliseconds, with field-level conflict resolution and an inspectable event log.
On the Autopilot side: Journeys (Triggers), Activities, Contacts, Lists, plus custom fields where Autopilot exposes them. On the Customer.io side: Broadcasts, Deliveries / Messages, Newsletters, People. Stacksync auto-detects both schemas and converts types between the two systems.
Yes. Each object mapping can be bidirectional or restricted to a single direction (both systems accept writes). Read-only mirrors, one-way pushes, and full two-way sync can be mixed in the same integration.
Common patterns for Autopilot and Customer.io: Build a retrieval corpus from Customer.io's records; Keep the model's knowledge current; Where Autopilot classifies or scores: results land on the record. Records, tickets, messages, or events from Customer.io sync into Autopilot so they can be indexed, embedded, or retrieved as context, without a hand-built extraction job.
Autopilot: REST API (Autopilot v1); Autopilot rebranded to Ortto in 2021 and the newer Ortto API co-exists with the legacy Autopilot endpoints. Authentication: Per-account API key sent in the autopilotapikey request header (generated in account settings); requests use Content-Type application/json against https://api2.autopilothq.com/v1/. Customer.io: REST APIs split by purpose: Track API for data ingestion, App API for campaigns, people lookups, and messages. Authentication: Basic auth with site ID and API key for the Track API; bearer token for the App API. Stacksync manages authentication, retries, and rate limits on both sides.
As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.
Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.
Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.
Securely connects to your systems with:
Every pair below is a real-time, two-way sync. Search all 390 integrations available for Autopilot and Customer.io.