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

# Advanced Calls View

> Explore the enhanced Calls page with configurable and pinnable columns, predefined and custom saved views, summary cards, adaptive live updates, suspicious call detection, OK/KO review verdicts, inline tag editing, Excel exports, and a full waveform recording player with per-turn latency breakdown.

The **Advanced Calls View** (`/calls-v2`) is an improved version of the classic Calls page, built for teams that need deeper control over how call data is displayed, filtered, and audited. It introduces a fully configurable column manager (including dynamic input/output columns and pinning), a **Views** menu with both predefined and custom saved views, at-a-glance summary cards, a streamlined single-row filter bar with a dedicated suspicious-call filter, an opt-in live-refreshing table with adaptive polling, an OK/KO review workflow with audit notes, inline tag editing, full and selective Excel exports, and a redesigned recording player with a waveform, adjustable playback speed, and a per-turn latency breakdown in the transcript.

<Info>
  The Advanced Calls View is currently rolling out alongside the classic Calls page. You can switch between the two at any time using the banner at the top of the page.
</Info>

## Switching between views

When you open the Advanced Calls View for the first time, you'll see a migration banner at the top of the page confirming you're on the new experience.

* The banner reads **"You're viewing the new Calls page"** with a **Switch back to the classic view** link — click it to return to the original Calls page (`/calls-old`) at any time.
* Your filters, column layout, and saved views on the Advanced Calls View are stored independently, so switching back and forth won't affect either page.
* If you had previously customized columns on the classic Calls page, that configuration is **automatically migrated** into the Advanced Calls View the first time you visit it, so you don't lose your existing setup.

<Info>
  The migration is one-time and read-only: it reads your old column visibility, sort order, page size, and any dynamic input/output columns you had defined on the classic Calls page, and reconstructs the closest equivalent layout in the Advanced Calls View. Only fixed columns that still exist in both column sets are carried over — the two sets aren't identical — while your custom dynamic fields are rebuilt as-is, since their shape matches directly. From that point on, the two pages keep fully independent configurations.
</Info>

<Warning>
  The Advanced Calls View is under active development. If something doesn't behave as expected, use the classic view as a fallback while we continue improving it.
</Warning>

## Summary cards

At the top of the page, four summary cards give you an instant read on the calls currently matching your filters, without needing to scan the full table:

* **Volume** — total number of calls matching the active filters.
* **Avg. latency** — the average AI response latency across those calls, so you can spot performance regressions at a glance.
* **Avg. duration** — the average call duration for the filtered set.
* **Reviewed** — how many of the filtered calls have already been marked as reviewed, so your team can track audit progress in real time.

<Info>
  Summary cards always reflect your **current filters** — including the Suspicious calls filter — so they update instantly as you refine your search.
</Info>

## Configurable and pinnable columns

Unlike the classic Calls page, the Advanced Calls View lets you fully customize which columns appear in the table, in what order, and which ones stay anchored in place.

<Steps>
  <Step title="Open the Columns panel">
    Click the **⚙️ Columns** button in the top-right corner of the page to open the column manager.
  </Step>

  <Step title="Show or hide columns">
    Toggle any column on or off. This includes standard fields (status, duration, agent, tags) as well as **dynamic columns** discovered automatically from your call inputs and outputs.
  </Step>

  <Step title="Reorder columns">
    Drag columns into the order that makes the most sense for your workflow.
  </Step>

  <Step title="Pin important columns">
    Click the **pin** icon next to any column to anchor it. Pinned columns are grouped together and stuck to the right edge of the table so they stay visible no matter how many other columns you add or how far you scroll horizontally. **Reviewed** and **Actions** are pinned by default, and admins also get the **Links** column pinned automatically (see below).
  </Step>

  <Step title="Reset to defaults">
    If you want to start over, click **Reset to default** inside the column manager to discard your custom visibility, order, and pinning, restoring the platform's original column layout.
  </Step>
</Steps>

<Info>
  Dynamic fields are detected automatically from the structured inputs and outputs captured during your calls, so new fields from your agents show up as selectable columns without any manual setup. Each dynamic column is clearly labeled with its source — **input** or **output** — so you always know where the value comes from.
</Info>

<Warning>
  Resetting columns cannot be undone. If you rely on a custom layout, consider saving it as a view first (see below) before resetting.
</Warning>

## Admin shortcut links column

Admin users get an additional pinned column called **Links**, which gives one-click access to the raw call data on the provider side — the same shortcuts available on the classic Calls page, now built into the table itself.

* Each row shows small icons linking directly to the call's entry in **Twilio** and, when applicable, **ElevenLabs**, so you can jump straight into the provider dashboard for deep debugging without leaving the flow of your review.
* This column is **only visible to admin users** — it never appears, even briefly, for non-admin accounts.
* Like other pinned columns, **Links** stays anchored to the right edge of the table regardless of your column configuration, and it can be shown or hidden from the column manager like any other column.

<Info>
  Because this column depends on confirming your admin status, it may appear a moment after the rest of the table loads. This is expected and ensures non-admins never see it, even transiently.
</Info>

## Views

