Workflow node reference
HTTP Request
Make an API call to any endpoint. Exact configuration, outputs, execution behavior, errors, limits, and examples for the HTTP Request workflow node.
What this guide covers
- Category: Integrations.
- Use it to call an HTTPS endpoint with GET, POST, PUT, PATCH, or DELETE and map the response.
- 8 configuration fields and 5 documented outputs.
- Retries can duplicate non-idempotent external actions.
What this node does
Make an API call to any endpoint
Use it to call an HTTPS endpoint with GET, POST, PUT, PATCH, or DELETE and map the response.
When not to use it
Do not use it when a supported connected-service App Action exists or when the endpoint cannot safely accept workflow-originated requests.
Prerequisites
- Valid reachable URL
- Method, headers, and body appropriate for the endpoint
- Secrets handled safely
- Timeout from 1 to 120 seconds
Valid reachable URL. Method, headers, and body appropriate for the endpoint. Secrets handled safely. Timeout from 1 to 120 seconds
Inputs and configuration fields
| Field | Key | Control / type | Requirement | Default | Accepted values and behavior |
|---|---|---|---|---|---|
Method | method | select | Required when shown | GET | GET (GET), POST (POST), PUT (PUT), PATCH (PATCH), DELETE (DELETE) |
URL | url | variable-input | Required when shown | No default | https://api.example.com/endpoint. Variables supported |
Headers | headers | json | Optional | No default | { "Content-Type": "application/json", "Authorization": "Bearer {{custom.api_key}}" } |
Body Type | body_type | select | Optional | json | JSON (json), Form Data (form), Raw Text (raw), None (none); shown when method not equals GET |
Body | body | json | Optional | No default | shown when body_type not equals none |
Timeout (seconds) | timeout | number | Optional | 30 | minimum 1; maximum 120 |
Retry on Failure | retry_on_fail | toggle | Optional | true | Value accepted by the displayed control |
Max Retries | max_retries | number | Optional | 3 | minimum 1; maximum 5; shown when retry_on_fail equals true |
Configure the node
- Drag HTTP Request from Integrations in the node palette.
- Select the node to open its configuration drawer.
- Complete every required field and any conditional field revealed by your choices.
- Insert variables only from the current trigger or an earlier node on the same path.
- Connect every required output handle to the intended next step.
- Save and run Workflow Test with representative data before activation.
Outputs
Later nodes can use these values only after this node has run successfully on the same execution path.
| Variable | Type | Meaning |
|---|---|---|
{{nodes.http_request.status_code}} | number | HTTP response status code |
{{nodes.http_request.response}} | object | Response body (parsed if JSON) |
{{nodes.http_request.headers}} | object | Response headers |
{{nodes.http_request.success}} | boolean | true if status 2xx |
{{nodes.http_request.duration_ms}} | number | Request duration |
Execution behavior
- Resolves URL, headers, and body variables.
- Waits for the HTTP result up to the timeout.
- Uses the configured retry toggle and maximum of 1–5 retries when enabled.
- Emits response status/body/headers and success or error path outputs.
HTTP Request exposes its own retry toggle and a maximum-retries field. Use retries only when the external operation is safe to repeat.
Example use case
Retrieve current order status from a business API after an inbound message.
Keyword Match → HTTP Request → Condition → Send Text / Human HandoffCommon errors
| Symptom | Resolution |
|---|---|
URL or JSON is invalid | Fix syntax and resolved variables. |
401/403 | Use an authorized server credential stored in an appropriate secret-backed mechanism. |
Timeout or 5xx | Check the service, choose a safe timeout, and enable bounded retries only for idempotent operations. |
Limitations
Retries can duplicate non-idempotent external actions.
Do not place long-lived secrets directly in visible node fields.
Retries can duplicate non-idempotent external actions. Do not place long-lived secrets directly in visible node fields.