INPUT_WEBHOOK when an external service sends a request to a published flow. The tool reads the value input as a JSON string describing the request and returns the parsed request in result. See Publish for the published flow URL.
Provide the webhook request value
The JSON value must containmethod, url, headers (string values), and body. It may also contain query and params (string values). The optional description input labels the step.
value above and inspect result.body.orderId; it should be 123. Downstream steps can read steps.receive_webhook.result.body.
Process the received order
The original guide also showed a webhook feeding a later AI step. Use the parsedbody from the input result:
Verify the sender’s signature
The webhook endpoint isPOST https://<your-flow-host>/api/v2/external/flows/<flow-id>/webhook-run. It runs the published version of the flow, so publish after changing the trigger, and answers 404 when the published version has no INPUT_WEBHOOK step. By default requests are accepted unsigned. To require an HMAC-SHA256 signature, set these entries in the step’s config:
requireSignature but no usable signatureSecret, or with an invalid security config, refuses every request with 401 instead of running unsigned; so does a request whose signature is missing or does not match.
Diagnose a webhook input failure
If the step returns anInputWebhookTool error, check that value is valid JSON and includes method, url, headers, and body with the required types. The tool’s executor parses the request shape; unless requireSignature is set on the step, do not treat this step alone as proof that the sender is authenticated.