Docs
Overview
Word Is Bond is testing and QA for voice agents. A synthetic persona caller talks to the shared sandbox agent, or you send a transcript from your own agent's calls, and the judge scores the conversation. The deliverable on every run is a four-layer scorecard with pass or fail, the reasons, and the transcript.
Quickstart
Run your first scored test call:
- Create an account — the free tier needs no credit card.
- Select the shared sandbox agent as the target.
- Pick a persona and a goal — what the caller is trying to get done.
- Run the call and open the scorecard.
Or start a run directly against the API:
POST /api/tests/run
{
"targetAgent": { "transport": "direct", "peerId": "wb-demo-dental" },
"goal": "Book a teeth cleaning and ask what it costs",
"persona": { "name": "First-time caller", "description": "a new patient booking a routine cleaning" },
"language": "en"
}
# → 201 { "data": { "id": "4f2a…", "status": "completed", "score": 91, "passed": true }, "error": null }
GET /api/tests/4f2a… # → 200, metrics + scorecard + transcript
Every endpoint returns the same envelope — { "data": …, "error": … }, exactly
one side non-null. Note that targetAgent and persona are objects,
and the run id is data.id for the sandbox target.
To score a call your own agent already had, send its transcript instead of a
target: { "transcript": "…", "scenarioGoal": "…" } returns a completed,
scored run. The Vapi guide shows the full request.
Other live targets are not proven end to end yet (checked 2026-10-10): a
direct target other than the sandbox answers with
data.runs[] and a media link your own harness must dial, a
sip target takes sipUri and has not been run against a
customer agent, and pstn needs a paid plan and a verified number.
The scorecard
Every run returns a four-layer scorecard with a pass/fail result and a plain rationale. The layers separate a network problem from a script problem from a missed outcome, so a red result tells you where to look.
| Layer | What it measures |
|---|---|
| Infrastructure | How the call flowed — turn timing, dropped turns, repeats. Today this is read from the transcript and per-turn timing; audio-level measurement is not built yet. |
| Execution | Transcription accuracy (word-error rate) and whether the agent stayed on-script. |
| Reaction | Caller sentiment across the conversation. |
| Outcome | Whether the task completed — the booking, the quote, the qualification. |
Each run persists its metrics, scorecard, and transcript. If BYOS recording is enabled, the run may also include a pointer to audio stored in your own storage; Word Is Bond does not retain call recordings.
Scheduled runs & regression
Point-in-time testing catches today's bug; scheduled runs show you tomorrow's. Save a scenario into a suite and put it on a weekly schedule on the free tier; the scheduler runs it and the scored run appears in your run list. Paid plans add daily and hourly schedules.
Changes landing 2026-10-10 and not yet verified on production: running every scenario of a saved suite on a schedule, editing and deleting suites, and running a saved suite from CI by its id. Counting runs that fail to complete in the weekly scorecard email is not verified on production yet either.
CI integration
Word Is Bond runs in the same pipeline that ships your agent. Create an API key in Studio Settings, run a scenario on every change, and fail the build when the run does not pass. The request below is the sandbox scenario, the one live target proven on production today:
# Run the sandbox scenario and fail the build if it did not pass
runId=$(curl -s -X POST https://api.wordis-bond.com/api/tests/run \
-H "Authorization: Bearer $WORDIS_BOND_KEY" \
-H "Content-Type: application/json" \
-d '{"targetAgent":{"transport":"direct","peerId":"wb-demo-dental"},"goal":"Book a teeth cleaning and ask what it costs","persona":{"name":"First-time caller","description":"a new patient booking a routine cleaning"}}' \
| jq -r .data.id)
curl -s https://api.wordis-bond.com/api/tests/$runId \
-H "Authorization: Bearer $WORDIS_BOND_KEY" | jq -e '.data.passed == true'
Transports & the free tier
Two transports carry a test call. Direct (SIP / WebRTC audio) has near-zero marginal cost — that is why the free tier is generous and needs no credit card. PSTN routes over a real carrier when the phone path itself is what you are testing; it is metered per minute and available on paid plans.
The free Starter tier hard-stops at its quota with no overage and no surprise bill. See pricing for the full matrix.
The ownership boundary
Word Is Bond tests your own systems. Testing involves no outbound activity to a third party. A phone-network test call is placed only to a number your account has proven it controls.
The same ownership check for SIP targets is not in place yet (checked 2026-10-10), which is one reason SIP test calls to customer agents are not offered yet.
Run your first test
Free tier, no credit card. Run the sandbox agent and read your first scorecard.
Start free