Skip to content

Phone Testing: Inbound vs Outbound

Testzilla tests agents on a real phone line in two directions. The direction is always named from your agent’s (the system under test) point of view:

  • Inbound — your agent receives the call. Testzilla dials your agent’s number and the tester drives the conversation live. Available today.
  • Outbound — your agent places the call. Your agent dials a Testzilla-provided number, the test’s predeployed agent answers and runs the call, and the transcript is sent to Testzilla afterward for scoring. Coming soon.

These two are not the same mechanism with the dial direction flipped — they work differently end to end. Inbound is driven live by the tester; outbound is evaluated after the fact from a post-call webhook. The comparison below makes the practical difference clear so you can pick the right one.

Inbound CallOutbound Call
AvailabilityAvailable todayComing soon
Who places the callTestzilla dials your agentYour agent dials a Testzilla number
Who answersYour agent (the SUT)The test’s predeployed Testzilla agent
How the conversation is drivenThe TZ tester drives it live, in real timeThe predeployed agent runs the call autonomously
When evaluation happensDuring / right after the live callAfter the call, from a post-call webhook transcript
Phone numberYou provide your agent’s numberTestzilla provisions a dedicated number per test
What you configureProvider + your agent’s number + credentialsOutbound test (the dedicated number is auto-provisioned)
Per-call billing40 credits per call (the phone rate)Same per-call phone rate as inbound
SubscriptionNone beyond your plan$5/mo per outbound test (dedicated test-line add-on)

In short: choose Inbound when your agent answers calls and you want the tester to drive a live conversation. Choose Outbound (once available) when your agent is the one that initiates calls and you need to verify what it does when it places a call.


Your agent receives the call. Testzilla dials in to your agent’s phone number through your telephony provider (Retell or VAPI), and the AI tester drives the conversation in real time — speaking, listening, and steering toward the scenario you wrote — then evaluates and scores the result.

This is the highest-fidelity path for an agent deployed on a number that real callers ring. The whole voice pipeline — telephony, ASR, LLM, TTS — is exercised exactly as a real caller would experience it, including IVR routing, hold music, and transfers.

How it works

  1. You point a Phone channel at your agent’s inbound number.
  2. You write a test describing the scenario and pass/fail criteria in plain language.
  3. Testzilla dials your agent. The tester conducts the conversation live.
  4. When the call ends, Testzilla returns a transcript, a pass/fail verdict, a score, an analysis, and any data collected on the call.

When to use it

  • Your agent is deployed on a number that real callers dial.
  • You want end-to-end telephony coverage: call routing, IVR behaviour, hold music, or transfer flows.
  • You want the tester to actively probe the agent during the call rather than just observe.

What you configure

  • Provider — Retell or VAPI.
  • Inbound phone number — your agent’s number, the one Testzilla dials.
  • Provider credentials — API key and agent ID.

Billing

  • 40 credits per call (the phone rate), regardless of call duration or number of turns.
  • No additional subscription beyond your plan.

See the Test a Phone Number guide for the full step-by-step.


Your agent places the call. Instead of Testzilla dialing your agent, your agent dials a phone number that Testzilla provides, and a predeployed Testzilla agent answers and runs the conversation. Because nobody is driving the call live from Testzilla’s side, evaluation happens after the call from a post-call webhook.

This is genuinely different from inbound, in three ways worth understanding before you plan around it.

Each outbound Test gets its own dedicated phone number:

  • The number is provisioned when you create the outbound test.
  • It is released when you archive or delete the test.

So an outbound test is not just a scenario — it is a scenario bound to a live phone line that exists for as long as the test does. That dedicated line is what your agent dials, and it is also why outbound carries a small monthly subscription (see Billing below).

The predeployed agent answers and runs the call

Section titled “The predeployed agent answers and runs the call”

When your agent (the SUT) originates the call to the dedicated number:

  1. The test’s predeployed Testzilla agent picks up and runs the call autonomously — Testzilla does not drive the conversation live the way it does for inbound.
  2. The predeployed agent plays its side of the scenario through to the end of the call.

Evaluation happens after the call, via webhook

Section titled “Evaluation happens after the call, via webhook”

After the call completes:

  1. A post-call webhook sends the transcript to Testzilla.
  2. Testzilla evaluates and scores that transcript against your test’s pass/fail criteria.

Because scoring runs on the post-call transcript rather than a live session, the result lands after the call ends rather than mid-conversation.

When to use it (once available)

  • Your agent is the one that initiates calls (e.g. an outbound caller, callback bot, or reminder/notification agent).
  • You need to verify what your agent says and does when it places a call, not just how it answers one.

What you configure

  • The outbound test itself. The dedicated phone number is provisioned automatically on test creation (and released on archive/delete) — you do not bring your own number.

Billing

Outbound has two billing components:

  • $5/mo per outbound test — a dedicated test-line subscription add-on, because each outbound test holds its own provisioned phone number for as long as the test exists.
  • Per-call phone rate — the same per-call / per-minute rate as inbound for each call run.

The fastest way to think about it:

  • Inbound = Testzilla calls in to your agent and drives the conversation live, then scores it. You bring the number.
  • Outbound = your agent calls out to a Testzilla number; a predeployed agent answers and runs the call on its own, and Testzilla scores the transcript afterward from a webhook. Testzilla brings (and provisions) the number, and that dedicated line costs $5/mo per test on top of the usual per-call rate.

Match the direction to how your agent actually behaves in production: test inbound if real users call your agent, test outbound if your agent calls users.