Skip to content
TriedDocs
Monitor

Call history

Find any call, filter by outcome or extracted data, and open the full record with recording, transcript, analysis, latency and cost.

Call History lists every voice call in the workspace: web calls from the dashboard or the web SDK, inbound and outbound phone calls, and calls placed by batch campaigns. Each row opens a detail drawer with the recording, transcript, post-call analysis, latency breakdown, cost, logs and knowledge base lookups for that call.

Use it to review what your agents said, to debug a failed call, to spot patterns before you change a prompt, and to re-run analysis after you add new extraction fields.

Call History with the date range, filters, column settings and the Actions menu

Open it from DATA > Call History in the sidebar. Chats live on a separate page: see Chat history.

The call list#

Calls are sorted newest first. The footer shows the page number, the total (Total Session) and a page size selector (10, 20, 50 or 100 per page).

Date range#

The date button defaults to Last 30 days. Presets are Today, Last 7 days, Last 30 days, Last 90 days and All time. Under Custom you pick a from date and an optional to date, then click Apply. The range filters on the call start time; calls that never started (for example a dial that failed) are matched on their creation time instead.

Filters#

Click Filter to open the filter panel. Every group is multi-select, and the button shows how many groups are active. Active filters also appear as chips next to the button; click the x on a chip to clear it.

Filter group Values
Agent Any agent in the workspace
Call status Registered, Ongoing, Ended, Error
Direction Inbound, Outbound
Channel type Phone call, Web call
User sentiment Positive, Neutral, Negative, Unknown
Call successful Successful, Unsuccessful
Disconnection reason Every value in Disconnection reasons
Analysis, metadata and variables Conditions on custom analysis fields, call metadata and dynamic variables

Clear all resets every group.

The Analysis, metadata and variables editor adds rows of the form source, key, operator, value:

  • Analysis matches call_analysis.custom_analysis_data.<key>.
  • Metadata matches metadata.<key>. Keys can be dotted paths such as crm.account_id.
  • Variable matches the request dynamic variables and the variables collected during the call.

Operators on this page are equals, is not, contains, >, ≥, <, ≤, is one of (comma separated list), is set and is not set. Every row must match. You can add up to 20 rows.

Tip

Values typed as true, false or a number are sent as booleans and numbers, so appointment_booked equals true matches a boolean extraction field.

A link from a batch campaign opens Call History with a Batch call chip already applied and the range set to All time.

Columns#

Click the sliders icon to choose columns. Tick a column to show it, use the arrows to move it, and click Reset to default to go back. The choice is saved in your browser.

Column Default Content
Time On start_timestamp
Duration On duration_ms
Channel Type On phone_call or web_call
Cost On call_cost.combined_cost
Session ID On call_id
Agent ID Off agent_id
Agent Name On Name of the agent
Agent Version Off agent_version used for the call
Direction Off Inbound or Outbound
From Off from_number
To Off to_number
Call Status On call_status
Disconnection Reason On disconnection_reason
User Sentiment On call_analysis.user_sentiment
Call Successful On call_analysis.call_successful
End to End Latency On Median (p50) of latency.e2e
LLM Tokens Off Sum of llm_token_usage.values; hover for requests and the average

A cell shows n/a when the value does not exist yet, for example sentiment on a call that is still being analysed.

Selecting calls#

Tick rows (or the header checkbox for the whole page) to select calls. A bar appears with:

  • Ask Conductor about these calls: opens Conductor with up to 10 selected calls attached. See Conductor.
  • Re-run analysis: opens the backfill dialog with Selected calls chosen. See Re-run and backfill analysis.
  • Clear selection.
Selecting calls in Call History to hand them to Conductor

Actions menu#

Item What it does
Backfill analysis Re-runs post-call analysis on the selected calls, or on every ended call in the date range (up to 500). The date range option does not re-send webhooks.
Export CSV Downloads the calls currently loaded, with the visible columns, as calls-YYYY-MM-DD.csv.
Server-side export (all matching calls) Starts an export job on the server for the date range. Download it from Settings > Exports. See Exports.
The Backfill call analysis dialog opened from the Actions menu

Ask Conductor in the page header attaches the open call, or the 10 most recent calls in the view, as context.

Ask Conductor from Call History with recent calls attached

Show PII#

Admins see a Show PII switch in the header. When it is on, calls open with their unscrubbed copy where one is kept (after PII removal). Every view is written to the audit log.

The call detail drawer#

Click a row to open the drawer. Press the up and down arrow keys to move to the previous or next call on the page without closing it. The URL gets ?call=<call_id>, so you can share a link that opens the same call.

The call detail drawer with Conversation Analysis and the caller's contact

