HTTP Request
Call external REST APIs and webhooks from your workflows.
The HTTP Request node integrates third-party services: call REST APIs, fire webhooks, or fetch data from any reachable URL as part of a run.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
method | Select | Yes | One of GET, POST, PUT, PATCH, DELETE. Defaults to GET. |
url | Expression | Yes | The request URL. Supports {{ ... }} templating. |
headers | Object | No | JSON object of request headers (e.g. {"Authorization": "Bearer ..."}). |
body | Expression | No | Request body - a string or JSON. Supports {{ ... }} templating. |
Example
Fetch a customer from an external CRM, injecting an ID produced upstream:
{
"method": "GET",
"url": "https://crm.example.com/api/customers/{{ nodes.lookup_customer.output.id }}",
"headers": {
"Authorization": "Bearer {{ nodes.secrets.output.crmToken }}"
}
}Handle failures gracefully
External calls fail for all sorts of reasons - rate limits, timeouts, outages. Enable Continue on failure for non-critical HTTP steps, and add a Condition node afterwards to branch on the status code.
Output
| Field | Type | Description |
|---|---|---|
statusCode | Number | HTTP status code returned by the request. |
body | String | The response body as text. If it parses as JSON, properties can be accessed directly (e.g. .output.body.user.email). |
headers | Object | The response headers. |
A downstream expression like this pulls the parsed payload straight from the response:
{{ nodes.http_request_1.output.body.results[0].email }}