For the complete documentation index, see llms.txt. Any page on this site can be fetched as Markdown by appending .md to its URL.

Voice Agents

Preview Calls

Test a voice agent by talking to it in your browser with Call Agent, without placing a phone call or publishing a workflow.

Call Agent opens a live voice call to the agent you're editing, in the browser. You talk into your computer's microphone and the agent answers, so you can hear a prompt change without publishing a workflow, routing a number, or picking up a phone.

The call runs the configuration currently on screen, including edits you haven't saved yet.

Start a preview call

Select Automations → Agents in the left navigation and open an agent. Call Agent sits in the top right of the editor, in the same row as the save and publish actions.

Every agent has it, on every version. Add Agent creates the agent before the editor opens, so there is no point at which you are editing an agent that can't be called, and a published version can be called as readily as a draft.

Clicking it checks the same rules Save Configuration checks. If something is incomplete, the editor reports it under Couldn't call agent and opens the section that owns the field, rather than failing later inside the call.

It deliberately does not apply the stricter checks Publish runs. An agent that isn't ready to go live — one whose tool points at a colleague's unpublished draft, say — can still be called here. Being able to try out work in progress is the point.

Your browser then asks for microphone permission. Grant it and the preview opens in place of the editor, with Back to Agent at the top left.

Use headphones. Your microphone will otherwise pick up the agent's own voice through your speakers, and the agent will interrupt itself.

What the preview shows

The page has a row of numbers across the top, the agent on the left, and the conversation on the right.

  • The numbers row counts the call so far: the average and 95th-percentile time to first audio, and how many turns, barge-ins, tool calls, and transfers there have been. The two latency numbers show a dash until the agent has replied.

  • The agent is the avatar and name of the agent you're talking to, with the model under it. After a transfer it shows the new agent, with "via" and the agent that handed over.

  • The orb is the agent's own avatar, moving, sized to fit the window and centered with the caption under it. While the agent talks, the eye comes forward, its iris turns and brightens, the orb swells, and a soft glow in the agent's color follows the voice. When the agent stops, the eye sinks back a little to listen. While you talk, it looks toward you and a purple light falls on it from your side, following your voice; the orb itself holds still. When nobody is talking it glances around and blinks. If no purple light reaches it while you speak, the browser isn't hearing you. The line under it says the same thing in words: Agent speaking, Listening to you, or Listening. While you're muted it dims, and it stops glancing around and blinking unless the agent is talking. With the Initials avatar style the orb has no eye, and its colors flow with the voice instead.

  • The caption is your last line and the agent's latest one, in large type. Both show the same text as the conversation.

  • Response latency charts each agent reply's time to first audio, one bar per reply, blue under 800 ms, yellow under 1,500 ms, and red from 1,500 ms up, with a dashed line at the average. Point at a bar for the agent and the time.

  • Caller sentiment adds a colored band each time the agent's read on you changes.

  • The conversation is every turn as the agent and the brain produce it, your lines on the right and the agent's on the left with its avatar. Under each agent line are the agent's name, NNNms to first audio (how long you waited between finishing your sentence and hearing the reply start, measured at the brain), and Barge-in on a turn you interrupted. It follows the newest turn unless you have scrolled up to re-read something.

    Lines appear as they are spoken. Yours shows, dimmed, while you talk, rewriting itself as speech recognition settles on what you said, and becomes your line once you finish. The agent's line shows the reply as the brain recorded it. That record usually arrives before the agent starts talking, so most replies appear whole at once. When the agent starts talking first, its words appear in time with its voice until the record arrives, and the wording can then change slightly. After you interrupt the agent, its line can include words you never heard.

    A tool call appears as a row of its own, collapsed, carrying the tool, how it turned out (Succeeded, Failed, Running while it is still in flight, or No result when the call ended before it answered), and how long it took when the platform timed it. Expand one for the arguments the agent sent, the tool's own name as your configuration spells it, and, on a failure, the reason the tool gave. An integration tool's row also shows the HTTP status, and admins get tabs with the request and response. See What the agent did for the outcomes in full and for why a duration is sometimes missing, and Request and response details for the tabs.

  • The timer at the bottom counts up to the five minute limit.

  • The call controls sit beside the timer while the call is up. Mute stops sending your microphone. Hang Up and Back to Agent both end the call and return you to the editor.

On a narrow window the two halves stack, and the agent side shrinks to one row: avatar, name, a small orb, and the agent's latest line.

The conversation stays on screen after the call ends, and the orb settles. When the agent picks a disposition, the ending names it.

Restart starts a fresh call against whatever the form says now. Use it after an edit.

Visual quality

Visual quality, next to Restart, sets how the orb is drawn. Your choice is saved in this browser for your sign-in.

ChoiceWhat it does
AutoThe default. Uses Quality when your browser supports WebGL2, and Basic when it doesn't or when your system asks for reduced motion. If a typical frame in the first 60 takes more than 20 ms (the median, so one slow frame doesn't count), it switches to Basic until you reload the page.
QualityA lit, 3D-shaded orb drawn on the graphics card. It keeps animating when your system asks for reduced motion: only Auto switches to Basic for that. Without WebGL2 you get Basic.
BasicThe avatar itself, animated. Lighter on the device. When your system asks for reduced motion it is drawn once and holds still.

If the Quality orb can't start, or the browser loses its graphics context during a call, the orb switches to Basic by itself.

Transfers during a test call

When the agent uses Transfer to another agent, the conversation marks the moment with a line in the new agent's color, "Now talking to" and its name, and the page takes on that agent: its avatar, its orb, and its model. Its replies carry its own avatar.

It runs your unsaved edits

The configuration is snapshotted when the call starts, not read live. Editing the form during a call does not change the agent you're talking to, which is why the bar at the top prints Running draft as of and the time the call began. To hear an edit, click Restart.

This is the loop the preview exists for: change a prompt, restart, listen, change it again. Nothing is written to the agent until you save.

It also means a preview call tells you about the version you are looking at, not the one callers reach. Open a draft and you hear the draft; open the published version and you hear what is live. See Versioning.

What a preview call does not do

A preview has no phone call behind it, and several things behave differently as a result.

  • It leaves no call record. A preview does not appear in Recent Calls, produces no post-call analysis, and reports nothing to a workflow.
  • Caller memory is off, both conversation depth and dropped-call resume. The agent starts with no history of you, so a returning-caller greeting won't fire and a memory instruction won't have anything to read.
  • Telephony built-ins simulate success. Transfer to an outside number reports that it connected without dialing anywhere, Pause and resume recording reports success without a recording to pause, and keypad capture returns the sample digits 1234. Transfer to another agent is not simulated: see Transfers during a test call. See Built-in Tools for what the simulation does and doesn't prove.
  • A handoff ends the call. When the agent hands back to a workflow, there's no workflow session to hand to, so the preview reports the target and stops.

Your own tools are the exception: an integration tool that calls your API on a real call calls it on a preview call too, with real data. To exercise a request without that, use Test This Tool in the tool's own editor, covered in Tools.

Limits and defaults

LimitValue
Call length5 minutes, then the call ends with the preview limit as its reason
Concurrent previewsOne at a time per signed-in user
Leaving the previewConfirmed while the call is up, then the call ends

Hang Up and Back to Agent end the call without asking. Anything else that would navigate away — a link in the left navigation, a breadcrumb — asks first, under End the call?, because leaving cannot be undone. Ending the call discards nothing you have saved, but the transcript goes with it.

Troubleshooting

Permission needed. The browser refused microphone access. Enable it for this site in your browser's settings, then use Try Again.

A preview call is already active for your account. You have another preview running, most likely in a tab you left open. End it, or wait for it to hit the five minute limit.

This preview session is invalid or has expired. The session that started the call is no longer good. Click Call Agent again to start a new one.

Your sign-in session expired. Reload the page and start the call again.

The connection dropped unexpectedly. The media socket closed without an ending. Retry; if it keeps happening on one network, it is worth reporting.

When to use a real call instead

The preview covers the agent: its prompt, its voice, its tools, its endings. It does not cover the path a caller takes to reach it. Verify these on a real call to a routed number:

  • the number or SIP trunk is pointed where you think it is
  • the workflow reaches the AI Voice Agent node and wires its exits somewhere
  • a transfer destination is a queue that exists and answers
  • audio quality over the carrier, rather than over your laptop's microphone

Using an Agent in a Workflow covers that side.

Next steps

On this page