Skip to main content
Configure visual flows that run before your agent says or writes anything. Use flow nodes to fetch CRM data, initialize variables, or run conditional checks before the conversation begins.

Overview

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

Create a Pre-conversation Action Flow

  1. Open Studio → Build → AI Agents → Actions tab → Pre-conversation.
  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-conversation actions can be scoped to run only on specific channels. An action scoped to Voice is skipped for chat and email conversations, and the same applies in reverse — 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, chat or email) in a Decision node.

Flow Builder

The flow defines what happens before the conversation 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-conversation flows do not support Say nodes, because they run before the customer reaches the agent.

Best Practices

  • Keep pre-conversation flows minimal and optimized, so the agent’s first message is not held up.
  • Map only the fields you need from your backend to simplify variable usage.
  • Use consistent, readable variable names (e.g. customerFirstName, orderId).