Skip to main content
The Request node sends an HTTP request to any URL and captures the response. Use it to call external APIs, fetch data from third-party services, send notifications, or interact with any system that exposes an HTTP interface.

When to Use It

  • Calling a REST API (GET, POST, PUT, DELETE, PATCH)
  • Fetching data from an external service
  • Sending data to a webhook on another platform
  • Triggering actions in tools like Slack, email providers, or CRMs
  • Downloading or posting files

Configuration

The full URL to send the request to. Supports template syntax to insert dynamic values from previous nodes.
https://api.example.com/users/{{1_Lookup.body.user_id}}
The HTTP method to use.
MethodUse Case
GETRetrieve data
POSTCreate a resource or send data
PUTReplace an existing resource
PATCHPartially update a resource
DELETERemove a resource
Key-value pairs sent with the request. Common headers include:
  • Content-Type: application/json
  • Authorization: Bearer {{credential.api_key}}
Headers support template syntax and credential references.
The request payload, typically used with POST, PUT, and PATCH. Write your body as JSON and use templates to insert dynamic values:
{
  "name": "{{1_Form.form_data.name}}",
  "email": "{{1_Form.form_data.email}}"
}
Key-value pairs appended to the URL as query parameters. These are URL-encoded automatically:
KeyValue
page1
search{{1_Input.body.query}}

Using Credentials

Instead of hardcoding API keys in your headers or body, reference a stored credential:
Bearer {{credential.my_api_key}}
Credentials are encrypted at rest and resolved securely at runtime. See Credentials for more on managing them.

Output

The Request node outputs the full HTTP response:
FieldDescription
statusHTTP status code (e.g., 200, 404, 500)
bodyThe response body, automatically parsed as JSON if applicable
headersResponse headers as key-value pairs
Access these in downstream nodes:
Status: {{2_Request.status}}
First user: {{2_Request.body.data[0].name}}

Scheduling

The Request node can optionally run on a cron schedule, making it a trigger node for your flow. This is useful for:
  • Polling an API every hour for new data
  • Running a daily report
  • Syncing records on a schedule
To enable scheduling, toggle Cron Enabled in the node config and set a cron expression:
ExpressionSchedule
*/15 * * * *Every 15 minutes
0 * * * *Every hour
0 9 * * 1-5Weekdays at 9 AM
0 0 * * *Daily at midnight
Only nodes with no incoming connections (root nodes) can be scheduled. A flow can have one active schedule at a time.

Error Handling

If the request fails (network error, timeout, or a non-2xx status), the node’s failure path fires. Connect a downstream node to the failure output to handle errors gracefully. Common patterns:
  • Log the error to a data table
  • Send a notification (e.g., Slack message)
  • Retry with a different endpoint
  • Create a ticket for manual review
Even a 400 or 500 response is considered a completed request — the failure path only fires on network-level failures. If you need to branch on status codes, use a Condition node after the Request.