Learn the basics of integrating external APIs into your conversational flows.
The API Call node allows you to integrate your conversational flows with any external REST API. Use it to fetch data, send information, or trigger actions in third-party services.
With API integration, your flows can:
Here's a simple example of fetching user data from an API:
GET
https://api.example.com/users/{{user_id}}
Authorization: Bearer {{api_token}}
user_data)The response from an API call is stored in a variable that you specify. You can access this data in subsequent nodes using Handlebars templates:
Name: {{user_data.body.name}}
Email: {{user_data.body.email}}
Status: {{user_data.status}}
Each API response includes the following properties:
{
"status": "success" | "error" | "failure" | "exception",
"status_code": 200,
"body": { ... }, // Parsed JSON or plain text
"headers": { ... },
"timestamp": "2026-01-06T10:30:00Z",
"raw": "...", // Only if includeRaw is enabled
"error": "..." // Only present on errors
}
status: Indicates the result (success, error, failure, or exception)status_code: HTTP status code from the APIbody: Parsed response body (automatically parsed for JSON responses)headers: Response headers from the APItimestamp: When the request was maderaw: Original response text (only if "Include Raw Response" is enabled)error: Error message (only present when an error occurs)The API Call node can cache successful responses within a conversation, avoiding redundant external requests when the same parameters are used more than once in a flow.
When caching is enabled, the node computes a fingerprint of each request (HTTP method + URL + query params + body). If a previous successful response with the same fingerprint exists and is within the TTL, it is returned immediately without making a network request.
In the API Call node's property panel, open the Response Caching section: