Testing, Drafts and Going Live
Every voice agent exists twice: as a draft you edit, and — once you
promote it — as a live copy that takes real calls. Editing never affects
callers, and promoting is a deliberate, confirmed step. This article covers
both test tools on the Test & Deploy tab and the promotion flow.
What you'll need
agents:voice:manage to promote. agents:voice:read lets you open and
read a live agent but not publish one.
- A saved agent. Both test tools require the record to exist; before that
the tab says "Save the voice agent first."
- A microphone for browser tests; a phone number you control for test calls.
Draft and live
flowchart LR
A["You edit the form"] --> B["Save Changes<br/>→ DRAFT"]
B --> C["Talk to your agent<br/>(Version: Draft)"]
B --> D["Simulate Call"]
B --> E["Save & Push to Prod"]
E --> F["Confirm panel"]
F --> G["LIVE copy<br/>takes real calls"]
G --> H["Talk to your agent<br/>(Version: Production)"]
What follows from this:
- Saving is safe. Nothing you save reaches a caller.
- A draft never rings. A draft inbound agent does not receive real calls
even with a number assigned, and an orchestration dials the live copy.
- The Agents page tells you which is which. The All / Live / Drafts
pills on Agents → Agent Types → Voice Agents filter by exactly this, and
a draft shows "—" for volume because it has taken no calls.
- The view page is the live one. Its heading reads View Voice Agent
(Production) — if what you see there does not match your edits, you have
unpromoted changes.
Talk to your agent (browser test)
The fastest loop. Test & Deploy → Talk to your agent:
- Choose a Version to test — Draft (last saved changes) or
Production.
- Click Start voice test and allow microphone access.
- Speak. The transcript builds on screen as you go; the panel shows a live
timer and highlights when the agent is speaking.
- Mute / Unmute while it runs; End test to finish. Start
another test runs it again.
What you get back:
- The live transcript, both sides.
- Tool activity (N) — every tool the agent called, with its arguments and
what came back. This is where you find out the agent tried to do the right
thing with the wrong input.
- Per-stage timings when the run ends — speech recognition, model, tools,
speech synthesis. Useful for working out whether a slow call is audio
settings or the model.
- A "tags" marker on any agent turn that contained voice delivery tags.
Expected in the static greeting; anywhere else it is a fault worth
reporting.
Two lines are worth reading before you trust a run:
- "Running the compiled production prompt (N platform components)" — good;
this run is representative.
- "Platform prompt components did not load — this run is NOT representative
of a real call" (amber) — the platform rules did not load, so the agent is
running without them. Re-run before drawing conclusions.
What a browser test cannot tell you
The panel states its own limits, and they matter:
- Tools run for real. Emails, SMS and connected systems fire. Use
Agent Mode → Testing Agent on the Setup tab, or your own contact
record, while you iterate.
- Telephony-only behaviour is absent — transfers, voicemail detection and
caller-ID contact lookup.
- Saved memories are not part of it.
- Timing is not phone timing. Judge turn-taking on a real call.
Simulate Call (real telephony test)
Test & Deploy → Simulate Call places a real call to a number you enter,
over the full telephony path, using the agent's current configuration.
- Enter a number under Phone number to call.
- Click Simulate Call.
- Answer it.
Use this to check anything the browser test cannot: transfers and the
briefing, voicemail behaviour, whether the agent recognises you from caller
ID, keypad navigation, and how the timing actually feels.
It costs real minutes and counts against your
daily call budget. Call yourself.
Promote to production
- Click Save & Push to Prod in the sticky bar at the bottom of the form.
- Read the amber confirmation panel. It tells you which of two things is
about to happen:
- "This publishes the agent to production for the first time."
- "This OVERWRITES the currently-live copy of this agent."
- Under "Once live, this agent can reach real people:" it lists exactly
how — the phone number it is bound to, the number it texts from, the
address it emails from, and which sending tools it carries. Read this list.
It is the summary of what you are authorising.
- Click Promote to production, or Cancel.
The confirmation is rendered in the page rather than as a browser dialog, on
purpose: it is visible, it can be screenshotted for an audit, and an automated
dialog handler cannot accept it on your behalf.
If the preview could not be loaded the panel says so — "Could not load the
promotion preview — the consequences of this promote are unknown." Do not
promote through that unless you already know what the agent does.
Promotion warnings and refusals
Some conditions produce an amber warning after the save; others stop the
promotion outright.
The one you will meet most: an inbound phone number can be live on only one
production voice agent. Promoting a second inbound agent holding the same
number is refused and names the conflict. Free the number on the other agent
first — see Phone Numbers and Caller ID.
Copy an agent instead of starting over
To build a variant — a Spanish version, a second line with different
forwarding, a safe place to try a rewrite — duplicate rather than edit the
live one:
- Agents → Agent Types → Voice Agents.
- Click ⋯ on the row → Duplicate as draft.
- The copy is created as a draft named "Copy of …" and its editor opens.
To copy several at once, select rows with their checkboxes and use
Duplicate N in the bulk bar.
The copy starts from your editable draft if there is one, otherwise from the
live record. It is always a draft, never promoted, and it carries none of the
original's promotion history. It keeps the phone and text numbers and tells
you so in a warning when it opens — change them before promoting, or you
will hit the one-agent-per-inbound-number rule above.
A release routine that works
- Edit the draft and Save Changes.
- Talk to your agent on Draft — check the wording and the tool calls.
- Simulate Call — check the phone behaviour and the feel.
- Save & Push to Prod, read the panel, promote.
- Let it take a few real calls, then open ⋯ → Performance & insights and
the agent's Calls page and read what actually happened.
Step 5 is the one people skip, and it is the one that catches what testing
cannot: real callers interrupt, mumble, ask for things you did not anticipate,
and hang up at the moment that tells you something.
Troubleshooting
- "Save the voice agent first." The tab needs a saved record. Click
Create Voice Agent.
- The browser test will not start. Microphone access was blocked. Allow it
and use Try again.
- The amber "NOT representative" line. Platform prompt components did not
load for that run. End it and start another.
- My change is not on live calls. You saved the draft. Use Save & Push
to Prod.
- Promotion was refused. Read the message — the usual cause is another
production inbound agent holding the same phone number.
- The copy I duplicated started answering the line. It kept the original's
numbers and somebody promoted it. Change the numbers on a duplicate before
promoting.
- The view page shows old settings. That page shows production. Your edits
are in the draft.
- A test sent a real email. Tools run for real. Use Agent Mode →
Testing Agent while iterating.
Next steps