> ## Documentation Index
> Fetch the complete documentation index at: https://docs.poly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Review

> Browse, filter, and inspect voice and webchat conversations from a single workspace.

Use **Conversation Review** to see exactly what happened on every voice call and webchat session — the full transcript, the topics the agent matched, the tools it called, and how it handled each turn. It is the primary tool for debugging agent behavior and auditing conversation quality.

<Note>
  For end-to-end QA workflows, see [QA and analytics](/learn/maintain/qa-analytics). For programmatic export, see [Call data](/call-data/introduction).
</Note>

## How the page is organized

The page is built around three layers: **channel scopes** in the sidebar, your **views** as pinned tabs, and the **conversations table** that opens an integrated side panel when you click a row.

### Voice and webchat scopes

Conversations are split by channel. Navigate between them from **Analytics > Conversations** in the sidebar:

* **Voice** — voice calls logged automatically
* **Web chat** — webchat sessions logged automatically

Each scope has its own column layout, its own set of views, and its own default view, so voice and webchat workflows stay completely separate.

### Views

Each scope opens on a built-in **System View** by default:

* **Production** — live environment conversations only
* **Test** — sandbox, draft, and pre-release conversations

System Views can't be renamed or deleted. To save your own filter and column combinations as pinned tabs, see [Views](/analytics/conversations/views).

### Conversations table

Each row in the table is one conversation. Default visible columns are **Start time** (always shown), **Contact**, **Summary**, **Duration**, and **PolyScore**. Additional columns can be toggled on from the **Column** button.

