Skip to main content
Test your agent two ways. Talk to it from the browser to hear how it sounds and how it handles a real conversation. Then write test cases that check its answers and its tool calls, and run them every time you change the prompt.

Talk to it in the browser

A browser call needs no number and no carrier. It reaches the agent the same way a phone call does.
1

Save your changes

Calls reach the saved version of the agent. If you’ve edited it, choose Save first.
2

Call the agent

Open the agent and choose Talk to agent, then Call. Allow the microphone when the browser asks.The panel shows Connected and a call timer. Use Mute to stop sending your voice, and Hang up to end the call. Closing the panel also hangs up.
3

Read the transcript

Go to Calls and open the call to read the transcript.
Calls from the browser need the dashboard on HTTPS or localhost. Fonoster Cloud is served over HTTPS. On your own install, open the dashboard at localhost on the machine that runs it.
Once the agent has a number, the Talk to agent panel also lists it under Call this number, so you can test from a real phone. You can also call it from a softphone: see SIP agents.

Write test cases

A test case is a scripted conversation. For each thing the caller says, you give the answer you expect and, optionally, the tools the agent should call. Fonoster runs the conversation through your agent and reports each step as passed or failed. Test runs use text, not audio, so they check what the agent decides and says, not how it sounds. They never call your tools’ endpoints: every tool call succeeds with {"status": "ok"}.
1

Create the test file

The test file holds the agent’s configuration, the same conversationSettings and languageModel you deploy, plus a testCases block. Nest them under intelligence.config.This file tests a receptionist that looks up orders and transfers upset callers:
front-desk.eval.yaml
2

Run it

Run the test file against your workspace:
The CLI prints each step as it finishes:
To get JSON instead, add -o json. To save a JSON summary to a file, add --output-file results.json. The command is marked experimental, so its output may change.

How steps are checked

Each scenario is one conversation. Its steps run in order, so later steps see what was said before. A few details:
  • When the agent calls hangup or transfer, its reply is the goodbye message or the transfer message. That’s why the wants-a-person scenario uses an exact match.
  • To check that a parameter holds a date without fixing its value, set it to valid-date. The step passes when the value is an ISO 8601 date.
  • A step that takes longer than 60 seconds fails.
  • evalsSystemPrompt replaces the judge’s instructions for similar matches. Leave it out to use the default.

Keys for test runs

Test runs use your agent’s model, with your workspace’s key for that provider if it has one, or the platform’s key otherwise. The judge for similar matches is always an OpenAI model and needs an OpenAI key the same way. Don’t put keys in the test file. To add your own, see Use your own vendor keys. Every testCases field is in Autopilot configuration.

Next steps

Write prompts for voice

Fix what your tests find.

Call records

Read what happened on real calls.