What is a Conversation Flow Agent?
Conversation flow agents divide a task into nodes, each with its own instructions or actions. You connect the nodes and define the conditions for moving between them. This gives you more control over execution and lets you limit the instructions and tools available at each point. It also introduces node boundaries that can make conversations harder to handle when callers give information early or change their minds. For your first version, we recommend starting with a single prompt agent unless you need the additional structure; see when to use single prompt vs. conversation flow agents. Before building, read the conversation flow best practices for guidance on prompts, transitions, and node boundaries.
Components
-
Global settings: Configuration that applies to the entire conversation, including:
- Global prompt and personality
- Default voice and language settings
- Agent-wide parameters and behaviors
-
Node: The basic unit of conversation flow. Multiple node types are available:
- Conversation nodes for dialogue without tool calling
- Subagent nodes for dialogue with tool calling
- Function nodes for deterministic API and tool execution
- Logic nodes for branching
- End nodes for call termination
-
Edge: Connections between nodes that define transition logic:
- Condition-based transitions
- Default fallback paths
- Dynamic routing based on conversation context
-
Tools / Functions: Reusable capabilities that can be attached to subagent nodes or invoked from function nodes. Conversation nodes do not use tools / functions:
- Custom API integrations
- Built-in utilities (calendar, SMS, transfers)
- External service connections
How it Works
The active node determines which instructions or actions the agent uses. Its outgoing transition conditions determine where the agent can go next. A node can handle multiple conversation turns, so you do not need a separate node for each question. Subagent nodes can also call tools during the conversation.Navigating between agents and subflows
The builder has a selector at the top (it shows Main flow by default). Use it to move between everything you have open — each opens in its own tab:- Agents: your main agent (Main flow) and any transfer agents you open from an agentic warm transfer.
- Subflows: any subflows you open for editing.

Quickstart
Head to the Dashboard, create a new conversation flow agent and select a pre-built template to get started. You can view all options available to the agent within the Dashboard, with details of the options and any latency implications listed there. You can also view the estimated latency and cost of the agent. Modify the template to your needs; all changes are auto-saved.Reusing a flow across multiple agents
A conversation flow is a standalone resource — identified by aconversation_flow_id — that an agent references through its response_engine. The same flow can be linked to multiple agents, so you can share a single flow across, for example, a staging agent and a production agent, or across multiple language or channel variants.
- In the dashboard, create the flow once, then create or edit each agent and select the existing flow as the agent’s response engine.
- Via API, set the same
response_engine.conversation_flow_idon each agent when calling Create Agent or Update Agent. - Updates to the flow apply to every agent that references it, so publish changes carefully and test in a non-production agent first.
Pricing
Since the choice of model can be overridden within individual nodes, the pricing for each call is calculated based on:- Time spent in each node (seconds)
- Model price per second for that specific node
- Total aggregated across all nodes visited during the call

