DocumentationWorkflowsTriggers
Webhook node
Starts the workflow when an HTTP request hits your webhook URL. Body, headers, query parameters and path parameters are passed through as output, perfect for integrations with Zapier, Make, Slack buttons or your own apps. Learn how to configure it, map inputs and outputs, run a test and resolve common errors.
11 min readUpdated
What this node does
Starts the workflow when an HTTP request hits your webhook URL. Body, headers, query parameters and path parameters are passed through as output, perfect for integrations with Zapier, Make, Slack buttons or your own apps.
Use Webhook as a clearly defined step in an anymize workflow.
- Starts a new workflow run.
- Provides one output for following steps.
- Runs as a regular step in the flow.
Set up the node
- 01Open a workflow and add Webhook from the node catalog.
- 02Complete the required fields and map values from previous steps.
- 03Run the node with a small test record and inspect its output.
- 04Connect the successful output and activate the workflow after an end-to-end test.
Operations and modes
Webhook has one focused purpose. Its available settings appear when you select the node.
Settings
| Field | Meaning | Area |
|---|---|---|
| Import format | Configure this value in the node panel. | Standard |
| Import version | Configure this value in the node panel. | Standard |
| Reply to the sending app | This reply confirms receipt. The following steps keep running afterward. | Standard |
| Reply text | Configure this value in the node panel. | Standard |
| Which fields does your webhook send? | Examples: email, name, amount. Each field becomes its own output, so you can drag it straight onto other nodes, no JSON fiddling. | Standard |
| Webhook URL | Configure this value in the node panel. | Protected |
| API key | Generated automatically. Requests must send the key either in the `X-Anymize-Api-Key` header or as `Authorization: Bearer <key>`. | Protected |
| HTTP method | Choices: GET, POST, PUT, PATCH, DELETE, HEAD, All (ANY) | Standard |
| Custom URL suffix (optional) | Appended to the end of your webhook URL, e.g. /customer/details. If you write /:name, that value later arrives as a field in your workflow. | Standard |
| Authentication | Recommended: API key. Only switch if your caller uses a different method. | Standard |
| Credentials from workflow secret | Pick a workflow secret containing the password, header value, or JWT signing key. Only the secret name is stored in the workflow. | Protected |
| Username | Configure this value in the node panel. | Standard |
| Header name | Configure this value in the node panel. | Standard |
| Allowed JWT algorithms | Comma-separated list of allowed HMAC algorithms. The signing key comes from the workflow secret. | Standard |
| Response mode | Choices: Immediately (200 OK), When the last step finishes, Custom webhook-response block at the end | Standard |
| Response status code | Configure this value in the node panel. | Standard |
| Response data | Choices: All entries, First entry (JSON), First entry (file), No body | Standard |
| Which field to return? | Only when response data is set to "First entry": enter the field name whose value alone is returned (instead of the whole object). | Standard |
| Response format | Choices: JSON, Text, HTML, XML | Standard |
| Response headers | Configure this value in the node panel. | Standard |
| Allowed websites (optional) | Which websites may the browser call this webhook from? Separate multiple with a comma, * allows all. | Standard |
| Only these sender addresses (optional) | Only allow requests from specific IP addresses. Separate multiple with a comma, whole ranges work too (e.g. 10.0.0.0/8). Empty = all senders allowed. | Standard |
| Ignore bots & link-preview crawlers | Configure this value in the node panel. | Standard |
| Pass content through unchanged | Turn on when the body isn't JSON (e.g. plain text or XML), it then won't be parsed, but passed through raw. | Standard |
| File field name (for file uploads) | Only for file / binary uploads: if you enter a name here, the uploaded file lands under this field in your workflow. | Standard |
| Verify request signature | For services that cryptographically sign their requests (e.g. Stripe, GitHub). Turn on when your sender includes a signature. | Standard |
| Signing secret | Pick the workflow secret containing the shared key your sender uses to sign the request. | Protected |
| Signature header name | Which HTTP header your sender puts the signature in. The default is X-Signature, only change it if your service uses a different name. | Standard |
| Signature method | Which method your sender uses to sign (it's in their webhook docs). When in doubt, SHA-256. | Standard |
Inputs and outputs
| Input | Meaning | Type |
|---|---|---|
| Standard | This trigger does not require an input. | JSON |
| Output | Meaning | Type |
|---|---|---|
| body | The parsed JSON body of the request. | json |
| headers | All HTTP headers. | json |
| query | Query parameters (?foo=bar). | json |
| params | Path parameters from /:userId/details. | json |
| method | HTTP method of the request. | text |
Example and test run
Example body: begin with a small, recognizable record. Inspect the output and only map fields that are present there.
Test-run example
{
"event": "signup",
"user": {
"id": "usr_abc123",
"email": "max.mustermann@example.com",
"name": "Max Mustermann"
},
"source": "landing-page"
}Access and security
Before activation, review which data enters this step and what its output contains.
Store keys and credentials in the protected connection manager. Never paste them into normal workflow fields, test data or descriptions.
Troubleshooting
- No output: inspect the latest run and confirm that the previous node returned the expected fields.
- Empty variable: open the previous step output and use a field name from the real test data.
- Workflow does not start: activate it and check the trigger's test and production mode.