/dashboard/calls/[id].
The page is laid out in three columns:
Left — call summary
The key facts about the call (duration, status, direction, who ended it, caller and carrier) plus the latency and token summaries.
Middle — recording & transcript
The audio player and the full interleaved transcript of what was said and done.
Right — analysis
Integration log, tool calls, knowledge retrieval, post-call analysis, QC analysis, and the per-turn metrics table.
Top-bar buttons
These two buttons sit at the top of the page.| Button | What happens when you click |
|---|---|
| Back | Returns you to the page you came from (usually the Call list). |
| Download JSON | Downloads the complete raw call record as a .json file. The button is disabled while a download is already in progress. |
Download JSON is only available in the admin view. It is hidden for calls-only users and on the agent console. The file is the full underlying call document — every field, event, and metric — which is useful when you need to share an exact, unedited record with support or attach it to a ticket.
Left column — call summary
The left column lists the headline facts about the call.| Field | What it tells you |
|---|---|
| Duration | How long the call lasted, shown as Xm Ys (for example 2m 15s). |
| Status | The call’s final status as a badge (see Status badge). A Test badge appears next to it if this was a test call. |
| Direction | Outbound or Inbound. Only shown when the call has a recorded direction. |
| Disconnected By | Who or what ended the call (see Who ended the call). |
| Caller | The caller’s phone number. |
| Carrier / DID | The carrier name and the number the call used (the DID). Only shown when at least one of these is known. |
Status badge
| Badge | Meaning |
|---|---|
| completed (green) | The call finished normally. |
| Other status (grey) | Any other status the call ended in (for example failed, voicemail, no_answer) is shown in grey. |
| Test (grey) | This was a test call, not a real customer call. Appears alongside the status. |
Who ended the call
The Disconnected By field records who or what hung up. The common values you will see:| Value | Meaning |
|---|---|
bot | The bot ended the call — it reached a natural close, said its closing line, or detected dead air. |
customer | The customer hung up. |
voicemail | The call reached a voicemail / answering machine. |
RNR | The line connected but the customer stayed silent the whole call (Ring No Response). |
timeout | The call ran past its maximum allowed duration. |
error | The call failed to start or hit an unexpected problem. |
no_answer | The number rang out and was never answered. |
rejected | The call was actively rejected by the other end. |
Latency
The Latency card is a grid of average response times across the whole call, in milliseconds. Lower is better — these tell you whether the bot felt snappy or laggy to the customer.| Metric | What it measures |
|---|---|
| Avg STT | Average time the Speech-to-Text engine took to turn the customer’s speech into text. |
| Avg LLM | Average time the language model (LLM) took to decide what to say next. |
| Avg RAG | Average time spent looking up knowledge-base answers (only relevant if the bot uses a knowledge base). |
| Avg Tool | Average time spent running the bot’s tools / integrations. |
| Avg TTS | Average time the voice / Text-to-Speech (TTS) engine took to start speaking. |
| Total | The combined average round-trip time, highlighted. This is the closest single number to “how long the customer waited for a reply.” |
These are the engine types, not vendor names, by design. A high Total points to where the delay is: a large Avg LLM or Avg TTS usually explains a sluggish-feeling call.
Tokens
The Tokens card summarizes how much language-model work the call consumed. It drives the call’s cost.| Metric | What it tells you |
|---|---|
| Prompt | Tokens sent into the language model during the live conversation. |
| Completion | Tokens the language model generated in reply. |
| TTS Chars | Number of characters spoken by the voice engine. |
| Post+QC | Tokens used by the post-call analysis and QC steps after the call ended. |
The Tokens card is hidden for calls-only users.
Post-call cache
This card only appears when post-call caching produced data for the call (and it is hidden for calls-only users). It shows how much of the post-call analysis reused a cached prompt instead of being sent fresh — which is what lowers the cost of analysis.| Detail | What it tells you |
|---|---|
| Cache status badge | Whether the post-call cache was used for this call. |
| Cached Read (tok) | Tokens that were read from the cache instead of being re-sent. |
| Cache Created (tok) | Tokens written into the cache by this call. |
| Fresh Prompt (tok) | Tokens that had to be sent fresh because they were not cached. |
| Completion (tok) | Tokens the model generated for the analysis. |
Post-call caching is configured per bot. See the Post-Call Cache controls on the Bot detail page.
Middle column — recording and transcript
Recording
The Recording card is an audio player with the standard browser controls: play, pause, a scrub bar, volume, and a download option in the player’s own menu. Use it to listen back to the exact conversation.If a call has no recording (for example a call that failed before connecting), the player will have nothing to play.
Transcript
The Transcript is the full, time-ordered record of the call. It interleaves three kinds of entries, sorted by when they happened:| Entry | Icon | What it shows |
|---|---|---|
| Messages | — | Each thing the bot and the customer said, with a timestamp. |
| Tool calls | Wrench | When the bot ran a tool or integration mid-call, including its result. |
| Knowledge searches | Search | When the bot looked something up in its knowledge base. |
Right column — analysis
The right column holds the diagnostic and outcome sections. Most are expanded by default; Events starts collapsed. Each section header can be clicked to collapse or expand it.Integration log
Shows the integration activity for the call — for example any post-call data pushed to your CRM — so you can confirm the call’s result was sent on and see whether it succeeded.Tool calls
A breakdown of every tool the bot ran during the call. For each tool you see:| Detail | What it tells you |
|---|---|
| Function name | Which tool / integration was called. |
| Status | The outcome: ok, error, or timeout. |
| Duration | How long the tool took to respond. |
Knowledge retrieval
Shows each time the bot searched its knowledge base. For each search you see:| Detail | What it tells you |
|---|---|
| Query | What the bot searched for. |
| Hit count | How many matching passages were found. |
| Latency breakdown | How long the lookup took. |
| Cache status | Whether the answer was served from cache. |
Post-call analysis
The post-call analysis is the structured outcome produced after the call by the bot’s analysis prompt. Its fields are shown as key-value pairs, and disposition fields are highlighted as badges. This is where you read the business outcome of the call — for example whether the customer agreed, declined, or asked for a callback — rather than the raw technical reason the line dropped.The exact fields depend on each bot’s analysis prompt. A call that skipped analysis (for example a very short call or one where the customer never spoke) shows an auto-assigned disposition instead. The full catalog of analysis and disposition fields is in Post-call variables.
QC analysis
The QC (quality-control) analysis is a second structured review produced by the bot’s QC prompt — for example whether the bot followed the script, stayed compliant, or missed a required step. Like the analysis section, its fields render as key-value pairs.QC only appears for bots that have a QC prompt configured.
Per-turn metrics
A table breaking the call down turn by turn so you can pinpoint exactly which exchange was slow.| Column | What it shows |
|---|---|
| Turn | The turn number in the conversation. |
| STT | Speech-to-Text time for that turn (ms). |
| RAG | Knowledge-lookup time for that turn (ms). |
| Tool | Tool-call time for that turn (ms). |
| LLM | Language-model time for that turn (ms). |
| TTS | Voice-engine time for that turn (ms). |
| Total | The total response time for that turn (ms). |
| Tokens | Tokens used on that turn. |
The Tokens column is hidden for calls-only users.
Events
The Events section is collapsed by default. Expand it to see the low-level lifecycle events the backend recorded during the call. This is mostly useful when you are diagnosing an unusual call alongside support.Banners and notifications
Depending on what happened, one or more banners appear at the top of the call detail.| Banner | When it appears | What it tells you |
|---|---|---|
| Transferred → target | The call was successfully transferred. | The destination it was transferred to and the time of transfer. |
| Transfer attempted but failed | A transfer was tried but did not connect. | Shown in red, with the reason the transfer failed. |
| Transferred to human agent | The call was handed to a human agent. | Confirms a human takeover. |
| Transferred from bot call — View bot call | You are viewing the leg of a call that came from a bot transfer. | A link back to the original bot call. |
Service errors
If the backend recorded any service errors during the call, a Service Errors section lists them. Each entry shows:| Detail | What it tells you |
|---|---|
| Service name badge | Which part of the pipeline reported the error (for example the Speech-to-Text engine, language model, or voice engine — shown generically). |
| Processor | The stage where the error occurred. |
| Timestamp | When the error happened during the call. |
| FATAL label | Shown when the error was fatal — meaning it likely ended or broke the call rather than being a recoverable hiccup. |
Related pages
Call list
Browse, filter, and search all calls, then click into any of them.
Post-call variables
The full catalog of disposition, analysis, and QC fields you see on this page.