Skip to content
VisualAutomateDocs

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

FieldWhat it is
URLThe address to call. Can contain variables: https://api.example.com/orders/{{webhook.data.body.orderId}}
MethodGET, POST, PUT, PATCH, DELETE and the rest
HeadersName and value pairs, for example Authorization: Bearer … and Content-Type: application/json
BodyWhat to send, usually JSON. Variables work here too
TimeoutHow long to wait for an answer
Follow redirectsWhether to follow a 3xx to where it points

What it returns

FieldWhat it holds
statusCodethe HTTP status, such as 200
statusTextthe status in words
oktrue for a 2xx status
headersthe response headers
bodythe response: parsed when it is JSON, text otherwise
durationMshow long the call took
urlwhere 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

Body
{
  "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.