Test an agent before it calls anyone
Four ways to rehearse a voice agent, free first — a scenario simulation, the prompt preview, a browser conversation, and a real call to your own phone.
There are four ways to hear what an agent will do, and they cost different amounts of money and risk. Work up the ladder: the free doors first, then the paid ones — and only when the wording is right, a real call to a number you own.
Before you start
Testing needs the voice edit permission. Talk to agent and a live usability test both need Enable live usability tests switched on in SettingsVoice & Telephony — Allows browser sessions and calls to saved test numbers. The live test additionally needs a ready caller route and the destination saved as a test number.
Which one to use
| Method | What it does | Costs |
|---|---|---|
| Scenario simulation | A deterministic run through the agent's logic against a fixture. No call is placed. | Nothing |
| Prompt preview | Shows the exact prompt the dialer will compose for this version. | Nothing |
| Talk to agent | A live browser conversation with the selected version. | Minutes — Five minutes reserved; you pay the minutes used |
| Live usability test | A real call to a saved test number. | Credits and carrier minutes |
All four sit on the agent record. Prompt preview, Call my phone and Talk to agent are the header's three doors; the scenario simulation lives behind Call my phone, in the same modal as the live usability test.
Prompt preview
Prompt preview in the record header opens a sheet — Composed by the same server-side composer the dialer uses. Read it when the agent says something you did not write: what you see is what the agent was told, for the version you have selected.
Scenario simulation
Scenario simulation is the deterministic one. It exercises the agent's workflow and tools against a fixture, and it is explicitly zero-egress: no call is placed, and production suppression is untouched, so a simulated call can never opt someone out or mark a real number.
Open the agent and click Call my phone
The Test agent modal opens. The draft is saved and validated first; if validation fails the modal does not open and the error names the field.
Choose Advanced: scenario simulation
Rather than the live usability test mode.
Set a Test persona (optional)
The placeholder says what it wants: Optional caller context, objections, or conversation path to exercise. This is where you rehearse the awkward call.
Add a CRM lead snapshot ID (optional)
Read-only lead context, so the agent sees the sort of record it will see on a real dial.
Set a Fixture number and Scenario
The fixture placeholder is (555) 010-0001. Deterministic rotation is
the default scenario.
Click Run scenario simulation
Talk to agent
Talk to agent is a real conversation with the selected version, in your browser, over a live audio room. It runs the agent's actual model and voice, so it is the fastest way to hear a bad opening line or a persona that will not stop talking — and it is paid by the minute.
Click Talk to agent
The Browser test sheet opens beside the record, named after the agent.
Optionally open Test context
Who the agent is talking to — the persona the agent should assume it reached. Objections, a wrong number, someone in a hurry.
Click Start and speak
Allow the microphone when the browser asks. The transcript fills as you talk; your turns are labelled You.
Click End
The confirm reads End the test? — The call ends now.
Read Ended, then Open call or History
The sheet links the call record and the Calls ledger, so the conversation is reviewable like any other call.
The session never runs unattended
Leaving Voice Agents ends the session, and so does a reload or closing the tab. Closing the sheet mid-conversation asks End the test? first.
Live usability test
This places a real call. It is allowed only to a saved test number, and every other gate still applies — provider readiness, agent validation, consent, the emergency stop, concurrency and credits.
Turn on Enable live usability tests
In SettingsVoice & Telephony. It is off by default.
Save the destination as a test number
Under Live test readiness, in the same settings section. The placeholder
is (555) 010-0001.
Open Call my phone on the record
Choose Live usability test in the Test agent modal.
Pick Agent, Version, Product playbook, Caller number and provider
Then the Phone number to call — it must be one of your saved test numbers.
Read the live-call gate readout, then click Call this number
It names the runtime, the provider and your credits. If it says the runtime is mock, no call will be placed however correct the rest is.
Settings reference
| Setting | What it changes | Default |
|---|---|---|
| Agent | Which agent is tested. | — |
| Version | Which version is tested. A draft is saved and validated before the modal opens. | — |
| Product playbook | Which product version the agent may quote during the test. | — |
| Caller number and provider | Which connected number places the call. Live usability test only. | — |
| Phone number to call | The destination. Must be one of the saved test numbers. | — |
| Test persona | Simulation only. Caller context, objections or a conversation path to exercise. | — |
| CRM lead snapshot ID | Simulation only. Optional read-only lead context. | — |
| Fixture number | Simulation only. The number the fixture presents. | (555) 010-0001 (placeholder) |
| Scenario | Simulation only. Which scripted path to run. | Deterministic rotation |
Reading the live test readiness card
SettingsVoice & TelephonyLive test readiness tells you which caller routes are actually usable. Each route reads one of:
| Readout | What it means |
|---|---|
| Inactive | The number exists but is not activated |
| Caller number is not eligible | The number cannot be used as a caller ID for this |
| A provider-setup reason | Something is missing on the Twilio or Telnyx side |
| Available for live usability tests | Ready |
| Readiness has not been reported | No check has come back yet — press Refresh |
With nothing connected you get: No caller numbers were returned. Connect Twilio or Telnyx below, then refresh. Where the surface is not provisioned at all, it says so and points you at scenario simulation instead.
A test call is still a call
Live usability tests consume credits and hit real carriers. They are isolated from production suppression — the call detail page says so — but they are not free and they are not silent. Keep them to numbers you own.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Call my phone will not open the modal | The draft failed server-side validation | Read the named field in the error, fix it, and try again |
| The live test option is unavailable | Enable live usability tests is off | Turn it on in Settings → Voice & Telephony |
| The destination is rejected | The number is not a saved test number | Add it under Live test readiness, then retry |
| Every caller route says readiness has not been reported | No readiness check has run yet | Press Refresh on the readiness card |
| The gate readout says the runtime is mock | The platform voice gates are in their safe default posture | Nothing you change in Settings will place a real call — contact Zyan support |
| Talk to agent shows Not started | The browser session cannot start yet | Follow the sentence in the Not started alert — it names the fix (some sit in Settings → Voice & Telephony, some are the microphone or the version), then retry |
| Talk to agent is silent | The browser blocked audio playback | Click Enable audio in the sheet |