Reading call records
Find a call, read its transcript and extracted outcome, see how it landed in the CRM, correct a wrong outcome, and opt a number out of future calling.
Every call the workspace places gets a record: the transcript, an extracted outcome, how that outcome projected into the CRM, a quality evaluation, the timeline of what the agent did, and what it cost. The Calls tab lists them all; the call record is where the answers actually are.
Call recordings are not built
There is no audio to download. The Recording policy selector exists in SettingsVoice & Telephony and preflight enforces that you have chosen one, but capture itself is not implemented in this release. Read the transcript instead — it is the record of the call. Do not go looking for a play button.
Find the call
CRMVoice AgentsCalls lists every call newest first, ten to a page — the footer reads N calls and Page x of y with Prev / Next. Search with Search number or name; narrow with the Status and Campaign chips, the All / Live / Tests lens, or Agent under Narrow by.
The columns are Agent and contact · Route · Outcome and cost · Quality · Status · When. A Test or Sim chip marks a usability test or a simulation, and a call whose outcome has not been extracted yet reads Pending outcome. Narrowing Status to the preflight-blocked calls is worth doing by itself — those were stopped by a check rather than by a person not answering.
The call header
A row opens /admin/voice-agents/calls/<id>. The header carries the status and
outcome badges and the Cost; the facts read Mode · Runtime · Route ·
Attempt · Stage · Opt-in and Started · Answered · Ended. Opt-in reads
Production DNC is active when the number is suppressed and Opted out on this
call after an opt-out. A live usability test says This test is isolated from
production suppression. Below the facts sit three tabs: Transcript · Outcome
· Events.
Transcript
The turn-by-turn record of what was said. This is the primary artefact — with no recordings, the transcript is the call.
Outcome
The extracted result of the call: the disposition, the facts gathered, the objections raised and the next step. The same tab carries the CRM projection and Quality, plus Evaluation, Transfers and Meeting booked when the call has them.
| Disposition | What it means |
|---|---|
qualified | The lead met the qualification bar |
booked | A meeting was booked |
transferred | The call was handed to a person |
callback_requested | They asked to be called back |
not_interested | A clear no |
disqualified | Not a fit |
wrong_number | The number does not belong to the lead |
voicemail | Voicemail answered |
no_answer | Nobody picked up |
busy | The line was busy |
opted_out | They asked not to be called again |
failed | The call did not complete |
unknown | Nothing clearer could be extracted |
Outcome extraction runs after the call ends
An in-flight call shows Outcome extraction runs after the call ends. That is not a failure — basic extraction always runs, and the Post-call analysis model in Settings decides whether a stronger model then refines the facts, objections and next steps.
The lead handoff
A terminal call outcome flows into the CRM automatically when CRM status sync is on in SettingsVoice & Telephony — it updates the linked lead's early-stage status, its next follow-up and its timeline. Opt-out compliance applies regardless of the toggle.
The call detail page shows the CRM projection: what the outcome did, or would do, to the linked lead. Read it when a lead's status changes and you want to know which call moved it.
For anything beyond the built-in projection, use the Voice call outcome automation trigger — it is the documented handoff from a completed AI call into the rest of your workflow.
Events
The third tab (Transcript · Outcome · Events) is the mechanical record, and it is where a strange call gets explained:
| Section | What it shows |
|---|---|
| Timeline | Every event in order |
| Stages | Which workflow stage the call was in, and when it moved |
| Tools | What the agent did mid-call, redacted |
| Knowledge retrievals | Which context the agent searched and what came back |
| Usage | What the call consumed |
| Debug | Agent version, CRM lead id, Provider call id, Correlation id, Prompt hash |
If an agent gave a wrong answer, knowledge retrievals tell you whether it found the wrong source or found nothing at all. Those are different problems.
Correct an outcome
Extraction is automatic and occasionally wrong.
Click Correct outcome
On the call detail page.
Amend the JSON
The example placeholder shows the shape: {"disposition": "booked"}. You
only supply the fields you are changing.
Click Save correction
The correction is deep-merged into a new schema-validated revision marked as a manual correction, and the panel closes. Close correction abandons it instead.
The original extraction is preserved
A correction creates a new revision rather than overwriting. You can always see what the model originally said, which matters when you are deciding whether the agent or the extraction was at fault.
Opt a number out
Opt out number adds the called number to production suppression — it will never be dialed again by any campaign. Restore opt-in removes it. The pair only appears on non-test calls where the suppression state is known.
Suppression is workspace-wide and immediate
It is not scoped to the campaign you are looking at. A suppressed number is
skipped at import, blocked at preflight with lead_suppressed, and never dialed
by anything. Use it when someone asks not to be called — that is what it is for.
Cancel call stops a call that is still in flight.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| There is no recording to play | Recording capture is not built in this release | Read the transcript; the policy selector does not create audio |
| The outcome is empty on a call that just ended | Extraction runs after the call ends | Wait and reload; basic extraction always runs |
| The outcome is wrong | Automatic extraction misread the call | Correct outcome — the original is preserved as an earlier revision |
| A lead's status did not change after a call | CRM status sync is off, or the outcome was not terminal | Check the toggle in Settings → Voice & Telephony and the CRM projection panel |
| The call is listed as preflight blocked | A check stopped it before dialing | Open the campaign's leads — Last disposition and Next attempt — then the preflight reference |
| Opt-in reads Production DNC is active | The number is suppressed | Expected. Use Restore opt-in only if the suppression was a mistake |
| A test call did not opt anyone out | Live usability tests are isolated from production suppression | Expected, and stated on the page |