1. Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | string | No | Credential check (Bearer token) — pass it via the request header. Header format (case-sensitive): —header ‘Authorization: Bearer \[real Bearer token]’ Single quotes are required in the actual header. Square brackets are placeholders — don’t include them in the real header. The header key is fixed to Authorization and the value has the fixed prefix Bearer. Note: there must be a single space between the Bearer prefix and the real Bearer token. |
| Client-Token | string | No | For idempotency. The header key is fixed to Client-Token and the value is generated by the caller (typically a UUID). Empty value = a new request. Non-empty = idempotent update — the same value within a 3-hour window only fires once. |
2. Request body
Set whatever fields you need. The body must be valid JSON.3. Response body
Ifcode in the response is not 0, the request failed.
When code is non-zero, look up the code and message in the Error codes table below to debug.
When the webhook receives the request successfully, the response looks like:
4. Error codes
When a webhook trigger errors out, check the response on the caller side and match the code and message against the table below.| Code | Message | Cause | Resolution |
|---|---|---|---|
| 800005649 | Credential check failed | The credential check is on, but the credential in the HTTP request doesn’t match what the automation expects — the run can’t proceed. | Re-check and re-enter the credential. |
| 800005650 | Source IP not in allowlist | The IP allowlist is on, and the request’s source IP isn’t on it. | Add the IP to the allowlist or send the request from a permitted IP. |
| 800005647 | Request body too large | The webhook received an HTTP request larger than 4 MB. | Trim the request body. |
| 800005646 | Self-calling HTTP node — loop detected; change the HTTP node URL | The automation is triggered “when webhook is called” and its action is “send HTTP request” — and the HTTP URL is the same webhook URL, causing an infinite loop. | Change the Send HTTP request URL — it must not match the webhook URL. |
| 800005652 | Too many requests; try again later | The webhook is rate-limited. - AI Table-wide webhook rate limit: 50 req/sec. - Per-automation webhook rate limit: 5 req/sec. - Automations without credential check (no Bearer token): 1 req/sec each. | Try again later. |
| 800006003 | Request body is not valid JSON; fix and retry | Typically happens when using “set output via incoming request” — the received body is not valid JSON. | Re-check the request body’s JSON, fix it, and retry. |