
# Calls, Transcripts and Recordings

Every call a voice agent makes or answers becomes a record: transcript, AI
summary, outcome, the tools it called, the knowledge it cited, and — where
recording applies — the audio. This is where you find out what the agent
actually did, rather than what you configured it to do.

## What you'll need

- The **`agents:voice:read`** permission.
- At least one call. Transcripts appear within moments of a call ending; the
  AI summary and outcome arrive a little later, once post-call analysis has
  run.

## Find a call

**Per agent** — **Agents → Agent Types → Voice Agents**, then one of:

- Click the row's **Calls** button. It opens the calls in the date range the
  list is showing — or, for an agent with no calls in that range, its most
  recent calls.
- Click the row's **⋯** → **All calls** for every call, whatever the range.
- Open the agent's view page and click **Calls**.

All three land on the agent's **Calls** page (`/voice/<agent id>/calls`), headed
**Calls** with *"Voice agent · <name>"* underneath, plus **Refresh** and
**Back to Voice Agents**.

**Per contact** — open the contact and read their Activity Timeline; calls
appear alongside their chats, texts and emails.

**Recent activity per agent** — click an agent's row on the Agents page to
expand a peek of its five most recent calls in the selected date range, with
**Open all N →** to the full list.

## Work the call list

The page is built for triage, in three layers.

**The KPI row** across the top summarises the current range and doubles as a
filter — click a card to apply it:

| Card | Meaning |
|---|---|
| **Total** | Calls in range |
| **Active now** | Calls in progress right now |
| **Resolved** | Share of analysed calls that resolved, with the counts in the tooltip. A dash means nothing has been analysed yet — never a fake 0% |
| **Escalated** | Calls that went to a human |
| **Needs review** | Calls flagged for a person to look at |

**The filter bar** holds a search box — *"Search by number, status, summary, or
call ID"* — a date range, a sort control, and a status filter with **Live ·
Open · Completed · Ended · Failed · No answer · Voicemail**. The result line
tells you how many calls match and says *(filtered)* when a filter is on.

**The list** shows one row per call, with pagination underneath. Select rows
with their checkboxes for bulk actions.

Start from **Needs review** and **Escalated**, not from **Total**. Those two
are where the agent's behaviour is worth your attention.

## Read a call

Click a row to open the call (`/calls/<call id>`).

The header carries the AI-generated call title, a status or outcome badge, and
underneath it the call id, the number of turns and the date. To its right:

- **Brief me** — an on-demand summary of the record: what happened, where it
  stands, what to do next. Billed per brief.
- **Call back** — dial the other party from the CRM dialer.
- **Copy** — copy the transcript.
- **Train** (when agent feedback is enabled for your workspace) — correct the
  agent on what it said, on this call.

On wide screens a rail on the left lists the agent's other calls so you can
work through them without going back; on narrower screens that becomes
previous/next buttons in the header.

