Webhook Node
Start an automation from an inbound webhook and turn the JSON payload into records
Last updated 11 Oct 2026
The Webhook node is a source node that receives data from the automation's inbound webhook. When an external system sends a request to the webhook URL, the node turns the JSON body into records and passes them downstream. It holds the payload mapping; the URL and signing secret are turned on separately from the Automations list.
When to Use
Use Webhook when an event in another system should start the automation and supply its data — a new lead from a form tool, a completed export from a data warehouse, an alert from a monitoring service. For fixed text or a file you upload yourself, use Text Input or Upload instead.
Ports
- Inputs: none (this is a source node).
- Output: one Data output with the mapped records.
Configuration
The node's properties panel has a Payload mapping choice:
| Field | Type | Description |
|---|---|---|
mappingMode | passthrough | extraction | fieldMappings | How the JSON body becomes records (default: passthrough). The panel labels these Whole payload, Extract array, and Map fields |
extractionPath | string | Dot-notation path to the records, such as data.records. A leading $. is accepted. Used with extraction |
fieldMappings | array | Renames, each { sourceField, targetField }. In the panel these are the source field and the output column. Used with fieldMappings |
Mapping modes
Whole payload — A JSON object becomes one record. A JSON array, or any other value, becomes one record with the value in a data field.
Extract array — The value at extractionPath is used:
- an array becomes one record per object (items that are not objects are dropped)
- a single object becomes one record
- a plain value becomes one record with the value in a
valuefield - a path that does not exist produces no records
Map fields — The payload is used as it arrives (an object is one record, an array of objects is one record each), and each mapping renames a source field to the output column. Fields that have no mapping pass through unchanged. If no mapping row has both names filled in, the whole payload is used as-is.
In Map fields mode the output columns you name are declared on the node, so column pickers on downstream nodes can offer them before any delivery arrives. In the other modes the columns depend on the payload and are known only when a request comes in.
Example
A form tool posts leads as { "data": { "leads": [ ... ] } }. To get one record per lead:
mappingMode: extraction
extractionPath: data.leads
To rename email_address to email on each lead:
mappingMode: fieldMappings
fieldMappings:
- sourceField: email_address
targetField: email
Notes
- The mapping is applied once, when the request arrives. The node then forwards those records unchanged.
- Under Test mapping in the properties panel, paste a Sample payload and choose Test mapping to see the records it produces. The automation must be saved first.
- If an automation has more than one Webhook node, the first one supplies the mapping. Without any Webhook node, the whole payload arrives as one record.
- When the automation runs without a webhook delivery — Run in the editor, Run now, or a schedule — the node emits no records.
- Requests are limited to 1 MB. The URL, signing secret, signature headers, rate limit, and status codes are described in Schedules & Triggers.
- The webhook only accepts deliveries while the automation is Active and the webhook is enabled.
Related articles
Still stuck? Browse the FAQ or contact us.