Source type

Customer.io Source Configuration

Customer.io sources receive reporting and data-out webhooks with timestamped Customer.io signature verification.

CUSTOMER_IOPOST, PUT, PATCH, DELETEWebhook Signing KeyEmail and messaging
Customer.io sends webhook traffic to a FastHook source, FastHook validates the provider contract, records the request, and routes accepted events through connections to destinations.Customer.ioProviderPOST, PUT, PATCH, DELETESignedFastHookSource URLCUSTOMER_IOProvider credentialsignatureVerify before queue401 on auth failure405 on wrong methodAcceptedRequestverified: trueConnections route the accepted request to destinationsFilters, transformations, retries, replay, and destination signatures stay downstream from source verification.

Customer.io configuration

Create a Customer.io source, keep POST and PUT and PATCH and DELETE enabled, and provide the configured Webhook Signing Key values for provider signature. FastHook uses these settings to validate each Customer.io delivery before it enters the routing workflow.

Source Type

CUSTOMER_IO

Allowed methods

POST, PUT, PATCH, DELETE

Authentication

Provider signature

Credential fields

Webhook Signing Key

Customer.io source config
{
  "type": "CUSTOMER_IO",
  "config": {
    "auth_type": "PROVIDER_SIGNATURE",
    "auth": {
      "provider": "CUSTOMER_IO",
      "webhook_signing_secret": "provider-secret"
    },
    "allowed_http_methods": ["POST","PUT","PATCH","DELETE"]
  }
}

Customer.io request contract

FastHook signs v0:timestamp:raw-body with HMAC-SHA256 and compares it to x-cio-signature.

POSTPUTPATCHDELETE

Customer.io headers

Preserve x-cio-signature, x-cio-timestamp when sending Customer.io test deliveries. FastHook evaluates this request context before accepting the payload, so missing or modified values remain visible as rejected requests instead of routed events.

x-cio-signature

HMAC-SHA256 hex signature.

x-cio-timestamp

Unix timestamp used in the signed payload.

Customer.io setup

  1. Create a Customer.io webhook connection using the FastHook Source URL.
  2. Paste the webhook signing key into FastHook.
  3. Route by event or campaign/message identifiers.

Continue with Customer.io