Customer.io
Identify people, send events, manage manual segments, read campaigns and segments, and send transactional email through Customer.io's Track and App APIs.
OCNORA ships 29 typed Customer.io operations and 1 trigger. Each node has a schema-driven form, input and output tables beside its settings, and is pre-flighted by Workflow Health before your first real run.
Before you connect Customer.io
- Authentication
- API key
- Credential
- {"app_api_key", "webhook_signing_key"}{"site_id": "…", "api_key": "…", "app_api_key": "…"} — the Site ID and Track API key for the Track nodes, the App API key for the rest
- Connection test
- Available: the stored credential can be checked against the provider when you add it. This is not a record that a test was run or passed.
- Prerequisites
- Two credentials, and they are not interchangeable: the App API key creates and deletes the reporting webhook, and the workspace's webhook signing key is what signs every delivery. Customer.io shows the signing key only in the UI (Data & Integrations → Integrations → Reporting Webhooks) and returns it from no API, so it has to be stored on the connection as 'webhook_signing_key'. Publishing also needs MANTLE_APP_PUBLIC_BASE_URL set to a URL Customer.io can reach.
Prerequisites are taken from the connection notes in this provider’s node contracts; each node’s reference page says which apply to it.
What you can do with Customer.io
Operations, grouped by what they do to your data, plus 1 trigger that start a run.
Create and send 6
Read and search 13
Update 1
Delete and cancel 4
A sample Customer.io workflow
- 1Eventtrigger.customer_io_eventStart a run when Customer.io reports a message or subscription event (bounce, click, unsubscribe…).
- 2Find People By Emailcustomer_io.find_customers_by_emailLook up every profile that holds an email address. A workspace can hold more than one, which is what a merge resolves.
- 3Add Devicecustomer_io.add_deviceRegister or refresh a push device token on a person's profile so push campaigns can reach that device.
An outline built from this provider’s node contracts, not a recorded run. Each step’s output fields are available to the next in the field picker.
Every node below has a reference page: what it does, the connection it needs, its config fields with types, constraints and examples, and the shapes it emits.
Operations 29
- Add DeviceRegister or refresh a push device token on a person's profile so push campaigns can reach that device.customer_io.add_device
- Add People To SegmentAdd up to 1000 people to a manual segment. A data-driven segment computes its own membership and refuses this call.customer_io.add_to_segment
- Create SegmentCreate a manual segment whose membership this workflow controls. Data-driven segments compute their own membership and can only be defined in the dashboard.customer_io.create_segment
- Delete PersonDelete a person and their history from the workspace through the Track API. The deletion cannot be undone.customer_io.delete_customer
- Delete DeviceRemove a push device token from a person's profile so that device stops receiving push messages.customer_io.delete_device
- Delete SegmentDelete a segment. The people in it are not deleted, and anything that referenced the segment stops matching.customer_io.delete_segment
- Find People By EmailLook up every profile that holds an email address. A workspace can hold more than one, which is what a merge resolves.customer_io.find_customers_by_email
- Get Broadcast StatusCheck whether Customer.io has processed a broadcast trigger yet, and when it did.customer_io.get_broadcast_trigger_status
- Get CampaignRead one automation's metadata, including its trigger and current state.customer_io.get_campaign
- Get Campaign MetricsRead an automation's delivery metrics as a time series over an explicit window, using the version 2 reporting endpoint.customer_io.get_campaign_metrics
- Get PersonRead one person's attributes, identifiers, devices and subscription state from the App API.customer_io.get_customer_attributes
- Get SegmentRead one segment's metadata, type and current build state.customer_io.get_segment
- Get Segment SizeRead how many people are currently in a segment.customer_io.get_segment_count
- Identify PersonCreate or update a person through the Track API, setting whichever attributes the request carries and leaving the rest untouched.customer_io.identify_customer
- List CampaignsList every automation in the workspace with its trigger and state.customer_io.list_campaigns
- List A Person's ActivitiesPage through what a person did and what was sent to them, optionally narrowed to one activity type.customer_io.list_customer_activities
- List A Person's SegmentsList every segment a person currently belongs to.customer_io.list_customer_segments
- List Segment MembersPage through the people in a segment, returning an identifier object for each one.customer_io.list_segment_members
- List SegmentsList every segment in the workspace, manual and data-driven alike.customer_io.list_segments
- Merge PeopleMerge a duplicate profile into the one you want to keep. The secondary person's data moves to the primary and is then deleted.customer_io.merge_customers
- Remove People From SegmentRemove up to 1000 people from a manual segment. The people themselves are untouched; only the membership changes.customer_io.remove_from_segment
- Search PeopleFind people with an audience filter, the same segment and attribute conditions the dashboard builds, and page through the identifiers it returns.customer_io.search_customers
- Send BatchSend many Track v2 entity operations in one request. Customer.io accepts the valid entries and reports the rest, so a partial failure is a normal outcome here rather than an error.customer_io.send_batch
- Send Transactional EmailSend one transactional email, either from a transactional message template or from a subject and body supplied here.customer_io.send_email
- Suppress PersonSuppress a person so Customer.io stops messaging them and stops recording their activity, without deleting the profile.customer_io.suppress_customer
- Track Anonymous EventSend an event that is not yet attached to a person. Give it an anonymous id and the event is attributed to whichever profile later claims that same value.customer_io.track_anonymous_event
- Track EventSend an event for a known person, which can start an automation or feed a segment and is available to Liquid in the messages it triggers.customer_io.track_event
- Trigger BroadcastStart an API-triggered broadcast and return the trigger id. The send itself runs asynchronously, so the id is what you poll.customer_io.trigger_broadcast
- Unsuppress PersonLift a suppression so Customer.io can message the person again. Activity recorded while they were suppressed is not recovered.customer_io.unsuppress_customer
Customer.io questions
- How does OCNORA authenticate with Customer.io?
- With a stored API key credential, shaped {"app_api_key", "webhook_signing_key"} or {"site_id": "…", "api_key": "…", "app_api_key": "…"} — the Site ID and Track API key for the Track nodes, the App API key for the rest. A connection test can check it when you add it.
- What can I automate with Customer.io?
- 29 typed operations and 1 trigger, each with a reference page listing its config fields and the shapes it emits.
- What if the Customer.io operation I need is not listed?
- Where Customer.io has an HTTP API, call it from the HTTP node with the same credential, or describe the step to the AI builder, which asks our team for a typed node when one is missing.
- Are there templates that use Customer.io?
- Not yet. Start from a blank workflow, or describe the workflow to Build with AI.
- How are Customer.io calls controlled?
- Every call and every run step is audited, runs count against the execution budget, and Workflow Health pre-flights the workflow when you save it.
See your first Customer.io workflow run.
Book a technical demo. We add the connection, pick a template or describe the workflow to Build with AI, and Workflow Health checks it before it runs.