Skip to main content
Configure visual flows that run before your agent greets the caller. Use flow nodes to fetch CRM data, initialize variables, or run conditional checks before the call begins.

Overview

  • When it runs: Before the agent speaks.
  • Execution order: Multiple pre-call actions run sequentially in creation order.
  • Variable scope: Variables created here are available through the entire interaction. Only variable values assigned in pre-call actions can be used to personalize the Initial Message and Guidelines.
Only variables values assigned in Pre-Call Actions are available to Initial Message and Guidelines.

Create a Pre-Call Action Flow

  1. Open Studio → Build → AI Agents → Actions tab → Pre-Call.
  2. Select “Create New Action” and fill in:
    • Name: Short, descriptive identifier
    • Description: What the action does and why
    • Execute on channels: Which channels the action runs on — Voice, Chat, or both (at least one must be selected)
  3. Save the action, then click Save & Edit Flow to open the Flow Builder.

Channel Scoping

Pre-call actions can be scoped to run only on specific channels. An action scoped to Voice is skipped for chat conversations, and vice versa — useful when a CRM lookup only makes sense for callers, or a chat conversation needs different preparation.
  • Existing and newly created actions default to Voice only.
  • To branch within a shared flow instead, use the built-in interaction.CHANNEL variable (resolves to voice or chat) in a Decision node.

Flow Builder

The flow defines what happens before the call starts. Drag nodes from the sidebar and connect them starting from the Start node. In a large flow, use the search box in the top-right of the canvas to jump to a node by name or type — see Find a Node on the Canvas.

API Request Node

Call an external HTTP API and map response fields to variables:
  • Method: GET, POST, PUT, DELETE, PATCH
  • URL: Static URL (e.g. https://api.example.com/crm/)
  • Query Params: Key-value pairs, variable-aware
  • Headers: Static or variable-aware (e.g. Authorization)
  • Body: JSON request body for non-GET methods; variables supported
  • Auth Profile: Optional reusable credentials profile — see Auth Profiles for details. Also supports mTLS for APIs that require certificate-based mutual authentication.
  • Test Request: Use “Send” to preview response in Data or Meta tabs
  • Response Mapping: Map JSON paths to variables (e.g. save firstName to {{firstName}}).

Set Variable Node

Assign or overwrite a variable value at any point in the flow without making an API call:
  • Variable: Choose an existing variable or create a new one.
  • Value: Enter a static value or reference another variable (e.g. {{status}}).

Decision Node

Add conditional branching to your flow based on variable values or expressions:
  • Condition: Define one or more conditions that evaluate variables (e.g. {{vipStatus}} == true).
  • Branches: True and False output paths to route downstream nodes.
Pre-call flows do not support Say nodes as they run before the caller is connected to the agent.

Best Practices

  • Keep pre-call flows minimal and optimized to reduce first-utterance latency.
  • Map only the fields you need from your backend to simplify variable usage.
  • Use consistent, readable variable names (e.g. customerFirstName, orderId).