Webhook Trigger Node - Fire&Forget and Fire&Wait Integration in ConvyAI
Overview
The Webhook Trigger node starts an Agentic Flow when an external system sends an HTTP request to a unique endpoint auto-generated by the platform. The node supports two response modes: fire&forget, where the platform confirms receipt immediately and processes the flow in the background, and fire&wait, where the HTTP call stays open until the flow finishes and the caller receives the flow's output directly in the response.
Positioning
The Webhook Trigger node has no incoming connections and must be placed as the first node in the flow. It can coexist with other trigger types (Manual Trigger, Scheduled Trigger) in the same flow.
Configuration
Endpoint
| Field | Description |
|---|---|
| HTTP method | The HTTP method the endpoint accepts (e.g., POST, GET). |
| Webhook URL | Auto-generated, read-only. Unique to the tenant, flow, and node. |
Authentication
| Field | Description |
|---|---|
| App Token | The tenant's application token. Incoming requests must include this token to be authenticated. Use the copy button to copy it to the clipboard. |
| IP whitelist | Optional list of IP addresses, domains, or IP masks authorized to call this endpoint. Leave empty to allow all sources. |
Response mode
| Field | Description |
|---|---|
| Response mode | Selects how the node responds to the calling system: fire&forget (default) or fire&wait. |
Runtime behavior
Fire&forget
When an external system calls the webhook URL, ConvyAI immediately confirms receipt with HTTP 202 and starts the flow in the background - the calling system does not wait for the flow to complete.
Fire&wait
The HTTP call stays open while the flow runs. The response is sent only when the flow finishes:
- Flow completes - the caller receives HTTP
200with the output of the last node executed in the flow, regardless of its type:A Result node is not required to produce this response.{
"execution_id": "<id>",
"result": { /* output of the last node executed */ }
} - Platform timeout is reached - if the flow exceeds the platform-level execution timeout, the run is forcefully stopped and the caller receives HTTP
504:{
"execution_id": "<id>",
"error": "execution_timeout"
} - Manual stop - if the run is stopped manually while the caller is waiting, the caller receives HTTP
409.
In all three cases the run is visible in the Monitoring page with its final status once the call ends.
Errors common to both modes
If the call is rejected because the HTTP method does not match the configured one (405) or because the credentials are invalid (401/403), the flow does not start, regardless of the configured response mode.
Output
The incoming request is available to downstream nodes via the standard node output notation $('<node-name>').output.<field>, where <node-name> is the name assigned to this node in Agentic Designer.
| Field | Type | Description |
|---|---|---|
request.body | object | JSON body of the HTTP request. |
request.query | object | Query string parameters. |
request.headers | object | HTTP headers of the incoming request. |
Example - access the request body in a downstream node:
$('Webhook Trigger').output.request.body
Key concepts
| Term | Definition |
|---|---|
| Fire&forget | Processing mode in which the system responds immediately to the caller without waiting for flow completion. |
| Fire&wait | Processing mode in which the HTTP call stays open until the flow finishes, and the caller receives the flow's output directly in the response. |
| App Token | The tenant's application token used to authenticate incoming webhook calls. |
| IP whitelist | Optional list of IPs, domains, or IP masks authorized to invoke the webhook endpoint. |