DocumentationTriggers
On this page

Webhook

Start a workflow from an HTTP request and choose when and how it responds.

Use Webhook to accept an HTTP request as the entry of a Run. Publish the Flow on a deployment that exposes its Webhook endpoint.

Declare the request

Choose the HTTP method and declared body fields. The public authoring interface accepts a named field map through config.body.

{
  "op": "node.add", "as": "webhook", "type": "webhook", "name": "Receive a ticket",
  "config": {
    "method": "POST",
    "body": { "message": { "schema": { "type": "string" }, "nullable": false } }
  }
}

Request data is available through the Trigger’s declared outputs. For a body field, select it from the body output using its direct field name. The request does not bind values into arbitrary downstream inputs automatically.

Choose a response mode

  • Immediate: omit options.responseBody to retain the configured immediate response.
  • Workflow outputs: select kind: "workflow-outputs" to wait for the whole Run to succeed and return Outputs, or a selected output field.
  • Response node: select kind: "webhook-response" and a reachable node to reply at its first successful completion.
A POST Webhook passes its declared message to Code. Webhook Response returns the acknowledgement before any later work.

A POST Webhook passes its declared message to Code. Webhook Response returns the acknowledgement before any later work.
Input
POST body: {"message":"Please check my order"}
Expected result
HTTP 202 with text "Received: Please check my order" and X-Workflow: ticket-intake.
Before running
Publish the Flow on a deployment with an externally reachable Webhook endpoint.
Download workflow

Dynamic response limits

Dynamic response timeouts accept 1,000–60,000 ms and default to 30,000 ms. The timeout includes queueing and waiting. An HTTP timeout does not cancel the accepted Run.

In workflow-output mode, strings return as text and other JSON values return as JSON. Missing selected outputs or an unsuccessful Run return an error. Status and headers can also be selected from workflow outputs under their documented constraints.

Switching modes uses explicit field clearing; saved fixed response text, status, and headers can remain configured while inactive. Do not assume that clearing one nested field clears other response policies.

Deployment CORS, header restrictions, request limits, and public-origin responsibilities remain authoritative. See Webhook Response for early acknowledgements.

Sources

Search