Call Logs

Browse, search, and analyse your call history with detailed logs for every call. The Calls page is your central hub for reviewing what happened in each conversation, from high-level summaries to full transcripts and recordings.

Browsing Calls

The Calls page displays a searchable, filterable table of all call logs. Each row represents a single call and includes the following columns:

ColumnDescription
Agent NameThe agent that handled the call.
Caller NumberThe phone number of the caller (inbound) or the dialled number (outbound).
Caller NameThe caller's name when the agent picked it up during the conversation. We only show what the caller actually stated; nothing is shown when no name was given.
DirectionWhether the call was inbound or outbound.
DurationThe total length of the call.
StatusThe outcome of the call, e.g. completed, failed, no answer, or Blocked – unknown caller when the agent's Block unknown numbers setting rejected the inbound call.
TimestampWhen the call took place.

Blocked calls

Calls rejected by an agent's Block unknown numbers setting are logged with the status Blocked – unknown caller. The trunk responds to the caller with a SIP busy status (so they hear a busy tone), no session is started, and the row has no transcript, recording, or duration and does not consume agent minutes. Use it to audit how often anonymous callers are hitting your inbound lines.

The “Preview” badge

Some rows show a Preview badge with an eye icon. That badge marks web preview calls placed from the agent's in-browser test player (the Test button on the agent editor), not real SIP calls. SIP test calls placed from the Numbers page do not get a special badge; they sit alongside production calls in the log. If you need to find them, filter by date and the destination number you dialled.

The table is paginated and sorted by most recent calls first. Click any column header to change the sort order.

Use the filter controls at the top of the table to narrow down your call logs:

  • Agent: Show calls for a specific agent or all agents.
  • Date Range: Filter by a specific time period.
  • Direction: Filter by inbound, outbound, or both.
  • Status: Filter by call outcome (e.g. completed, failed).

The full-text search bar searches across call summaries, allowing you to find calls by topic, keyword, or phrase. For example, searching for "refund" will surface all calls where a refund was discussed.

Call Details

Click any call in the table to open its detail view. The detail panel provides a comprehensive breakdown of the conversation:

  • Full Transcript: A complete, timestamped record of everything the agent and caller said during the call.
  • Call Summary: An AI-generated summary capturing the key points, outcome, and any follow-up actions from the conversation.
  • Sentiment Analysis: The detected sentiment of the caller throughout the conversation (e.g. positive, neutral, negative), helping you gauge caller satisfaction at a glance.
  • Key Topics: Automatically extracted topics discussed during the call, making it easy to categorise and search conversations by subject matter.
  • Action Items: Any follow-up tasks or commitments identified during the conversation, such as "send pricing document" or "schedule follow-up call".

Inbound Call Identifiers

For calls that arrive through a contact-centre integration, the call detail view shows an Inbound Call Identifiers panel containing every custom SIP header we captured on the original INVITE, plus the provider call ID when one is available. Click any value to copy it to your clipboard with a single click (handy for tying calls back to your CRM, PBX, or contact-centre's own call records).

Header capture is configured per-agent on the Contact Centre tab of the agent editor. If your trunk is provisioned with include_headers: SIP_X_HEADERS (or a headers_to_attributes map) and the agent has Capture X-Headers enabled, those values land here automatically. See the Contact Centre section in the Agents docs for the full setup.

When the panel appears

The Inbound Call Identifiers panel only renders for calls that have at least one captured header or a provider call ID; calls placed through a non-contact-centre trunk simply omit the panel. Header aliases configured on the agent (e.g. X-Call-ID → providerCallId) replace the raw header name in this view.

Live Transcript Visualiser

For calls currently in progress, the call detail view streams the transcript live: words light up as they're spoken, so you can follow a conversation in real time. Each utterance is timestamped to the millisecond and tagged with the speaker (agent or caller), and the visualiser scrolls automatically as new speech comes in. Drop in to monitor a stuck call, take notes during a live demo, or just confirm an agent is behaving as you'd expect.

The live view becomes the static transcript the moment the call ends; no manual refresh needed.

Listen In to Live Calls

While a call is in progress, the Calls table shows a red Listen in pill next to the row. Click it and the call audio starts playing straight away in your browser; neither the caller nor the agent hears you, and your presence is not announced. Great for live QA, training a new operator, or quickly investigating a complaint without having to wait for the recording.

You can listen to multiple calls by switching rows; the previous stream is torn down automatically when you connect to a new one. Closing the panel, navigating away, or the call ending all release the connection cleanly.

Take Over a Call from the Agent

Sometimes the right thing to do is step in. Hit Take over on a live call row (on Calls or in the Omnichannel Inbox) and a small call window pops up in the bottom-right of the dashboard. The agent politely tells the caller it's handing them over, goes quiet, and you can start talking.

The takeover window stays put when you change pages, so you can still look up an order or pull up a contact while you're on the line. If the caller hangs up, your call ends automatically. Mute, hang-up, and a live transcript of what's being said are built into the floating widget.

Permissions

Listen-in and take-over are gated by the Take Over AI Conversations permission (see Roles & Permissions). Admins and Members have it by default; other roles need it added explicitly. Every listen-in and take-over is recorded in the audit log with the user, timestamp, and call ID.

Recordings

Recording policy is configured for the agent, but playback also depends on whether a recording was produced and retained by the configured telephony or storage provider. When a retained recording is available, the call detail view provides authenticated browser playback with play, pause and seeking controls.

Authenticated playback

Retained Cloudax- or provider-backed recordings are accessed through authenticated Cloudax playback; the underlying provider URL need not be public. A recording can therefore be playable here while an end-of-call webhook's recording_url field is null.

To change the agent's recording policy, open the agent editor and navigate to call settings. Retention and deletion policies are separate from whether recording is enabled. Recording may be subject to legal requirements in your jurisdiction; ensure you comply with applicable recording and consent rules.

Exporting Data

Export your call logs to CSV for external analysis, reporting, or record-keeping. The export respects your current filters, so apply any agent, date range, direction, or status filters first, then click the Export button to download the filtered data set.

The exported CSV includes all visible columns: agent name, caller number, direction, duration, status, and timestamp. This makes it straightforward to import into spreadsheets, business intelligence tools, or your own reporting systems.

Filter before exporting

Applying filters before exporting ensures you get exactly the data you need without having to clean up a large file afterwards. Use the date range and agent filters to scope your export to the relevant subset of calls.