The **👁️ Views** menu in the top-right corner is where you switch between different column-and-filter layouts. It's split into two sections: a set of **predefined views** maintained by Meetzy, and **My views** — the layouts you save yourself.

### Predefined views

Predefined views are ready-made layouts covering common review tasks, so you don't have to build a configuration from scratch for everyday use cases:

* **Call audit** — a review-focused layout showing the call date, agent, caller, status, duration, tags, and recording, sorted by most recent first. Ideal for day-to-day quality checks.
* **Latency monitoring** — surfaces the average and maximum AI response latency alongside a latency sparkline, sorted by average latency descending, so the slowest calls float to the top.
* **Compact overview** — a stripped-down layout with just the date, agent, caller, status, and duration, for quickly scanning volume without the extra detail.
* **Transfers & escalations** — highlights transferred and ended calls together with tags and the call summary, useful for reviewing how escalations were handled.

Click any predefined view's name to apply it instantly. Applying a predefined view only changes your columns, sorting, and page size — exactly like applying one of your own saved views — so it's just as easy to switch away from afterward.

<Info>
  Predefined views can be applied as many times as you like, but they can't be renamed or deleted — they're shared starting points, not personal views. If you want to tweak one, apply it first and then save your adjusted version under a new name in **My views**.
</Info>

### Custom saved views

Once you've configured your columns, pins, and filters the way you like, you can save that configuration as a **named view** and switch back to it whenever you need.

<Steps>
  <Step title="Configure your table">
    Set up your columns, pinning, filters, and sorting exactly how you want them — starting from scratch or from a predefined view.
  </Step>

  <Step title="Open the Views menu">
    Click **👁️ Views** in the top-right corner.
  </Step>

  <Step title="Save the current configuration">
    Type a name for your view in the input field and click **Save current**. Give it something memorable, like "Suspicious calls this week" or "My agent's calls".
  </Step>

  <Step title="Apply a saved view">
    Open the Views menu at any time and click a view's name — predefined or your own — to instantly apply it. The active view is highlighted with a checkmark and its name appears next to the Views button. Use the **✕** icon next to one of your own views to delete it.
  </Step>
</Steps>

<Info>
  Saved views are stored per user, so each teammate can build their own set of named views — on top of the same shared predefined views — without affecting anyone else's setup.
</Info>

## Live updates

Live polling is **opt-in** — the table doesn't refresh in the background unless you turn it on, so it never surprises you mid-review.

* Toggle **Live** near the top of the table to start polling for new calls automatically.
* While active, a small live indicator confirms polling is running.
* The refresh interval is **adaptive**: it automatically speeds up while new matching calls are actively coming in, and backs off to a more relaxed pace during quiet periods, so the table stays responsive without hammering the backend unnecessarily.
* Newly arrived calls that match your current filters are briefly highlighted in the table so they're easy to spot as they come in.
* Live polling respects your current filters, sort order, and scroll position — turning it on won't reset or interrupt what you're looking at.
* You can turn **Live** off at any time to freeze the table at its current state, for example while you focus on reviewing a batch of calls.

<Info>
  Live polling automatically pauses while you're interacting with elements like the review note editor, the tag editor, or an open modal, so you never lose in-progress input. It resumes once you're done.
</Info>

## Filtering calls

The filter bar is organized into a single, evenly spaced row of controls followed by the status chips, making it easy to scan and combine filters without any layout jumping around as you use them.

### Date range

Choose from common presets (Today, Yesterday, Last 7 days, This month, etc.) or define a fully custom start and end date and time.

<Info>
  Unlike the classic Calls page, day-based presets here (such as "Today" or "Last 7 days") end at 23:59:59 of the last day, instead of rolling into 00:00 of the following day.
</Info>

### Agents

The agent filter uses a chip-based multi-select:

* Start typing an agent's name to search.
* Click an agent from the dropdown to add it as a chip.
* Remove a chip by clicking the **✕** on it, or clear all selected agents at once.
* Leaving the filter empty shows calls from all agents.

### Tags

Tags work the same way as agents — search, select, and manage them as chips. This makes it easy to combine multiple tags to narrow down a specific segment of calls.

### Call ID

Filter directly by a specific Call ID when you need to jump straight to a known call, without scrolling through the rest of the table.

### Status

Filter by one or more call statuses, including Open, Closed, No answer, Voicemail, Busy, Failed, Transferred, and Blocked.

### Suspicious calls

The **Suspicious calls** filter is a one-click way to surface calls that are worth a closer look. It's a client-side filter that flags a call as suspicious if **any** of the following are true:

* The AI response latency was unusually high.
* The call ended with a problematic status (`no-answer`, `failed`, or `blocked`).
* The call's goal was not met.
* The call has no transcript at all.

<Info>
  This is intentionally an **OR** condition rather than an **AND** condition. Combining several individual filters (like status) would only show calls matching *all* conditions, which tends to under-match what auditors actually want to review first. The Suspicious calls filter is designed to catch anything that looks off, from any angle.
</Info>

### Free-text search

Use the search box to look up calls by transcript content, independent of the other structured filters.

## Review and audit workflow

