FAQ
Calls
Does CallQA really place phone calls? Yes. Each test case is a real call over the phone network (SIP/PSTN) to your number, like a customer would make. That is what tests telephony, latency, DTMF and audio end to end.
Which numbers can I call? Numbers your organization controls, once verified (a code in the greeting, see Number verification). Emergency, premium-rate, shared-cost and unclassified numbers are always refused. Your plan sets how many countries you can call.
Why is my call blocked_policy with number_not_verified?
Every new number starts unverified. Verify it once: dashboard, Phone numbers, Verify
ownership, or POST /targets/{id}/verification/start then .../verification/call. See
Number verification.
Why is my call still queued?
Calls wait for a free slot: your plan's concurrent call limit, 30 calls per hour per number,
and, for scheduled runs, the scenario's call window in the run's environment. An unverified
number in the sandbox is only called one call at a time, between 8:00 and 21:00 local time.
Can I hear a call while it is in progress? Yes. Open the call page and click Listen live: you hear both voices, or only the caller or only your agent. Nothing is recorded by listening. See Concepts.
How long does a call last?
Usually 1 to 5 minutes. It stops at limits.max_duration_s (5 minutes by default, 10 minutes
at most on current plans).
Can the caller press keys in an IVR?
Yes. Add steps with type: dtmf (digits 0-9, *, #, and w/W for pauses). See the
IVR example.
Can the caller speak another language?
Yes. Set target.language (BCP-47, for example es-US, fr-FR). Your assertions can stay
in English: they are judged on meaning. See the
Spanish example.
Can I use test credit cards and customer ids?
Yes, with test_data (Growth plan and above). The caller uses them when asked. Use test
values only: they are stored with the scenario and appear in transcripts and bundles.
Results
Why is my run warn and not pass?
At least one severity: warn check failed. Open the calls to see which one. Without a
threshold, a CI gate only passes on pass; with a threshold, a warn run passes if the
score is high enough.
Why did the CI gate fail with a good score?
With a threshold, the gate also fails when a call ended in error or was blocked, for example
by insufficient credit. The run's errored and blocked counters tell you which.
Can I trust the LLM judge? Every semantic verdict must quote the transcript, and the quote is checked in code: a quote that is not in the transcript cannot fail a call. Scores are computed from verdicts by a fixed, versioned grid, never by the LLM. Deterministic checks (latency, duration, interruptions, regex) do not use an LLM at all.
Where are the transcript and the audio?
GET /calls/{id} returns the transcript, the verdicts and the recording information.
GET /calls/{id}/events returns the full trace.
Help
How do I reach the CallQA team?
Open a ticket: Support in the app sidebar, POST /support/tickets in the API, or ask
your coding agent, which calls contact_support on the MCP server. A person
answers, usually within a few hours on business days, in the app, by email and to your
agent (get_support_ticket). See Getting help.
Can my agent report a bug on its own?
Yes, with any API key, even a read only one. It includes what it tried, the error codes
and the call or run ids. Secrets are removed from tickets, but it should never send them.
API and CI
Is everything in the dashboard available in the API?
Almost. Scenarios, variants, numbers, environments and their schedules, versions, runs, calls,
traces, replays, LLM exports, tags, members, API keys, webhooks, alert channels, the API
journal, the audit log, usage, the wallet, the spend cap, overage settings, the forecast and
the subscription are. Dashboard only: the assistant and Fix this test, the test case
builder, saved reports, listening live, single sign-on settings and the deletion of the call
history. The MCP server also offers Fix this test to a coding agent
(fix_test, apply_fix). See the API reference.
Is there an SDK? Not yet. The OpenAPI document works with client generators, and the CLI covers CI use.
Which scopes does my CI key need?
read and run (sending a version with the run is enough to create it). Add write if
the pipeline also imports scenarios or manages versions with /versions.
My pipeline passed although the run was not finished.
You probably used curl --fail with ?wait=true: a 202 (still running) is a success for
curl. Check for 200 explicitly, or use the CLI. See CI/CD.
How do I keep scenarios in Git?
Store the YAML files in your repository and run callqa scenario import <file> (or
POST /scenarios/import) in CI: it creates or updates by name, and keeps variant ids
when titles do not change.
Billing
Is there a free trial? Yes: a new organization comes with 10 free test calls to try CallQA, no card needed, with no time limit. It goes to the first organization you create. When they are used, choose a plan in Billing; the calls you have not used are kept. See Free trial.
What happens when my quota is used up?
With paid overage on, extra calls are paid from the prepaid wallet at your plan's extra call
price, up to your monthly spend cap. If the wallet cannot cover a call, the call is not placed
(blocked_insufficient_credit). With overage off, or once the cap is reached, calls are
blocked, and you can choose to also pause the schedules until the next month. CallQA never
advances money. See Billing.
How do I delete old calls?
Calls lose their transcript, trace and audio at the end of your plan's retention period. An
admin can delete them earlier on Data and privacy: only the audio, or the call history,
for a period; scores and verdicts stay for the dashboards unless you also remove the calls.
One call or one run: DELETE /calls/{id}, DELETE /runs/{id} (admin).
Does a failed call cost anything?
A call that ends in error, is canceled or blocked releases its reservation. A call that is
dialed and judged counts, even if your agent fails the test or does not answer.