Publishing & Going Live
Building a workflow on the canvas only creates a draft. To make your agent actually follow it on real phone calls, you validate it, publish it, and (when you want) test it from the browser. This page walks through each toolbar action and then recaps exactly what happens on the wire once a workflow is live.Voice Workflows are in alpha. Open them in Agent Studio → the left sidebar → Workflow.
The path to live
Validate
Click Validate. The Issues tab lists everything the engine validator
found — fix the errors first.
Publish
Click Publish to switch the agent into workflow mode. From now on, calls
to this agent follow the published workflow.
Validate
Validate runs the engine validator and surfaces the results in the Issues tab. Issues come in two severities:| Severity | Blocks publishing? | What to do |
|---|---|---|
| Error | Yes | Must be fixed before you can publish. |
| Warning | No | Safe to publish, but worth reviewing. |
- Dead-ends — a node that the flow can reach but can never leave (no outgoing edge and not an End Call). The call would get stuck on that phase.
- Undeclared variables — a
{{variable}}referenced in a prompt, edge equation, or Set Variable template that isn’t declared in the Variables panel. - An unconfigured API Request — an API Request node with no endpoint, webhook, or free-form request configured.
Save vs. Publish
These are two different actions, and the difference matters:| Action | What it does |
|---|---|
| Save | Persists the canvas as a draft. Nothing about live calls changes. |
| Publish | Makes the agent run this workflow on real calls — it switches the agent into workflow mode. |
A published Voice Workflow uses the workflow’s Global Prompt (Settings tab)
plus each node’s per-node prompt — not the agent’s Behavior-panel system
prompt. When a workflow is live, the Behavior-panel prompt is ignored. See
Transitions, Variables & the Director for how
the prompt layers stack.
Enabled / Disabled toggle
The toolbar’s Enabled / Disabled toggle is the fast off-switch:- Enabled — calls follow the published workflow.
- Disabled — calls ignore the workflow and fall back to the normal agent (its Behavior-panel prompt and tools), without unpublishing.
Disabled is different from never published. Once you’ve published, the
workflow version is stored on the agent; the toggle just decides whether live
calls use it.
Test call
Test call launches a web call from the studio so you can talk to the workflow from your browser — no phone needed. Connect your mic, then walk the flow: trigger each branch, confirm collectors capture cleanly, and watch globals interrupt and return.Choosing the Director model
The Director is the fast LLM that runs on ambiguous caller turns to extract the current node’s variables and pick which prompt-condition edge is met. You set its model and temperature in the Settings tab. The Director is gated: it only runs when routing is genuinely ambiguous. Deterministic equation edges and global enter-conditions are evaluated in code without it, which keeps latency low on most turns.How it runs on a call
Once a workflow is published and enabled, here’s exactly what happens on a live call:- Each node is a phase. Only the current node’s prompt and tools are active, which keeps the agent on-script.
- The opening node greets (its First Message), then the caller speaks.
- After each caller turn the Director extracts the current node’s declared variables from what the caller said.
- The engine resolves the transition in a fixed order:
equation edges first (deterministic, first-true-wins) → then the
Director’s chosen prompt-edge (only if the node’s
require[]variables are satisfied) → then global enter-conditions → else stay on the node and re-ask. - Route, then reply. The flow lands on the destination node first, and that destination node produces the reply.
- Internal nodes pass through. Condition, Set Variable, and Transfer nodes run instantly without taking a caller turn, then hand off to the next conversational node, which speaks.
- API errors don’t hang the call. On a failed API Request, the node follows its error edge so the flow always moves on.
- Globals can interrupt and return. A Global node becomes reachable from any interruptible node when its enter-condition matches (e.g. the caller raises a pricing objection or asks for a human). It handles the situation, then returns the caller to the node they were on. A per-global cooldown (in turns) stops it from re-triggering immediately.
Alpha limitations
Next steps
The Workflow Builder
The canvas, palette, sidebar tabs, and toolbar in detail.
Transitions & the Director
Edges, conditions, variables, and how routing resolves each turn.
Node Types
Conversation, Collector, Condition, Transfer, End Call, and Global nodes.
Workflow Templates
Start from Lead Qualification, Appointment Booking, or Support Triage.

