Skip to main content
Customer.io is included in Archal’s environment catalog. Use it in a sandbox for messaging automation across campaigns, broadcasts, transactional email, segments, customers, and message delivery. Preview means the environment is included for testing, but its upstream coverage is incomplete. Verify the operations your test depends on.

Compatibility boundary

Local catalog validation: All five published samples passed. Checks cover the state contract, relationships, artifact hash, secret scan, and size limit.
Local catalog validation is not hosted proof. Archal checks current certification, reset, and isolation evidence before admitting new sandboxes. Use the authenticated environment catalog for live availability.
  • Does not claim actual message delivery or complete Customer.io campaign execution.

Curated starting states

List the five samples with archal sample list customerio. Each sample is a versioned starting state with a representative read, mutation, expected diff, reset expectation, and verified artifact hash.
List one campaign, one segment, and one synthetic person before creating another manual segment.Sample ID: customerio.campaign-baseline.v1Category: minimalStarting state: 3 records across campaigns: 1, people: 1, segments: 1Supported surface: Stateful campaigns, audiences, people, messages, and event-triggered records.Required capabilities: state.read, state.load, state.reset, rest.segmentsFirst read: GET /v1/campaigns. Expected result: HTTP 200.Representative mutation: POST /v1/segments. Expected result: HTTP 200.Mutation input
Expected diff: changes include segments. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits
  • Does not claim actual message delivery or complete Customer.io campaign execution.
Start this sample
Inspect the raw state
The packaged JSON artifact is samples/states/customerio/campaign-baseline/state.json and is 999 bytes. The CLI verifies SHA-256 bfcd2ab19d31de0496221d54e1128fd5946b78ce38f6699792cbd905b019d3fc before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.
Model a small lifecycle team with campaigns, a broadcast, audience segment, person, and sent message.Sample ID: customerio.lifecycle-messaging-team.v1Category: small-teamStarting state: 6 records across broadcasts: 1, campaigns: 2, messages: 1, people: 1, segments: 1Supported surface: Stateful campaigns, audiences, people, messages, and event-triggered records.Required capabilities: state.read, state.load, state.reset, rest.segmentsFirst read: GET /v1/campaigns. Expected result: HTTP 200.Representative mutation: POST /v1/segments. Expected result: HTTP 200.Mutation input
Expected diff: changes include segments. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits
  • Does not claim actual message delivery or complete Customer.io campaign execution.
Start this sample
Inspect the raw state
The packaged JSON artifact is samples/states/customerio/lifecycle-messaging-team/state.json and is 1,523 bytes. The CLI verifies SHA-256 502d10ceeb76d261bf34cdb7c229b86dc0064d5a05cf21cacd33d34305e40a53 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.
Exercise connector-lifecycle campaigns across six people, mixed delivery outcomes, reusable assets, and linked design-studio content.Sample ID: customerio.active-audience.v1Category: populatedStarting state: 27 records across asset_files: 2, asset_folders: 1, broadcasts: 1, campaigns: 2, design_studio_components: 2, design_studio_email_translations: 1, design_studio_emails: 2, design_studio_folders: 1, messages: 6, people: 6, segments: 3Supported surface: Stateful campaigns, audiences, people, messages, and event-triggered records.Required capabilities: state.read, state.load, state.reset, rest.segmentsFirst read: GET /v1/campaigns. Expected result: HTTP 200.Representative mutation: POST /v1/segments. Expected result: HTTP 200.Mutation input
Expected diff: changes include segments. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits
  • Does not claim actual message delivery or complete Customer.io campaign execution.
Start this sample
Inspect the raw state
The packaged JSON artifact is samples/states/customerio/active-audience/state.json and is 7,812 bytes. The CLI verifies SHA-256 9ff391346cdaa4235e33a517df5da8cf7506e29907bb7ab85b05228eec6fd923 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.
Read a permanently failed transactional delivery while the person remains active, then create a remediation review segment.Sample ID: customerio.failed-delivery.v1Category: edge-caseStarting state: 4 records across campaigns: 1, messages: 1, people: 1, segments: 1Supported surface: Stateful campaigns, audiences, people, messages, and event-triggered records.Required capabilities: state.read, state.load, state.reset, rest.segmentsFirst read: GET /v1/messages/dgs_sample_failed_message. Expected result: HTTP 200.Representative mutation: POST /v1/segments. Expected result: HTTP 200.Mutation input
Expected diff: changes include segments. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits
  • Does not claim actual message delivery or complete Customer.io campaign execution.
Start this sample
Inspect the raw state
The packaged JSON artifact is samples/states/customerio/failed-delivery/state.json and is 1,551 bytes. The CLI verifies SHA-256 a54d726fbb2aaa565ef260b1214ce8c7bccc1f8e8d8e85f23cb20ef1c5c6a2d2 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.
Inspect an API-triggered connector-activation campaign and person, enqueue one provider-shaped campaign trigger, and verify reset.Sample ID: customerio.campaign-trigger-workflow.v1Category: workflowStarting state: 4 records across campaigns: 1, messages: 1, people: 1, segments: 1Supported surface: Stateful campaigns, audiences, people, messages, and event-triggered records.Required capabilities: state.read, state.load, state.reset, rest.segmentsFirst read: GET /v1/campaigns. Expected result: HTTP 200.Representative mutation: POST /v1/campaigns/104/triggers. Expected result: HTTP 200.Mutation input
Expected diff: changes include triggers. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.Expected reset: restores loaded sample.Known limits
  • Does not claim actual message delivery or complete Customer.io campaign execution.
Start this sample
Inspect the raw state
The packaged JSON artifact is samples/states/customerio/campaign-trigger-workflow/state.json and is 1,459 bytes. The CLI verifies SHA-256 355ebad25dda948372307ab8e332ccfe1c204e4eab74e0e2da025dc3bfa89402 before printing it.Catalog validation: Passed. Hosted availability is determined by Archal’s live certification and admission system, not this static page.

Use custom state

Start from a sample when possible. For custom state, inspect the contract with archal environment describe customerio, then validate the file before creating a sandbox:
Loading state replaces the current collections and establishes a new reset baseline. See Starting state before replacing state in an existing sandbox.