Connect your apps
HTTP Request
Reach any REST API with your own method, headers, body and auth, when there is no ready-made step for it.
The HTTP Request step calls any URL. It is the answer to "what if I need something that is not in the box": any service with an HTTP API is one step away.
Fields
| Field | What it is |
|---|---|
| URL | The address to call. Can contain variables: https://api.example.com/orders/{{webhook.data.body.orderId}} |
| Method | GET, POST, PUT, PATCH, DELETE and the rest |
| Headers | Name and value pairs, for example Authorization: Bearer … and Content-Type: application/json |
| Body | What to send, usually JSON. Variables work here too |
| Timeout | How long to wait for an answer |
| Follow redirects | Whether to follow a 3xx to where it points |
What it returns
| Field | What it holds |
|---|---|
statusCode | the HTTP status, such as 200 |
statusText | the status in words |
ok | true for a 2xx status |
headers | the response headers |
body | the response: parsed when it is JSON, text otherwise |
durationMs | how long the call took |
url | where the response came from, after redirects |
So the next step reads {{http_request.data.body.items}}, or branches on {{http_request.data.statusCode}}.
Errors
A response outside the 2xx range takes the step's error output, with the same fields, so an error route can read the status and the body the service sent back.
Before that, failures that might pass are retried on their own: rate limits and unavailable services always, timeouts and server errors only for GET, HEAD and OPTIONS, so a POST is never sent twice by accident. See When a step fails.
Example
{
"email": "{{webhook.data.body.email}}",
"source": "website",
"tags": ["lead"]
}Calling the same API from many workflows? Make it your own step, so the URL, the auth and the shape of the request live in one place.
Was this page helpful?