Respond to Webhook — Answer the caller — sends the answer back to the system that called the workflow's webhook. Put it where the answer is ready; the steps after it carry on with the same items while the caller already has its reply.
Who can do this
Workspace Admins and Editors, on every plan.
Before you start
The workflow's trigger must be a Webhook with Respond set to Using a Respond to Webhook step. Until then the step is not offered in the picker. See Starting a workflow from a webhook.
Steps
- Select + where the answer is ready. In the step picker, open Code and select Respond to Webhook, or search Respond.
- In Status code, type the status — it starts at 200. 200 to 299, or 400 to 599. A redirect is not sent from Bizomate's address.
- Optional: under Headers, select Add a header for each one. Cookies and the headers that keep the address safe cannot be set.
- Under Body, choose:
- Raw JSON (the default) — type it in The JSON to send, such as
{ "ok": true, "ticket": "{{ $json.id }}" }. - Key / value — a name and value per field under Body fields. Sent as JSON. A field that is one {{ }} keeps its type.
- Raw JSON (the default) — type it in The JSON to send, such as
- Test it with Send a test event, so the caller is real. See Send a test event to a webhook.
Output
The items that reached it, unchanged — the steps after it work on the same data. The run's log for the step says what was sent: Answered the caller: 200, application/json; charset=utf-8, 42 bytes.
Good to know
- The caller is waiting while everything before this step runs — 30 seconds at most. Anything slow — an AI step, a long loop — belongs after it, not before. After 30 seconds the caller gets 202 and the run carries on.
- The first Respond to Webhook reached answers. Any later one logs The caller already had its answer from an earlier Respond to Webhook, so this one was not sent.
- It runs once for all its items, so the caller gets one answer.
- If the run ends without reaching it, the caller gets 500 — The workflow ended without reaching its Respond to Webhook step. Make sure every path that should answer has one.
- Content type: JSON for Key / value; for Raw JSON, JSON when the body starts with
{or[, otherwise text/plain. A Content-Type header of your own wins. - Headers that cannot be set include Set-Cookie, Location, Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options and the connection headers.
- The body can be up to 1 MB.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| “302” cannot be the status code. Use 200 to 299, or 400 to 599 — a redirect is not sent from Bizomate's address. | The status is outside what Bizomate sends. | Use a 2xx, 4xx or 5xx code. |
| “Set-Cookie” cannot be set on an answer from Bizomate's address. | The header is one that keeps the address safe. | Remove it. |
| The header “…” has no “Name:” at the start. / “…” cannot be sent as a header. | A header is malformed. | Fix its name. |
| The body is over 1 MB. | The answer is too large. | Send less. |
| Needs setup: the Webhook is not set to answer with this step. … | The trigger's Respond is not set to use this step. | Set Respond to Using a Respond to Webhook step, or remove this step. |
| Needs setup: only a workflow started by a Webhook has a caller to answer. Remove it. | The trigger is not a Webhook. | Remove the step. |
| Needs setup on the trigger: it is set to answer with a Respond to Webhook step, and there is none. Add one, or change Respond. | No Respond to Webhook step in the workflow. | Add one, or change Respond. |