Read the transcript, play the recording, and inspect metadata.
The conversation detail page is the full record of a single interaction. It splits into two panes: Interaction (the transcript, with tool calls, latency, and recording playback) on the left, and Details (channel metadata, summary, variables, and workflow-run links) on the right. On mobile, the two panes become Interaction and Details tabs.Open it by clicking any row in the inbox. Each conversation opens in its own browser tab.
The transcript renders every turn as a chat bubble — user turns on the right, agent turns on the left. Messages and tool calls are interleaved in order. While the conversation is still running, live transcription segments are overlaid on top of the saved history so you see speech as it lands; once a turn is persisted, the saved version replaces the live overlay.
A tool call is rendered as a centered, dashed pill labeled with the tool name. Each call is paired with its result by matching call_id, so one pill carries both the request and the response. Click the pill to expand:
Part
Shows
Request
The arguments the agent passed, pretty-printed as JSON.
Response
The tool’s output, pretty-printed as JSON. Labeled Response (error) and styled red when the call errored.
The pill also shows the call’s latency inline next to the name — in milliseconds when under one second, otherwise in seconds.
Each agent turn carries a latency badge: a small stacked bar plus a label. The label reads <time> response when end-to-end latency is recorded, or <time> TTFT (time to first token) when only the inference segment is available. The bar’s width is scaled relative to the slowest turn in the conversation, so you can spot outliers at a glance.Hover the badge for the breakdown:
Segment
Color
Channels
LLM
Dark blue
All — shown as LLM TTFT on voice, LLM on text/email
TTS
Light blue
Voice (text-to-speech time to first byte)
Tools
Amber
Text/email (tool execution time)
Other
Pale blue
Remaining end-to-end time
Voice channels report LLM TTFT and TTS TTFB. Asynchronous text and email channels have no audio timeline, so they report inference (LLM) and tool execution (Tools) instead.
When the conversation has a recording, an audio player appears at the bottom of the page and the transcript syncs to it. Click any bubble to seek the recording to that turn. As the recording plays, the turn currently being spoken is highlighted and scrolls into view, and each turn shows its start offset relative to the recording. Turns are timed using their started_speaking_at and stopped_speaking_at metrics, so sync only applies to channels that record those timings.
On the email channel, a header sits above the thread showing the subject, From, To, and Cc of the thread, plus any attachment filenames and a roster of participants (humans and agents). The subject falls back to (no subject) when none is set.
Below the detail rows are two metadata blocks. The distinction matters: one is yours to use, the other is internal.
Block
Field
Who sees it
Contents
Variables
custom_metadata
Everyone
Your own key-value data: the initial_context and custom_metadata you attach when starting a conversation surface here.
System Metadata
system_metadata
Advanced users only
Internal platform state, including the email header and the workflow-run IDs that drive the links below.
Variables is where the data you pass into a conversation shows up — anything you set in custom_metadata, plus the context you inject via initial_context. Use the copy button to grab the whole object as JSON. When there’s nothing to show, the block reads No variables.System Metadata is gated behind the advanced_user scope. It holds platform internals rather than customer data, so most viewers never see it.
Advanced users also get a Copy record JSON button at the top of the Details pane, which copies the entire conversation record.
When a conversation triggers a workflow, its run is surfaced in the Details pane with the run ID and a View button that opens the run’s state inline. Three kinds of run are linked, drawn from system_metadata:
Section
When it appears
Pre-Conversation Workflow
A workflow ran before the conversation. Shows the run, and an error message if the pre-conversation run failed.
Inbound Routing Workflow
A routing workflow decided where an inbound interaction went.
Post-Conversation Workflows
One or more workflows ran after the conversation ended. Each run gets its own View button.
While the conversation is still active, the page refetches the record every few seconds so the status, duration, and transcript stay current. Polling stops once the conversation reaches a terminal status — completed, failed, cancelled, transferred, or unanswered — at which point the view settles into the final recorded record.
To watch a call as it happens with controls to listen in, use live monitoring. The detail page shows live transcription, but the dedicated monitor is built for in-progress calls.