HTTP Request Block
Call an external API from an automation funnel.
Use HTTP request to send data from the current automation run to an external service.
Configure the Request
- Add HTTP request to a step.
- Select
GET,POST,PUT,PATCH, orDELETE. - Enter the full request URL in API.
- Add query parameters when the endpoint expects URL parameters.
- Add request headers, such as authorization or content negotiation.
- Choose a body type and complete its fields.
- Open Checklist, save, and test with a non-production client.
Request Fields
| Field | Purpose |
|---|---|
| API | Full endpoint URL. Required. |
| Parameters | Key-value pairs added to the URL query string. |
| Headers | Key-value pairs sent as HTTP headers. |
| Body type | Encoding used for the request payload. |
| Body | Payload sent for body types that require content. |
Keys and values can use expressions. This makes it possible to send client, message, funnel, and environment data.
Body Types
| Body type | Use it for |
|---|---|
| none | Requests without a payload, commonly GET or DELETE. |
| form-data | Multipart key-value fields, typically used by form or upload endpoints. |
| x-www-form-urlencoded | Form fields encoded in a single URL-encoded body. |
| JSON | Structured API payloads. Enter valid JSON. |
| raw | Plain text or a service-specific payload. |
When a body type other than none is selected, its body cannot be empty.
Expression Example
Request URL:
{env.API_URL}/ticketsHeaders:
| Key | Value |
|---|---|
Authorization | Bearer {env.API_TOKEN} |
Content-Type | application/json |
JSON body:
{
"client_id": "{sys.client.id}",
"client_name": "{sys.client.name}",
"message": "{sys.message.text}",
"priority": "{funnel.priority}"
}Store reusable endpoint and credential values as environment variables. Do not place long-lived secrets directly in message text or client-visible fields.
Order and Failure Planning
Put Set variable and client-update blocks before the request if the request reads their new values. Put a confirmation message after the request only when it should run after the call.
Design a separate path for cases where an external service is unavailable. During testing, verify timeouts, authorization failures, invalid payloads, and unexpected response data against the receiving service.
Validation and Troubleshooting
Save Is Disabled
The URL is required. The selected body format must contain data, and every expression must be valid. Open Checklist to jump to the affected block.
The API Rejects the Request
Check the method, URL, required headers, body encoding, and credentials. For JSON, confirm that the rendered result remains valid JSON when variables contain quotes or empty values.
The Wrong Runtime Value Is Sent
Confirm the variable prefix and block order. Use sys.* for runtime context, funnel.* for mutable run data, and env.* for configuration.