Universal channel

Universal Channel enables you to activate an external channel or system from within a Batch trigger automation. It does so by calling a third-party API to perform actions such as:

  • sending a message,

  • triggering a workflow,

  • updating or creating data in an external system.

A complete set of use cases and examples can be found in the dedicated Universal channel Integrations section. If your use case is not listed, you can rely on our generic step-by-step guide How to set up Universal channel with any third-party service, which walks you through configuring any Universal Channel call.


Structure of a Universal channel message

A Universal channel step consists of:

  • A destination URL

  • An HTTP method (Batch supports POST requests)

  • Headers (standard or credential-based)

  • A body (JSON)

Batch currently supports POST requests with a JSON body and authentication using Basic or Bearer token. If your integration requires a more advanced setup, please contact us.


Parameter reference

Destination URL

The endpoint that Batch will call when the Universal Channel step runs. It can be personalized with profile, trigger event or catalogs attributes using our personalization language.


HTTP method

Batch uses the POST method.


Headers & Credential headers

Optional HTTP headers included in the request. It can be personalized with profile, trigger event or catalogs attributes using our personalization language.

If a header contains sensitive information (such as an authentication token), store it as a Credential Header. Credential Headers are securely managed and can be reused across multiple Universal Channel steps. See Universal channel Settings for more information.


Body

The JSON body defines the instruction sent to the external system.

It can include personalization referring to:

  • profile attributes

  • trigger event attributes

  • catalogs attributes

Use “Format body” to validate and neatly format your JSON payload.


Zoom on how Universal channel works

When an automation reaches a Universal channel step:

  1. Batch composes the request

    • Personalization attributes are resolved using the triggering profile and event.

    • Headers and body are assembled into the final API call.

  2. Batch sends the request to the external API The external system determines what action to perform based the request sent. For example:

    • a "template_id" field instructs a partner to send a specific WhatsApp message,

    • a "status": "completed" field updates an order,

    • a "trigger": "start_flow" field launches a workflow.

    Universal channel does not impose a structure — the external system defines how the JSON should be interpreted.

  3. The external system executes the action Examples:

    • sending a message,

    • updating a record,

    • creating an object,

    • starting an automation.

  4. Batch records the result Analytics use terminology aligned with communication channels:

    • Sent – Batch successfully issued the request

    • Delivered – The external system acknowledged the request with a successful response

    • Bounced – The external system returned an error or did not respond

These statuses allow you to verify how the external system received your request.


Test API

The Test API feature allows you to validate your Universal Channel configuration before enabling the automation.

  1. Select a profile Personalization attributes will be resolved using this profile’s attributes.

  2. A real call is performed Because it uses your actual external endpoint, the external action will take place (message sent, update performed, etc.) for the selected profile.

  3. Inspect the response The interface displays the result returned by the external system, helping you diagnose errors and adjust the configuration.

This step ensures your Universal channel works end-to-end before going live.


Behavior Based on HTTP Status Codes

Retry

The delivery behavior of Universal Channel messages depends on the HTTP status code returned by the target endpoint:

HTTP Status Code
Behavior

1xx

Delivery failed. No retry.

2xx

Delivery succeeded. No retry needed.

3xx

Delivery failed. No retry.

4xx

Delivery failed. No retry, except for 429.

429

Retry behavior depends on the presence of the Retry-After header: If Retry-After is present: wait for the specified delay or until the indicated date.If Retry-After is missing: wait 5 seconds before retrying.

5xx

Delivery failed. Retry is attempted.

Network errors / connection interrupted

Treated as transient errors. Retry is attempted.

Note: After 5 retry attempts, the delivery is considered failed.

Supported HTTP Status Codes

Our service supports all standard HTTP status codes as defined by the IANA: 🔗 IANA HTTP Status Code Registry

If the response contains a non-standard or unrecognized HTTP status code, it will be reported with a status code value of 0.

Last updated