API Integration Overview

Learn the basics of integrating external APIs into your conversational flows.

What is API Integration?

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:

  • Fetch user data from your CRM or database
  • Create records in external systems
  • Send notifications through third-party services
  • Integrate with AI services like OpenAI
  • Process payments through payment gateways
  • Trigger workflows in other applications

Key Features

  • All HTTP Methods: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
  • Dynamic Values: Use Handlebars templates in all fields for dynamic requests
  • Multiple Auth Methods: Bearer tokens, API keys, Basic Auth, or no authentication
  • Flexible Request Bodies: JSON, plain text, URL-encoded, multipart, or custom formats
  • Automatic Parsing: JSON responses are automatically parsed and made available
  • Retry Logic: Configurable retries with exponential backoff for reliability
  • Secure Storage: All credentials and headers are encrypted and never exposed
  • Timeout Controls: Configure connection and read timeouts per endpoint

Quick Start

Here's a simple example of fetching user data from an API:

Method: GET
URL: https://api.example.com/users/{{user_id}}
Headers: Authorization: Bearer {{api_token}}

Step-by-Step Setup

  1. Create an API Endpoint: Open the Resources menu in the Flow Editor toolbar and select "API Endpoints" to configure your endpoint with base URL and authentication
  2. Add an API Call Node: Drag the API Call node into your flow and select your configured endpoint
  3. Configure the Request: Set the HTTP method (GET, POST, etc.), path, headers, and request body if needed
  4. Store the Response: Choose a variable name to store the API response (e.g., user_data)
  5. Use the Response: Access response data in subsequent nodes using Handlebars syntax

Working with Response Variables

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}}

Response Variable Structure

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 API
  • body: Parsed response body (automatically parsed for JSON responses)
  • headers: Response headers from the API
  • timestamp: When the request was made
  • raw: Original response text (only if "Include Raw Response" is enabled)
  • error: Error message (only present when an error occurs)