Automations
Call Webhook / HTTP Request Node
5 min readnode-webhook
Make an HTTP request to any external API or webhook URL, with custom headers and a JSON body.
Call Webhook / HTTP Request Node
Fires an HTTP request (GET, POST, PUT, DELETE, or PATCH) to any URL. Use it to trigger external systems, call REST APIs, or send data to Make.com / Zapier webhooks.
When to use it
- POST lead data to a custom internal API.
- Trigger a Make.com scenario via its custom webhook URL.
---
Required fields
| Field | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Full URL including https:// |
| method | enum | Yes | GET, POST, PUT, DELETE, PATCH |
---
Optional fields
| Field | Type | Required | Description |
|---|---|---|---|
| headers | JSON object | No | Key-value pairs e.g. {"Authorization": "Bearer token"} |
| body | JSON object | No | Request body — {{variables}} supported in values |
---
Variables available
| Variable | Description |
|---|---|
{{variables.webhookResponse}} | Full parsed JSON response body from the endpoint |
---
Step-by-step setup
- Add a Call Webhook node to the canvas.
- Paste the target URL.
- Select the HTTP method.
- Add headers if the API requires authentication (e.g.
Authorization: Bearer YOUR_TOKEN). - For POST/PUT, enter the JSON body. Use
{{lead.email}}or{{variables.xxx}}in string values. - After the node, use
{{variables.webhookResponse}}in downstream nodes.
---
Example config
json
{
"url": "https://api.example.com/leads",
"method": "POST",
"headers": {
"Authorization": "Bearer sk_live_abc123",
"Content-Type": "application/json"
},
"body": {
"email": "{{lead.email}}",
"name": "{{lead.firstName}} {{lead.lastName}}",
"source": "flowmaticx"
}
}
---
Tips & gotchas
- If the API returns non-JSON (HTML, plain text),
{{variables.webhookResponse}}will be a raw string. - Non-2xx responses throw an error and stop the flow. Wrap in a Try/Catch node for resilience.
- For APIs that need OAuth, retrieve a token in an earlier HTTP Request node and pass it via a Set Variable node.