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
POSTrequests)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:
Batch composes the request
Personalization attributes are resolved using the triggering profile and event.
Headers and body are assembled into the final API call.
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.
The external system executes the action Examples:
sending a message,
updating a record,
creating an object,
starting an automation.
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.
Select a profile Personalization attributes will be resolved using this profile’s attributes.
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.
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:
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

