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 witharchal sample list customerio. Each sample is a versioned starting state with a representative read, mutation, expected diff, reset expectation, and verified artifact hash.
Customer.io campaign baseline
Customer.io campaign baseline
List one campaign, one segment, and one synthetic person before creating another manual segment.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
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 inputsegments. 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.
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.Customer.io lifecycle messaging team
Customer.io lifecycle messaging team
Model a small lifecycle team with campaigns, a broadcast, audience segment, person, and sent message.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
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 inputsegments. 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.
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.Customer.io populated audience
Customer.io populated audience
Exercise connector-lifecycle campaigns across six people, mixed delivery outcomes, reusable assets, and linked design-studio content.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
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 inputsegments. 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.
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.Customer.io failed delivery
Customer.io failed delivery
Read a permanently failed transactional delivery while the person remains active, then create a remediation review segment.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
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 inputsegments. 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.
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.Customer.io campaign trigger workflow
Customer.io campaign trigger workflow
Inspect an API-triggered connector-activation campaign and person, enqueue one provider-shaped campaign trigger, and verify reset.Sample ID: Expected diff: changes include Inspect the raw stateThe packaged JSON artifact is
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 inputtriggers. 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.
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 witharchal environment describe customerio, then validate the file before creating a sandbox:
