ZyanDocs

Test an agent before it calls anyone

Three ways to rehearse a voice agent — typed Voice Lab, zero-egress scenario simulation and a real usability call to a saved test number.

There are three ways to hear what an agent will do, and they cost different amounts of risk. Work up the ladder: rehearse by typing, then simulate, then — only when the wording is right — place a real call to a number you own.

Before you start

Testing needs the voice edit permission. A live usability test additionally needs Enable live usability tests switched on in SettingsVoice & Telephony, a ready caller route, and the destination saved as a test number.

Which one to use

MethodWhat it doesPlaces a call?
Voice LabYou type what the lead would say and read the agent's repliesNo
Scenario simulationA deterministic run through the agent's logic against a fixtureNo — zero egress
Live usability testA real call to a saved test numberYes

Voice Lab

Voice Lab sits below the version card on an agent version. Type into the message box — the placeholder is Type a reply… — and read what comes back. There is no telephony involved at all, so it is the fastest way to find a bad opening line or a persona that will not stop talking.

End session is in the chat header.

Voice Lab is per version

It mounts against the version you have selected. Switching versions starts a different rehearsal — if the agent suddenly behaves differently, check which version is selected before assuming something broke.

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 an agent version and click Test agent

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.

Submit

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 Test agent on the version

Choose Live usability test.

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 before you submit

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

SettingWhat it changesDefault
AgentWhich agent is tested.
VersionWhich version is tested. A draft is saved and validated before the modal opens.
Product playbookWhich product version the agent may quote during the test.
Caller number and providerWhich connected number places the call. Live usability test only.
Phone number to callThe destination. Must be one of the saved test numbers.
Test personaSimulation only. Caller context, objections or a conversation path to exercise.
CRM lead snapshot IDSimulation only. Optional read-only lead context.
Fixture numberSimulation only. The number the fixture presents.(555) 010-0001 (placeholder)
ScenarioSimulation 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:

ReadoutWhat it means
InactiveThe number exists but is not activated
Caller number is not eligibleThe number cannot be used as a caller ID for this
A provider-setup reasonSomething is missing on the Twilio or Telnyx side
Available for live usability testsReady
Readiness has not been reportedNo 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

SymptomCauseFix
Test agent will not open the modalThe draft failed server-side validationRead the named field in the error, fix it, and try again
The live test option is unavailableEnable live usability tests is offTurn it on in Settings → Voice & Telephony
The destination is rejectedThe number is not a saved test numberAdd it under Live test readiness, then retry
Every caller route says readiness has not been reportedNo readiness check has run yetPress Refresh on the readiness card
The gate readout says the runtime is mockThe platform voice gates are in their safe default postureNothing you change in Settings will place a real call — contact Zyan support
Voice Lab behaves differently from yesterdayA different agent version is selectedVoice Lab mounts per version; check the selection