The header shows the start time and call type, then:

  • Agent: name, short ID with a copy button, and Version.
  • Call ID with a copy button.
  • Phone Call: from and to numbers and the direction (phone calls only).
  • Duration: start time to end time, or ongoing.
  • Cost: call_cost.combined_cost.
  • A PII removed line when PII scrubbing ran on the call, with the number of items removed.
  • Remove sensitive data (admins and developers, ended calls) scrubs names, numbers, addresses and other PII from the transcript, variables, analysis and recording. An encrypted unscrubbed copy is kept for a limited time and admins can view it with Show PII.

The trash icon deletes the call. The recording, transcript and analysis are deleted permanently.

Recording#

When the call has a recording, an audio player shows play and pause, a seek bar and a download button. If both a mixed and a dual channel file exist, a switch toggles Mixed and Stereo (dual channel) (agent on the left channel, caller on the right).

Needs keys

Needs keys Real recordings are written by LiveKit egress to S3. Without LiveKit and S3 keys, calls get a mock WAV file so the player still works.

Conversation Analysis#

Row Source
Call Successful call_analysis.call_successful
Call Status call_status
User Sentiment call_analysis.user_sentiment
Disconnection Reason disconnection_reason (error reasons are shown in red)
End to End Latency Median end-to-end latency, with a breakdown on hover

Rerun runs post-call analysis again with the agent's current extraction settings and fires call_analyzed again. It is only enabled on ended calls. See Re-run and backfill analysis.

Latency breakdown#

Hover the End to End Latency value to see P90, Median and Min for each stage that ran in the call:

Stage Field Meaning
End to end latency latency.e2e End of the user's speech to the agent's first audio
Transcription latency latency.asr End of the user's speech to the final transcript
LLM latency latency.llm Time to the first LLM token
TTS latency latency.tts Time to the first audio byte from TTS
Knowledge base latency latency.knowledge_base Retrieval time (only when the agent used a knowledge base)
Speech to speech latency latency.s2s Speech-to-speech engines only

All values are in milliseconds. The API also returns p95, p99, max, the sample count and every raw value. See The call object.

Contact#

Phone calls are linked to a contact. The Contact section shows the name, number, email, a Do not call badge, custom fields, the contact's memory and up to five prior conversations with their summaries. Open contact jumps to the contact record. See Contacts.

Summary#

call_analysis.call_summary. While the call is live this reads "The call is still in progress."

Tabs#

Transcription shows the conversation with timestamps relative to the call start, plus chips you can expand:

  • Tool Invocation with the arguments, and Tool Result with the response.
  • Node Transition from the former node to the new node (conversation flow agents).
  • DTMF digits.
  • SMS sent for texts the agent sent during the call.
  • Context added during the call for context injected with update-live-call.

View in Test Playground opens the agent so you can reproduce the conversation.

Data shows tables for Custom analysis, Dynamic variables, Collected variables, Metadata, Cost breakdown (each product with its cost and per-minute price) and LLM token usage (requests, average per request, total).

The Data tab with dynamic variables, cost breakdown and LLM token usage

Detail Logs shows a log of the call events (start, utterances, tool calls, node transitions, DTMF, latency summary, end). Download full log opens public_log_url, a signed link to every runtime event recorded for the call.

Knowledge and workflows shows each knowledge base retrieval (query, rewritten query, and each chunk with its score and source) and each pre-call or post-call workflow run with its status, steps and outputs.

The Knowledge and workflows tab with its Retrieved knowledge and Workflow runs sections

API equivalents#

Task Endpoint
List and filter calls POST /v2/list-calls (also /v3/list-calls). See List calls.
Get one call GET /v2/get-call/:call_id. See Get call.
Delete a call and its recordings DELETE /v2/delete-call/:call_id
Re-run analysis POST /rerun-call-analysis/:call_id
Backfill analysis POST /backfill-call-analysis
Knowledge base retrievals GET /kb-retrievals/:call_id

list-calls takes the same filters as the dashboard in filter_criteria, sort_order (descending by default), limit (1 to 1000, default 50) and pagination_key (the last call_id of the previous page).

{
  "filter_criteria": {
    "agent_id": ["agent_3f9c0a1b2c3d4e5f6a7b8c9d"],
    "call_status": ["ended"],
    "start_timestamp": { "lower_threshold": 1760832000000 },
    "fields": [
      { "source": "custom_analysis_data", "key": "appointment_booked", "op": "eq", "value": true }
    ]
  },
  "limit": 100
}

In the API, fields[].source is custom_analysis_data, metadata or dynamic_variable. Operators are eq, neq, contains, gt, gte, lt, lte, in, exists and not_exists (default eq).

Gotchas#

  • The list loads every call that matches, then pages in the browser. Narrow the date range on large workspaces.
  • Export CSV only includes the visible columns. Use the server-side export for everything.
  • Sentiment and success are empty until post-call analysis finishes, a few seconds after the call ends.
  • A failed outbound dial stores the carrier error in metadata.dial_error.