The centre column is the **transcript**, turn by turn, with the resolved
contact's name on their side of the conversation. When the call has a
recording, the **player** sits above it and stays in view while you scroll —
see [Listening to a recording](#listening-to-a-recording).

### The sidebar

| Card | What it tells you |
|---|---|
| **Contact** | Who the call was with, with task / note / deal actions. Unlinked? Associate it with a contact from here, or accept the identity suggestion shown |
| **AI Summary** | What happened, generated after the call |
| **Recording** | The call's length and **Play above the transcript**, where a recording exists — or why there is none |
| **Outcome** | The classified result of the call |
| **Call info** | From, To, Direction, Company, Placed by (for a human-dialled call), Duration, Started, Ended, why it disconnected — and, for a call raised by a helpdesk journey, links to the originating ticket and orchestration |
| **Signals** | Signals detected in the conversation |
| **Tools used** | Every tool the agent called, with arguments and results |
| **Knowledge used** | Which Tenant Brain concepts the answer drew on, and the queries it ran |
| **Token usage** | Model usage for the call |

**Tools used** and **Knowledge used** are the two that answer "why did it say
that?". A wrong answer with no knowledge lookup behind it is a different
problem from a wrong answer that cited the wrong published concept — the first
is your instructions, the second is your Brain.

## Recordings

Which calls carry audio depends on how the call happened:

| Call type | Recording |
|---|---|
| Outbound telephony | Recorded by the platform |
| Inbound telephony | Recorded by the carrier |
| Browser (web delivery) | Always recorded |
| Agent test runs | Recorded |

Where a recording exists, the player above the transcript plays it. Where one
was removed under your retention policy, the player's place says so rather
than appearing empty.

### Listening to a recording

The player has what you expect from any audio app:

- **Play / pause**, **back 10 s** and **forward 10 s**, and a scrub bar with
  the elapsed and total time.
- **Speed** — 0.75×, 1×, 1.25×, 1.5× or 2×. Your choice is remembered in this
  browser.
- **Volume** and mute.
- **Copy link at this moment** — copies the call's address with `?t=` and the
  current second. Whoever opens it lands on the same moment (they still need
  access to the call).

Click the player once and the keyboard works while it has focus — never while
you are typing elsewhere:

| Key | Does |
|---|---|
| Space | Play / pause |
| ← / → | Back / forward 10 seconds |
| Shift + ← / → | Back / forward 30 seconds |
| , / . | Slower / faster |
| ? | Show these keys |

Nothing downloads until someone presses **Play**, so opening a call page does
not fetch its audio. The same player appears, smaller, in the call panel of a
contact's record drawer, and on a **meeting** page with uploaded audio — where
the transcript line being spoken is highlighted and followed as it plays, and
each line's time plays from there.

### Who can listen, who can download, and the record of both

- **Listening** needs the same permission as seeing the call:
  **Use Voice Agents**.
- **Downloading** is a separate permission, **Download Voice Call
  Recordings**, and **no role has it by default**. A workspace admin grants it
  per role in **Settings (the gear icon) → Access & security → Roles &
  Permissions**; workspace admins can always download. A teammate who joined
  before roles existed and has no role assigned also holds every permission,
  this one included — give them a role to apply it. The
  **Download** button appears only for people who hold it.
- **Every play and every download is recorded** in the workspace's audit trail
  (**Settings (the gear icon) → Access & security → Audit Trail**, action
  *Recording played* or *Recording
  downloaded*, area *Call Logs* or *Meetings*). A play is recorded once per
  person per recording in any 15 minutes, so skipping around does not flood
  the trail.

Recordings play in current versions of Chrome, Edge, Firefox and Safari
(Safari 18.4 or later, on Mac, iPhone and iPad). An older browser shows a
message instead of the player.

Recording carries legal obligations that vary by jurisdiction, and often
require telling the caller. If your agents record, say so in the greeting or
early in the instructions.

## Transcript retention

Transcripts are kept until your retention policy removes them. There are two
places to set that:

**Workspace-wide** — **Settings (the gear icon) → Access & security →
Transcript Retention**. Unconfigured means kept indefinitely. See
[Transcript Retention](/help/workspace-administration/transcript-retention).

**Per agent** — the **Transcript Retention** section on the voice agent's
**Telephony** tab. Choose **Inherit**, a **Custom window**, or **Keep
forever**. The banner there names the workspace's current mode so you can see
what you are overriding.

**A removed transcript is a distinct state, not an empty one.** The call
record survives; the transcript view shows a notice naming the policy and the
date it was removed, the recording card says the recording was removed, and
**Copy** and **Export** are hidden. A call showing that notice is your
retention policy working, not a fault.

Retention removes the transcript, the tool call detail and — depending on your
policy — summaries and quotes, and optionally the recording.

## Re-running analysis

Summaries, outcomes and analytics come from a post-call analysis pass. If it
had not run yet when you looked, wait and refresh. Calls from before an
analysis change can be re-analysed so old calls are scored on the same basis
as new ones.

## Reading across many calls instead of one

For patterns rather than incidents, use **⋯ → Performance & insights** on the
agent's row: scores for accuracy, tone and efficiency, goal attainment against
the **Goals** you set, and voice runtime tiles — **Interruptions / call**,
**Response latency**, **LLM / TTS first byte** and **Tool success**. That is
the right surface for "is this agent getting better?", and for tuning
turn-taking; see
[Turn-Taking, Interruptions and Dead Air](/help/voice-agents/turn-taking-and-timing).

## Troubleshooting

- **No transcript on a recent call.** Post-call processing has not finished.
  Refresh in a minute.
- **No AI summary, but a transcript.** Analysis runs after the transcript
  lands. Give it a few minutes.
- **The transcript shows a retention notice.** It was removed under your
  retention policy. Check the window on the workspace page and the agent's
  **Telephony** tab.
- **"Resolved" shows a dash.** Nothing in range has been analysed. Not a bug —
  a dash is deliberate, so nobody reads a fake 0%.
- **Volume on the Agents page does not match the number of rows here.** The
  Agents page counts calls the agent *handled*; this list also shows test
  calls and calls a person dialled. The peek's "Open all" link states both.
- **The contact shows as unknown.** Caller ID did not resolve. Associate the
  call with a contact from the **Contact** card, or accept the identity
  suggestion it offers.
- **The player says the recording is still being saved.** A recording
  is finished when the call fully closes, which is usually within half a
  minute of hang-up. The page keeps checking on its own for about a minute
  and shows the player when it is ready; after that, use **Check again**.
- **"This browser can't play this recording."** Update Safari to 18.4 or
  later, or use Chrome, Edge or Firefox. If you hold the download permission,
  the message offers the file instead.
- **No Download button.** Your role does not hold **Download Voice Call
  Recordings**. Ask a workspace admin.
- **No recording on an inbound call.** Inbound telephony recording comes from
  the carrier. Check your retention policy has not removed it.
- **Copy and Export are missing.** The transcript was purged; export answers
  with a "gone" response by design.

## Next steps

- [Turn-Taking, Interruptions and Dead Air](/help/voice-agents/turn-taking-and-timing)
- [Tools, Knowledge and Memory](/help/voice-agents/tools-and-knowledge)
- [Placing Outbound Calls](/help/voice-agents/campaign-usage)
- [Transcript Retention](/help/workspace-administration/transcript-retention)
