Skip to main content

Voice Workflows

A Voice Workflow is a visual state machine for a phone call. Instead of one big system prompt that has to handle everything, you lay out the call as a graph of nodes — each node is a single phase of the conversation (greet, branch, collect an answer, call an API, hand off to a human, end the call). The call walks the graph one node at a time. The core idea: only the current node is active. At any moment the agent runs just that node’s prompt and its tools — nothing else. That keeps the agent on-script and predictable, so a structured call (qualify a lead, book an appointment, triage a support request) plays out the same way every time.
Voice Workflows are in alpha. Open them in Agent Studio → the left sidebar → Workflow.

When to use a workflow vs a normal agent

A normal voice agent runs a single system prompt for the whole call. It’s open-ended and conversational — great when the caller can ask about anything and you want the agent to improvise within its instructions. A Voice Workflow is scripted and multi-step. Reach for one when the call has a clear shape you want to enforce:

Lead qualification

Greet, ask qualifying questions in order, branch on the answers, and route hot leads onward.

Appointment booking

Collect a date and details, check availability via an API, and confirm — or offer alternatives.

Support triage

Classify the issue, gather the right details for that issue, and resolve or transfer to a human.
Because each phase exposes only its own prompt and tools, the agent can’t wander off-topic or skip a required question — the workflow holds it to the script.
Voice Workflows are a distinct, voice-specific feature. They are not the chat Flow Editor (a graph of Agent / Tool / Team nodes for chat and teams), and they are not Crews (multi-agent handoff on a live call). A Voice Workflow is one agent following a deterministic, branching script.

How it works in one minute

A few concepts power the whole thing. You don’t need to master them to start — the templates wire them up for you — but here’s the mental model. Two prompt layers. A Global Prompt (set in the Settings tab) holds the shared personality and rules, and is prepended to every node. Each node then adds its own per-node prompt for that phase. The agent at any moment runs Global Prompt + the current node’s prompt.
A published Voice Workflow runs on the workflow’s Global Prompt and node prompts — not the agent’s Behavior-panel prompt. Edit your call’s wording inside the workflow, not in the agent’s Behavior panel.
The Director. After each caller turn, a fast LLM called the Director does two jobs: it extracts the current node’s declared variables from what the caller said, and it picks which natural-language (“prompt”) transition is met. The Director is gated — it only runs when routing is genuinely ambiguous — to keep latency low. You can change its model and temperature in Settings. Routing each turn (equation-first). When deciding where to go next, the engine resolves transitions in a fixed order: deterministic equation edges (like {{age}} > 18) are checked in code first, first-true-wins; if none match, the Director’s chosen prompt edge is taken (once the node’s required variables are captured); otherwise a global node may take over; otherwise the call stays put. Route-then-reply. The engine first resolves the transition, then the destination node produces the reply. So the next thing the caller hears already belongs to the node they just moved into. For the full picture, see Transitions, Variables & the Director.

Quick start

1

Open the builder

Go to Agent Studio → the left sidebar → Workflow (it carries an alpha badge and appears in Developer Mode). The builder renders inline in the studio.
2

Start from a template (or blank)

Click Templates and pick Lead Qualification, Appointment Booking, Support Triage, or Blank. Templates drop in a working graph and auto-arrange it into a clean top-down tree, so you can edit rather than build from scratch.
3

Configure prompts and variables

Select a node to edit its prompt, First Message, and the variables it should extract or require, in the Inspector. Declare typed variables in the Variables tab, and set your shared Global Prompt and the Director in Settings. See The Workflow Builder and Node Types.
4

Validate

Click Validate. The Issues tab lists errors (which block publishing) and warnings (which don’t). Fix the errors.
5

Publish

Click Publish to switch the agent into workflow mode so it runs this workflow on real calls. Save keeps a draft; only the published version runs live. See Publishing & Going Live.
6

Test call

Click Test call to talk to the workflow in a web call (no phone needed). Publish first so the agent actually runs the workflow.

Explore the docs

The Workflow Builder

The canvas, node palette, the Inspector / Variables / Settings / Issues tabs, and the toolbar.

Node Types

Conversation, Collector, Condition, Set Variable, API Request, Transfer, End Call — and Global nodes.

Transitions, Variables & the Director

Edges and conditions, equation operators, typed variables, and how the Director routes each turn.

API Request Node

Call an external API mid-call, fill parameters from variables, and map the response back into the flow.

Workflow Templates

Lead Qualification, Appointment Booking, Support Triage, and Blank — what each one ships with.

Publishing & Going Live

Validate, Save vs. Publish, the Enabled/Disabled toggle, and test calls.