Reliable webhook
The Reliable webhook robot sends an HTTP request to an external endpoint with retries in Bitrix24 (Alaio) business processes and robots. It checks the response code against selected bands (2xx, 3xx, 4xx, 5xx plus extra codes), retries failed attempts on a set interval, and can notify chosen users on final failure. It returns a delivered Y/N flag, the status code and body of the last attempt, and the number of attempts made. Does not run in demo mode.
The robot reliably delivers an HTTP request (GET, POST, PUT, PATCH, DELETE) to an external endpoint, and unlike a plain HTTP request it owns the delivery itself: it decides what counts as success and retries on failure. Parameters: URL, method, body, and headers as JSON; the success-code set is chosen by the 2xx/3xx/4xx/5xx bands plus extra comma-separated codes (default 2xx); the number of attempts is 1–10 (default 3), the interval between attempts is 1–3600 seconds (default 60), and the per-attempt timeout is 1–25 seconds (default 10). On final failure it can notify chosen users with a chat message. Typical use cases: reliably push deal data to an external system or CRM; trigger an integration webhook with guaranteed retries when the service is temporarily down; alert the responsible person if delivery never succeeds. It returns a delivered Y/N flag, the HTTP code and body of the last attempt, and the number of attempts made — check the Y/N in the condition of the next step. The robot does not run while Bitrix24 (Alaio) is in demo mode.
What input parameters does the robot accept?
| Parameter | Type | Required? | Default |
|---|---|---|---|
| Webhook URL | string | yes | |
| HTTP method (default POST) | select | — | POST |
| Request body | string | — | |
| Headers as JSON: {"Authorization":"Bearer xxx","Content-Type":"application/json"} | string | — | |
| Which codes to treat as success (default 2xx) | select | — | 2xx |
| Additional success codes, comma-separated (e.g. 409, 422) | string | — | |
| Number of attempts (1–10, default 3) | int | — | 3 |
| Retry interval in seconds (1–3600, default 60) | int | — | 60 |
| Per-attempt timeout in seconds (1–25, default 10) | int | — | 10 |
| Who to notify on delivery failure | user | — |
What does the robot return?
| Parameter | Type |
|---|---|
| Delivered (Y/N) | string |
| HTTP status code of the last attempt | int |
| Response body of the last attempt | string |
| Attempts made | int |
What errors can the robot return?
The robot writes these messages to the business process log when it cannot complete a step. The text tells you what to fix in the settings or the data.
- Error: headers must be a JSON object
- Error: invalid header name: {name}
- Error: control characters are not allowed in header {name}
- Error: header {name} is set automatically
- cURL error: {error}
- This robot does not run while Bitrix24 is in demo mode or if the plan could not be determined.
Scenario: reliably pushing deal data to an external system
- A deal enters the Paid stage and a business process starts
- The robot sends a POST request to the external system URL; on a non-2xx response it retries up to 3 times at a 60-second interval
- On success the process continues down the Y branch; on final failure it notifies the responsible person and goes down the N branch
Related robots
Related articles
- Send email and SMS from a Bitrix24 workflow: rules, limits, and your own provider
- Make.com and Bitrix24: why the scenario breaks and how to fix each cause
- Bitrix24 webhook not firing: where the event gets lost
- How to connect Bitrix24 to n8n: webhooks, HTTP nodes and what to keep inside the portal
- Bitrix24 QUERY_LIMIT_EXCEEDED: REST API limits explained
- Bitrix24 REST API error codes: what they mean and how to fix them
- Zapier and Bitrix24: when you need a connector and when you do not
- Webhooks in Bitrix24: inbound, outbound, permissions and robots
- Notifications from Bitrix24 business processes: who to, how, and why they don't arrive