Each row in the table includes a **Reviewed** control that lets your team track which calls have already been checked, an **OK/KO verdict**, and an optional audit note — all editable directly inline, without opening a separate modal. This column is pinned to the right edge of the table by default, so it stays visible no matter how many columns you've added.

<Steps>
  <Step title="Mark a call as reviewed">
    Click the review indicator on a call's row to toggle its reviewed status inline. The **Reviewed** summary card at the top of the page updates immediately to reflect the new count.
  </Step>

  <Step title="Set an OK/KO verdict">
    Once you've listened to or read through a call, click **OK** or **KO** to record your audit verdict. Clicking the same verdict again clears it. Setting a verdict automatically marks the call as reviewed; clearing the reviewed toggle also clears the verdict.
  </Step>

  <Step title="Add an audit note">
    Click the note icon to open a small inline editor and write context about why the call was flagged, resolved, or worth revisiting — for example, explaining why a call was marked KO.
  </Step>

  <Step title="Save automatically">
    The reviewed toggle, the verdict, and the note text are all saved automatically a moment after you stop interacting — no need to click a separate save button.
  </Step>
</Steps>

<Info>
  Only one review note editor can be open at a time. Clicking outside the editor, or opening a note on another row, will close the current one.
</Info>

This review workflow is especially useful when combined with the **Suspicious calls** filter: turn on **Live** to catch new calls as they come in, flag the suspicious ones, review them one by one, record an OK/KO verdict with a note explaining the outcome, and mark them as reviewed once resolved. Save that exact combination of filters and columns as a custom view under **My views** so your team can jump straight back into it later.

<Info>
  The same OK/KO verdict, reviewed toggle, and note editor are also available inside the recording player modal, so you can complete your review right after listening to a call without going back to the table.
</Info>

## Inline tag editing

The **Tags** column lets you manage a call's tags directly from the table, without opening the call's detail view.

<Steps>
  <Step title="Open the tag editor">
    Click into the Tags cell on any row to reveal the inline tag editor.
  </Step>

  <Step title="Add a tag">
    Start typing to search existing tags — an autocomplete dropdown suggests matching tags already used across your calls, so you can stay consistent instead of creating near-duplicate tags. Press **Enter** or select a suggestion to add it.
  </Step>

  <Step title="Rename a tag">
    Renaming isn't a separate action — remove the old tag chip and add the new one in its place. Since tag suggestions are shared across calls, the new name immediately becomes available as a suggestion for every other call going forward.
  </Step>

  <Step title="Remove a tag">
    Click the **✕** on any tag chip to remove it from the call.
  </Step>

  <Step title="Save automatically">
    Tag changes are saved as soon as you add or remove a chip — there's nothing else to confirm.
  </Step>
</Steps>

<Info>
  Tags added or removed inline are immediately reflected in the **Tags** filter's suggestions, so newly created or renamed tags become searchable right away. Tags can also be added or removed from inside the recording player modal, staying in sync with the table row.
</Info>

## Exporting to Excel

The Advanced Calls View supports two export modes:

<Tabs>
  <Tab title="Export all filtered calls">
    Click **Export to Excel** to export every call currently matching your active filters, respecting your selected columns.
  </Tab>

  <Tab title="Export selected rows only">
    Select one or more rows using the row checkboxes, then click **Export selection (N)**. This exports only the calls you've selected, and always includes the **Reviewed** status, the **OK/KO verdict**, and the **audit note**, regardless of whether those columns are currently visible in the table.
  </Tab>
</Tabs>

<Info>
  Selective export is ideal for sharing a curated set of reviewed or suspicious calls with a manager or client, without exposing your entire filtered dataset. Because the review status, verdict, and audit note are always included in this export, it doubles as a ready-made audit trail you can hand off as-is.
</Info>

## Recording player

Clicking a call's recording opens a redesigned player modal that puts the audio, the review controls, and the transcript side by side.

### Waveform, speed, and navigation

* The recording is rendered as a real **waveform** built from the decoded audio, not a generic progress bar — click anywhere on the waveform to seek instantly to that point.
* Use the **±10s** buttons to skip forward or backward, or the play/pause button to start and stop playback.
* Choose a **playback speed** from the available presets (0.5x up to 2x) to review calls faster or listen more carefully to a tricky section.
* Download the original recording at any time with **Download recording**.
* If you opened the player from the table, **previous/next** arrows in the header (and the ← / → arrow keys) let you move to the adjacent call in your current filtered list without closing and reopening the modal.

### Transcript with per-turn latency breakdown

The transcript panel shows the conversation turn by turn, with each agent reply annotated with **"Replied in Xs"**:

* Click on a reply's latency badge to expand a **response-time breakdown**, showing a stacked bar of exactly where that time went — for example, time spent transcribing the caller's speech, generating the LLM response, and synthesizing the reply — along with the model used for that turn.
* User turns show how long the **transcription** took, when available.
* Tool calls made by the agent during a turn appear as their own expandable badges, so you can inspect what was called and what was returned without leaving the transcript.

<Info>
  This breakdown is what powers the **Avg. latency** summary card and the Suspicious calls filter's high-latency check — the same underlying per-turn data is just made visible here so you can see exactly why a particular reply was slow.
</Info>