* **Live calls** appear at the top with a duration indicator and update as new turns arrive. See [Live conversations](#live-conversations) below.
* **Sort** any sortable column by clicking its header.
* **Select rows** to create a [test case](/analytics/test-suite/introduction) batch from the toolbar.
* **Click a row** to open the conversation in the review side panel.

### Live conversations

When any conversation is currently in progress, an **"X conversations in progress"** banner appears above the table with a green dot. Click the banner to open the **Live conversations** side panel.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-live-conversations-panel.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=0890b6f86755e9e9985242b60850337c" alt="Web chat conversations page with the Live conversations side panel open, listing seven in-progress conversations with their durations and Details buttons" width="2496" height="1086" data-path="images/analytics/conv-review-live-conversations-panel.png" />

The Live conversations panel:

* Lists every live conversation in the current scope (Voice or Web chat), with contact and elapsed duration.
* Updates in real time as new conversations start and existing ones end.
* Includes a **refresh** button to force an immediate poll.
* **Details →** on any row opens that conversation in the standard review side panel, where you can watch the transcript stream in turn by turn.

Use the Live conversations panel during launches, A/B rollouts, or incident response to watch live traffic without leaving the Conversations workspace. The panel respects the active scope and filter chips, so a Test-scope view shows only sandbox traffic in progress.

<Note>
  Viewing live conversations requires [PII-level access](/tools/classes/conv-log#pii) in addition to standard conversation read permission. Users without PII access receive an access-denied response when opening the Live conversations panel or a live conversation, because the in-progress transcript and contact details cannot be redacted in real time.
</Note>

### Review side panel

Clicking a row opens the **Conversation Review** panel on the right. The panel header shows the timestamp, channel type, and detected language. For webchat sessions, the contact email also appears.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-side-panel.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=06bf93e0259b62e80ef89fdf9169190d" alt="Conversation Review side panel showing the Transcription tab, toolbar icons, and a webchat conversation transcript" width="2490" height="1026" data-path="images/analytics/conv-review-side-panel.png" />

The panel has four tabs:

| Tab                | What you see                                                                                                                                                                                                    |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Transcription**  | Turn-by-turn transcript, audio waveform (voice only), matched topics, retrieved sources, and the **Diagnosis** toggle group                                                                                     |
| **Scores**         | [PolyScore](/analytics/polyscore) and [CSAT](/analytics/csat/introduction) badges with per-dimension breakdowns                                                                                                 |
| **Details**        | Call info (status, environment, version), pre-built metrics (handoff target and reason, function calls, SMS events, A/B group, group ID, QA), and links to latency visualization, data logs, and outbound calls |
| **Custom metrics** | Searchable, sortable list of any [custom metrics](/settings/metrics) configured for the project                                                                                                                 |

Use the **link icon** next to "Conversation Review" in the panel header to copy a deep link to the conversation. The **Open in new tab** icon (top right of the panel toolbar) opens the same conversation in the [full-page review](#full-page-review) — useful for in-depth analysis without the table in the background. Press **Esc** or click **×** to close the panel and return to the table.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-side-panel-open-in-new-tab.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=e1ebf98a2316f2eba168d87c45d8309e" alt="Conversation Review side panel with the Open in new tab icon highlighted in the panel toolbar" width="974" height="1630" data-path="images/analytics/conv-review-side-panel-open-in-new-tab.png" />

<Note>
  Webchat sessions do not have AI-generated summaries. The panel displays a **"No summary due to conversation being via chat"** notice where the summary would otherwise appear.
</Note>

### Full-page review

Conversation Review can also be opened as a dedicated full-page view — either by clicking **Open in new tab** from the side panel, or by following a deep-linked URL (for example, a link shared from Slack or a ticket).

* **Conversation tabs**: Switch between *Live*, *Ended*, and *All* to focus on active or completed calls.
* **Conversation turns**: Shows agent and user utterances in chronological order. Live calls will appear here and they will update automatically as new turns arrive. Each turn may display matched [Knowledge](/managed-topics/introduction) topics where relevant.
* **Caller identity**: Displays the user email address if available (for [Webchat](/webchat/introduction)), or phone number if applicable. Personally identifiable details are shown only to users with [PII-level access](/tools/classes/conv-log#pii). For users without PII access, caller phone numbers are automatically redacted as `REDACTED` in the conversations list – inbound calls hide the `from_number`, and outbound calls hide the `to_number`. The opposite number is preserved so you can still tell which line was used.
* **Environment and metadata**: Includes information such as [variant name](/variant-management/introduction), timezone, timestamp, [environment](/environments-and-versions/introduction) (e.g. Sandbox or Production), and version ID.
  Active calls display a **live duration indicator** beside the environment label.
* **Matched topics**: When topics from the Knowledge area are referenced or triggered, they are shown as tags beneath the corresponding utterance.
* **Sources**: When the agent retrieves content from [Connected Knowledge](/connected-knowledge/introduction) sources, a **Sources** tag appears beneath the turn. Click a source name to open an inline preview panel showing the retrieved content. Enable this layer from the **Diagnosis** dropdown.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-full-page.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=d30806b45fd75857559906d14f691faf" alt="Full-page Conversation review showing the AI-generated summary at the top, PolyScore / CSAT / Conversation details / Metrics cards in the left column, and the transcript with the Diagnosis cog on the right" width="2500" height="1490" data-path="images/analytics/conv-review-full-page.png" />

The full-page view shows everything the side panel exposes via tabs, but laid out side-by-side instead:

* **Header** — back arrow to return to the previous page, conversation title, and a reload button to fetch any new turns.
* **Summary banner** — the AI-generated [Call summary](/analytics/polyscore) at the top, expandable for the full text.
* **Left column** — stacked cards for **PolyScore**, **CSAT**, **Conversation details**, and **Metrics** (pre-built and custom). Each card collapses independently.
* **Right column** — the full transcript with the **Diagnosis** toggle group (cog icon) controlling which layers overlay each turn.

Use the full-page view when you want to scan PolyScore, CSAT, metrics, and the transcript together without flipping between tabs — for example, during a deep QA pass or when sharing a single conversation with a teammate.

## Columns

Click **Column** in the table toolbar to configure which columns are shown and in what order.

### Visibility

The **Visibility** tab lists all available columns with a toggle for each. **Start time** is always visible and cannot be hidden. All other columns under **Pre-built metrics** can be turned on or off: Contact, PolyScore, Summary, Duration, Language, Call SID, Variant, QA, Handoff To, A/B Group, and Environment.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-columns-visibility.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=f70df791a157d53f0b0adbc6df972003" alt="Columns panel showing the Visibility tab with toggles for pre-built metrics" width="3014" height="1624" data-path="images/analytics/conv-review-columns-visibility.png" />

<Note>
  When a conversation has more than one value for the same metric — for example, multiple **QA** topic matches across turns, or a custom metric logged several times — the table cell shows every value joined by commas (for example, `billing, handoff`). The cell timestamp reflects the most recent entry. Filtering and sorting still operate on the underlying individual values.
</Note>

### Order

The **Order** tab lets you drag columns into your preferred display order. Start time is locked as the first column.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-columns-order.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=2fc22547c8cf825e0005d01a09d8f90c" alt="Columns panel showing the Order tab with draggable column entries numbered 1–5" width="3018" height="1636" data-path="images/analytics/conv-review-columns-order.png" />

Column changes apply to the active view only. Save the view after adjusting columns to make the layout persistent.

## Filters

Click **Filter** to open the filter builder. You can add up to **10 filters** per view.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-filters.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=98b8011e1bf4f67b8f8e8e4fc5b9c7fd" alt="Filters panel open with Start date, PolyScore, and Duration conditions applied" width="2508" height="1628" data-path="images/analytics/conv-review-filters.png" />

Available filter types include:

* **Start date** — date range picker (timezone offset shown)
* **PolyScore** — numeric comparison: less than, greater than, equals
* **Duration** — time comparison (more than / less than), entered as hours, minutes, seconds
* **Environment** — include or exclude specific environments
* **Contact** — filter by caller or recipient phone number. Matches against either the `from_number` or `to_number` on the conversation, so a single value finds both inbound and outbound calls involving that number. Supports *equals*, *contains*, and *not contains* — use *contains* to match a partial number such as the last four digits.
* **CSAT score** — filter by the [CSAT survey](/analytics/csat/introduction) rating (1–5) the caller gave at the end of the conversation. Supports *equals*, *less than*, *greater than*, range comparisons, and *exists* to find every conversation that has (or doesn't have) a recorded score.
* **Function calls** — filter by whether any function ran, or by a specific function name (supports *exists*, *equals*, *contains*, *not contains*)
* **SMS events** — filter by whether any SMS was sent, or by a specific SMS event name (supports *exists*, *equals*, *contains*, *not contains*)
* **Custom metrics** — filter by any [custom metric](/settings/metrics) recorded on the conversation. String metrics support *equals*, *exists*, *contains*, and *not contains*; numeric metrics support *equals*, *less than*, *greater than*, and range comparisons.

#### Substring matching with contains and not contains

Use **contains** and **not contains** to match any conversation whose field value includes the text you enter as a substring. Matching is case-insensitive, so `pizza` matches `Pizza Palace` and `THE PIZZERIA`.

* **contains: `pizza`** — keeps conversations where the value includes `pizza` anywhere in the string.
* **not contains: `pizza`** — excludes conversations where the value includes `pizza`, and keeps everything else (including conversations where the field is empty).

For example, filtering the `RESTAURANT_NAME` custom metric with **contains: `pizza`** surfaces every booking taken for a restaurant with "pizza" in its name, while **not contains: `sms`** on the **Channel** field hides any conversation routed through an SMS channel.

Click **Apply** to run the filters. Active filters appear as chips above the table showing a short summary of each condition — for example, **PolyScore \< 5** and **Duration > 1m 0s**. Click **×** on a chip to remove that filter.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-filter-chips.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=8f686f29e189d35113863aa61f7cb68d" alt="Active filter chips above the table and the view context menu open" width="2492" height="1484" data-path="images/analytics/conv-review-filter-chips.png" />

<Tip>
  Combine PolyScore and Duration filters to build a focused QA queue — for example, all calls where the score was below 5 and the conversation ran for at least a minute.
</Tip>

### Share filters as a link

Active filters are encoded in the page URL. To share a filtered view with a teammate, copy the URL from your browser's address bar after applying the filters and paste it into Slack, email, or a ticket. When the recipient opens the link, Conversation Review loads with the same scope, view, and filter conditions pre-applied (subject to their access permissions).

<Note>
  Shared links reflect filter state only — they don't pin column visibility or order. To share a full layout, save a [Custom View](/analytics/conversations/views) and share the link to that view instead.
</Note>

## Export

Click **Export** in the table toolbar to download the conversations in the current view as a file. The export reflects the active view — its filters, columns, and channel scope — so refine the view first if you want a subset.

<img src="https://mintcdn.com/polyai/rSFEoR-hN0C8DJ2I/images/analytics/conv-review-export-menu.png?fit=max&auto=format&n=rSFEoR-hN0C8DJ2I&q=85&s=552a3cbcfd4cd752f83f524cf8918cd5" alt="Export menu open showing the Export with annotations and Export without annotations options" width="600" height="346" data-path="images/analytics/conv-review-export-menu.png" />

Choose one of two options from the dropdown:

* **Export with annotations** — includes any [annotations](/analytics/conversations/annotations) (wrong transcription, missing topic) flagged on the conversations in the current view. Use this when you want reviewer feedback to travel with the data — for example, when sharing low-quality calls with the team responsible for ASR or Knowledge tuning.
* **Export without annotations** — exports the conversations only. Use this when you just need the raw transcripts and metadata, or when sharing data with stakeholders who don't need the QA layer.

For programmatic export and the underlying API, see [Call data](/call-data/introduction).

## Caller identity and PII

The panel header displays the caller's email (webchat) or phone number (voice) when available. Personally identifiable details are visible only to users with [PII-level access](/tools/classes/conv-log#pii). When PII masking is enabled for your account, contact details are redacted in both the table and the panel.

### Audio playback and PII

Audio playback in the Transcription tab follows the same [PII-level access](/tools/classes/conv-log#pii) rules as the rest of the panel. Users with PII access hear the original recording by default and can opt in to the redacted version. Users without PII access always hear the redacted recording — sensitive segments are muted server-side, and the option to fetch the unredacted audio is not available. The same rule applies to the public [Conversations API](/api-reference/conversations/introduction) `/audio` endpoint: requests from API keys without PII access return redacted audio regardless of the `redacted` query parameter.

## Matched topics and sources

When the agent matches [Knowledge](/managed-topics/introduction) topics or retrieves content from [Connected Knowledge](/connected-knowledge/introduction) sources, both surfaces appear under the relevant turn:

* **Matched topics** — tags listing the topics most relevant to the user's utterance.
* **Sources** — clickable source names. Clicking a source opens an inline preview; use **Open in Knowledge** to jump to the source file.

<img src="https://mintcdn.com/polyai/oJYezcMyRUCRUcF2/images/release-notes/2603/sources-conversation-review.png?fit=max&auto=format&n=oJYezcMyRUCRUcF2&q=85&s=30136d02337a40f96ad576f18627ad3f" alt="sources-conversation-review" width="1658" height="722" data-path="images/release-notes/2603/sources-conversation-review.png" />

Enable both layers from the **Diagnosis** toggle group on the Transcription tab. See [Diagnosis](/analytics/conversations/diagnosis) for all available layers.

## PolyScore at a glance

Every eligible voice call displays a [PolyScore](/analytics/polyscore) badge in the table and on the **Scores** tab — a 0–10 quality rating generated automatically by AI. The badge is color-coded (green 7–10, amber 4–6, red 0–3) and expands to show per-dimension breakdowns.

Use PolyScore in Conversation Review to:

* **Prioritize review** — sort or filter by PolyScore to surface the lowest-quality conversations first.
* **Understand failure modes** — expand the breakdown to see whether a low score reflects poor flow, an unresolved task, or caller frustration.
* **Spot-check high scores** — confirm that well-scored calls followed the right process before using them as benchmarks.

<Tip>
  Save a [view](/analytics/conversations/views) filtered to low PolyScore to build a persistent QA queue.
</Tip>

## Conversation status

The end of every conversation is visually marked with an **"Ended conversation"** indicator. Live calls show an **"In progress"** badge until they close automatically.

## Default view

Each scope opens on the **Production** System View. If you are working in Sandbox or haven't yet deployed to production, switch to the **Test** System View, or create a Custom View with your preferred filters and set it as your default.

## Data retention

<Warning>
  Transcripts older than **90 days** are automatically removed in line with PII retention policies. Plan exports accordingly if you need to keep conversation data for longer.
</Warning>

## Related pages

<CardGroup cols={3}>
  <Card title="Views" icon="layer-group" href="/analytics/conversations/views">
    Save filter and column combinations as pinned tabs.
  </Card>

  <Card title="Diagnosis" icon="stethoscope" href="/analytics/conversations/diagnosis">
    Inspect tool calls, flows, latency, and topic citations for a specific turn.
  </Card>

  <Card title="Annotations" icon="tag" href="/analytics/conversations/annotations">
    Flag transcription errors and missing topics to drive continuous improvement.
  </Card>

  <Card title="PolyScore" icon="star" href="/analytics/polyscore">
    Understand how conversations are scored and what each dimension measures.
  </Card>
</CardGroup>
