Customer.io
Turn orders and customer changes into the right Customer.io audiences and campaigns, with a person approving what goes out.
60 ways to read, 4 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Customer.io, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create manual segment
segments.createApproval by rule - Send transactional email
transactional_emails.sendApproval by rule - Get reporting webhook
reporting_webhooks.getRead
Example flow
- Customer.io · Get reporting webhook
reporting_webhooks.getDone - Customer.io · Create manual segment
segments.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Customer.io.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Customer.io
- Customer.io's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Search people and objects and read profiles, segments, automations, broadcasts, one-time sends, deliveries, metrics and activity in Customer.io; create manual segments and send transactional messages.
Customer.io API docs- Source actions
- 60
- Destination actions
- 4
- Data types
- 50
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
activities1
- List activitiesSource
Workspace activity log (events, attribute changes, deliveries, page views).
broadcast action metrics1
- Get broadcast action metricsSource
Delivery metric series for one broadcast action.
broadcast actions2
- Get broadcast actionSource
One action in an API-triggered broadcast (metadata only).
- List broadcast actionsSource
Messages and other actions in an API-triggered broadcast (metadata only).
broadcast link metrics1
- List broadcast link clicksSource
Click series per tracked link in a broadcast.
broadcast messages1
- List broadcast deliveriesSourceIncremental
Delivery metadata for a broadcast's messages.
broadcast metrics1
- Get broadcast metricsSource
Delivery metric series for a broadcast.
broadcast triggers2
- Get broadcast trigger statusSource
Processing state of one broadcast trigger run (read-only).
- List broadcast trigger runsSource
Past API triggers of a broadcast with their processing state (read-only).
broadcasts2
- Get broadcastSource
An API-triggered broadcast.
- List API-triggered broadcastsSource
API-triggered broadcasts with state and actions (read-only).
campaign action metrics1
- Get automation action metricsSource
Delivery metric series for one automation action over an explicit window (version 2).
campaign actions2
- Get automation actionSource
One message or other action in an automation (metadata; message bodies are not returned).
- List automation actionsSource
Messages and other actions in an automation (10 per page).
campaign journey metrics1
- Get automation journey metricsSource
People who started, activated, were messaged, converted, exited early or finished an automation, per period.
campaign link metrics1
- List automation link clicksSource
Click series per tracked link in an automation.
campaign messages1
- List automation deliveriesSourceIncremental
Delivery metadata for an automation's messages, with per-delivery metric timestamps.
campaign metrics1
- Get automation metricsSource
Delivery metric series for an automation over an explicit window (version 2).
campaigns2
- Get automationSource
An automation with trigger, state and actions.
- List automationsSource
Automations (campaigns) with trigger type, state and actions.
collections1
- List collectionsSource
Data collections used in message personalisation (metadata only).
customer activities1
- List a person's activitiesSource
Activity log entries (events, attribute changes, deliveries) for a person.
customer messages1
- List a person's messagesSourceIncremental
Deliveries sent to a person with per-delivery metric timestamps.
customer profiles1
- Get people in bulkSource
Attributes and devices for up to 100 people by identifier.
customer relationships1
- List a person's object relationshipsSource
Objects (companies, accounts...) a person is related to, with relationship attributes.
customer segments1
- List a person's segmentsSource
Segments the person currently belongs to.
customers by email1
- Find people by emailSource
People whose email address matches exactly.
customers2
- Get personSource
A person's attributes, attribute timestamps, unsubscribe flag and devices.
- Search peopleSource
Find people by segment membership and attribute conditions (all conditions must match).
messages2
- Get messageSource
A single delivery with metrics.
- List messagesSourceIncremental
Deliveries across the workspace with per-delivery metric timestamps.
newsletter content metrics1
- Get one-time send variant metricsSource
Delivery metric series for one language or A/B variant of a one-time send.
newsletter contents1
- List one-time send variantsSource
Language and A/B test variants of a one-time send (metadata; bodies are not returned).
newsletter link metrics1
- List one-time send link clicksSource
Click series per tracked link in a one-time send.
newsletter messages1
- List one-time send deliveriesSourceIncremental
Delivery metadata for a one-time send.
newsletter metrics1
- Get one-time send metricsSource
Delivery metric series for a one-time send.
newsletter test groups1
- List one-time send A/B test groupsSource
A/B test groups of a one-time send with their variants and winner flag.
newsletters2
- Get one-time sendSource
A one-time send (newsletter).
- List one-time sendsSource
One-time sends (newsletters) with send state and schedule.
object relationships1
- List an object's related peopleSource
People related to an object.
object types1
- List object typesSource
Custom object types (for example companies or accounts) in the workspace.
objects2
- Get objectSource
An object's attributes and attribute timestamps.
- Search objectsSource
Find objects of one type by an attribute condition.
reporting webhooks2
- Get reporting webhookSource
One reporting webhook (endpoint query strings are removed).
- List reporting webhooksSource
Reporting webhooks with subscribed events (endpoint query strings are removed).
segment counts1
- Get segment sizeSource
Number of people currently in a segment.
segment dependencies1
- Get segment usageSource
Automations and one-time sends that use a segment.
segment members1
- List segment membersSource
People in a segment.
segments3
- Create manual segmentDestinationNot retried automaticallyApproval before production
Creates an empty manual segment.
- Get segmentSource
A segment with its conditions and build state.
- List segmentsSource
Dynamic and manual segments (archived segments are excluded).
sender identities2
- Get sender identitySource
One email or phone sender identity.
- List sender identitiesSource
Email and phone sender identities available to messages.
subscription preferences1
- Get subscription preferencesSource
A person's subscription topics with subscribed state and the global unsubscribe flag (read-only).
subscription topics1
- List subscription topicsSource
Subscription center topics with their default subscription state.
transactional deliveries1
- List transactional deliveriesSourceIncremental
Delivery metadata for a transactional message.
transactional emails1
- Send transactional emailDestinationNot retried automaticallyApproval before production
Sends a transactional email template to one person.
transactional link metrics1
- List transactional link clicksSource
Click series per tracked link in a transactional message.
transactional messages2
- Get transactional messageSource
A transactional message template's settings.
- List transactional messagesSource
Transactional message templates you can send with the send operations.
transactional metrics1
- Get transactional message metricsSource
Delivery metric series for a transactional message.
transactional push1
- Send transactional pushDestinationNot retried automaticallyApproval before production
Sends a transactional push template to a person's devices.
transactional sms1
- Send transactional SMSDestinationNot retried automaticallyApproval before production
Sends a transactional SMS template to one person.
workspaces1
- List workspacesSource
Workspaces in the account with people, object and message counts.
Access and limits
- Authentication
- App API key (bearer)
- Plans and access
- All Customer.io Journeys plans include the App API. App API keys are workspace-scoped and can be limited to specific scopes; transactional sends require a transactional message in the workspace.
- Test environment
- A trial workspace (or a separate test workspace) works for testing.
- Rate limits
- App API: 10 requests per second; transactional sends 3,000 requests per 3 seconds (soft limit). HTTP 429 when exceeded.
- Pagination
- Cursor lists return `next`; Nexra passes it back as `start`. Automation, broadcast and segment lists return everything in one response.
- Provider events
- Reporting webhooks for message and delivery events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- The Track API (track.customer.io, Basic auth with site ID and API key) is a different host and credential, so identifying people, tracking events and changing subscription preferences are not available on this connection.
- API-triggered broadcasts and one-time sends to audiences are not implemented; only person-addressed transactional messages can be sent.
- Deleting people, segments, objects, newsletters, collections, snippets, assets, webhooks or suppressions is not implemented.
- Message bodies, archived message content (GET /v1/messages/{id}/archived_message), action and variant bodies, and tracked form responses are not returned; reads expose delivery and template metadata only.
- Creating or updating one-time sends, actions, variants, translations, snippets, collections, assets, reporting webhooks, ESP suppressions, opt-outs and data-index metadata is not implemented; exports and imports are not implemented.
- ESP suppression lookups (GET /v1/esp/search_suppression/{email}) put an email address in the URL and are excluded.
- Broadcast trigger error details (GET /v1/campaigns/{id}/triggers/{trigger_id}/errors) are not implemented because the error item schema is undocumented.
- Transactional sends have no idempotency key; uncertain sends are not repeated automatically.
- sendToUnsubscribed is only sent when a flow sets it explicitly, so the template's consent setting applies by default.
- Activities are guaranteed for the past 30 days; message lists default to the last 6 months.
Developer reference
- Create the Customer.io credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Customer.io, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/customer-io and the Connections API.