Skip to main content
The Call History screen gives you one-click access to every voice call handled by your AI agents. Quickly locate a call, export records for offline analysis, and drill-down into a full summary & transcript – all without leaving SquawkVoice Studio. Chat and email conversations are listed separately. See Chat History and Email History.

Getting There

1
In the left sidebar, find the Optimize section.
2
Select Call History.
Call History is in the default sidebar. If it isn’t listed, add it with Customize sidebar at the foot of the sidebar, or press Cmd/Ctrl+K and search for Call History. See Navigating Studio.

Search & Filters

When you open Call History from the sidebar, it starts on Last 7 Days with no other filters switched on. The agent filter, time range, Filters menu and Refresh are in the header above the table. The search box and Export are at the top of the table.

Search

Query by caller or called number, agent name, or Call SID. Matching is partial and ignores case. Results update about half a second after you stop typing, and a new search cancels the previous request so the table stays responsive.Search also checks the disposition as it is recorded. Calls shown as Contained are recorded as Hangup, so search for that word to find them.

Agents

Show calls for one or more agents. The menu reads All agents until you pick some, then shows how many you chose, for example 2 agents. Use Search assistants inside it to find an agent by name.

Time Range

Choose Today, Last 7 Days, Last 30 Days or Custom Range to limit results. See Time range below.

Filters

Open Filters to switch on Pinned Only, User dissatisfied or Action Errors. The number beside Filters shows how many are on. See Filters below.

Refresh

Reload the list for your current time range and filters. The button reads Refreshing… while it loads.

Export

Queue a CSV of the calls that match your time range, agents and filters.

Time range

If you arrive from a slice of a chart in Call Analytics, Call History starts on Last 30 Days instead. Days are counted in your browser’s time zone. To count them in UTC instead, switch on Use UTC under Time zone in the same menu. The date column then reads Date (UTC) and shows times in UTC.

Filters

switch
Only the calls you pinned.
switch
Only calls the AI marked Dissatisfied. These calls show a thumbs-down beside the Caller ID.
switch
Only calls where an action received an error response (a status of 400 or higher) from the service it called. Open the call and switch on Action Logs to see which one.

Table Reference

The columns appear in this order.
string
Identifier of the caller. When the AI has judged the call, a thumbs-up or thumbs-down beside it shows whether the call was marked Satisfied or Dissatisfied (hover to read User satisfied or User dissatisfied).
string
The number that was called. Long values are shortened with an ellipsis; hover to see the full number.
string
Incoming or Outgoing, with a phone icon. Shows a dash when the direction isn’t known.
timestamp
Call start time, day first with seconds and milliseconds, for example 14/10/2026 03:45:12.123 PM. The header reads Date (UTC) when Use UTC is on.
duration
Total length in minutes and seconds, for example 3m 25s.
amount
Dollar amount for the call, or - when there is none. This column isn’t shown on every account. When a call has more than one charge, for example a DNC scrubbing charge on top of the call itself, hover the amount to see a Cost breakdown listing each charge and the Total. See What scrubbing costs. On a call transferred to a phone number, the breakdown lists AI voice leg and Transfer (live agent) with the Total. When the destination answers, the AI’s part of the call (up to the answer) and the live agent’s part (after it) are each billed in whole minutes, rounded up on its own.
status
Color-coded for quick scanning and shown in capitals: COMPLETED (green) when the call finished, ERROR (red) when it ended with the bot_error disposition, and REJECTED (red) when it was refused before it started, usually because your balance couldn’t cover it. A dial attempt that was stopped before any call was placed shows an amber Blocked — DNC badge instead. See Blocked Dial Attempts.
string
AI agent that handled the call. A small tag under the name shows the agent version the call started on: V5 for a published version, Draft when it ran on the unpublished draft (for example a call you made with Talk), or Deleted version when that version has since been deleted. Calls from before agent versions existed, and calls refused or blocked before they started, have no tag. See Version History.
string
Unique Call Identifier. Click the copy icon to copy to clipboard.
string
Outcome of the call. The table shows Contained for calls the AI agent ended itself (including when it ended the call after the caller went silent) and for calls where the caller hung up after being helped. Transferred calls show their transfer disposition (Transferred by default). Other outcomes, such as Caller-Hungup and bot_error, appear exactly as recorded. INSUFFICIENT_BALANCE means your balance couldn’t cover the call: the Call Status is REJECTED when the call was refused before it started, and COMPLETED when it was cut off mid-call because the balance couldn’t cover the next minute. A call refused before it started for any other reason, such as a problem on SquawkVoice’s side, also has the Call Status REJECTED but shows SYSTEM_ERROR. Calls refused before 20 October 2026 all read INSUFFICIENT_BALANCE, whatever the reason.
button
Click View to open the Call Details drawer.
Click anywhere on a row to open the drawer. Pinned calls display a colored bar on the left edge so you can spot them quickly.

Infinite Scrolling

Scroll to the bottom of the list and older calls load automatically – no paging controls needed.

Blocked Dial Attempts

Campaigns check each number against your internal Do-Not-Call list before dialing, and that check can stop a dial attempt before any call is placed. Those attempts are still listed, because the scrubbing check carries a charge. Blocked attempts are mixed in with your calls in time order, and they look different:
  • Call Status reads Blocked — DNC. Hover the badge for the reason.
  • To, Date and Agent are filled in, and Cost shows the scrubbing charge. Caller ID is empty, and Direction, Duration, Call SID, Disposition and Actions show a dash.
  • There is no call to open, so there is no transcript or recording, and the row can’t be pinned.
They are hidden while Pinned Only, User dissatisfied or Action Errors is on. For how scrubbing works, see Compliance & DNC.

Pin Calls for Easy Follow-up

1
Click the pin button at the left of any row. You can also pin from inside the Call Details drawer.
2
Open Filters and switch on Pinned Only to review just the calls you saved.
Pins are personal to your user account within the current account; teammates manage their own pinned lists.

Export

Click Export to queue a CSV of your call records. The export runs in the background, so nothing downloads straight away:
1
Click Export. Studio shows Starting export job… and then Export job started! You will be notified when it’s ready for download.
2
When the job finishes, a message reading Export completed and ready for download appears.
3
Open Manage → Data Exports and download the file.
Data Exports isn’t in the default sidebar. Add it with Customize sidebar, or press Cmd/Ctrl+K and search for Data Exports. See Navigating Studio.
The export covers every call that matches the time range, agent selection and Filters switches you have set, including a drill-down you arrived with from Call Analytics. It isn’t limited to the rows loaded on screen. The search box isn’t applied, so text you have typed there doesn’t narrow the export. If no calls match, the job finishes without a file. The CSV has one row per call, with these columns: The file has no cost column. The blocked dial attempts that the table lists for your campaign runs (see Blocked Dial Attempts) aren’t in it.

Call Details Drawer

Selecting View opens a side drawer titled Call Details. At the top, the Call SID is shown with a copy button, next to a Pin / Unpin button. Below that, the drawer has up to three sections:

Summary

AI-generated synopsis of the conversation, written in the agent’s Summary Language.Beside the heading you may see an Identified topic chip, a Summary language chip, an Agent version chip showing the version the call started on (for example V5 · Spring prices, V5, Draft or Deleted version), and a Satisfied or Dissatisfied label showing whether the AI judged that the agent handled the call correctly, not how the caller felt. See Customer Satisfaction (CSAT). On a transferred call that has a handoff summary, switch between AI Summary and Handoff Summary.

Transcript

Full chat-style transcript, labeling each turn — the AI agent and the Caller. On a call transferred to a phone number, the live agent’s turns are added only when the agent has Enable Handoff Transcript on (see Transfer Status in the Transcript). The Action Logs switch sits in this section’s header.

Call Recording

A player at the foot of the drawer, shown when a recording is available for the call. Press play to listen, or select Download to save it as an MP3 named call-recording-<Call SID>.mp3.Recordings are kept for 60 days by default. See Data Retention.
If the caller opted out of transcript logging, the transcript area reads Caller opted out of transcript logging and the Action Logs switch is hidden. When a call has no transcript, it reads No transcript available.
Where an agent ran pre-conversation actions, their entries sit just before the agent’s first reply. If the customer spoke first, they come after the customer’s opening message; if the agent opened the conversation, they come before its greeting. They show when Action Logs is switched on. Replies from a human agent during a handoff are labelled as such rather than credited to the AI.

Transfer Status in the Transcript

When a call is handed to a human, the transcript adds an Agent Handoff section below the AI conversation. It records the dial progress to the transfer destination, so you can see how far a transfer got even when it never connected:
  • Dialing transfer destination → Ringing transfer destination → Connected to transfer destination → Agent handoff ended (when the transferred conversation finishes normally)
  • Or an outcome instead: Transfer destination did not answer, Transfer destination was busy, Transfer failed, or Transfer was canceled.
Most of these lines end with the number that was dialed, in parentheses, for example Ringing transfer destination (+15551234567). Agent handoff ended has no number. The live agent’s turns, and what the caller says to them, appear in this section only when the agent has Enable Handoff Transcript switched on. It is off by default and is available when Destination Type is Phone Number. With it off, the section shows only the progress lines above. See Transfer settings.
A call transferred to a phone number is listed in Call History when the transferred conversation ends, not when the agent hands the call over. While the caller is still talking with the live agent, the call isn’t in the list yet.

Action Logs

The transcript viewer can show a richer, time-aligned view that combines messages with system actions executed during the call.

Turn it on

  1. Open a call in the Call Details drawer.
  2. In the Transcript section, switch Action Logs on. When enabled, the app loads a merged transcript for that call.

What you will see

  • AI and User messages as separate bubbles, with precise elapsed time badges.
  • System entries for actions that ran during the call, including:
    • Pre-conversation actions (executed before the first utterance)
    • In-conversation actions, flow API requests, and Transfer actions
    • Post-conversation actions
Each action is a card headed by its Action Name. When an action runs a flow, its card has a small arrow on the right. Select the card or the arrow to show or hide the steps of the flow, in the order they ran. Each step shows its Node Name, plus details that depend on the kind of step: For how in-conversation actions record each step as they run, see Visibility & Logging. Hover over the icon beside an entry to see what kind it is. The three action phases read Pre Call, During Call and Post Call in these tooltips; they are the same phases as pre-conversation, in-conversation and post-conversation actions. Steps inside a flow are labelled by node type, such as API Request, Decision, Set Variable, Say, AI Context, Start, End Call and Transfer. Entries for a handoff and for context added to the agent read Handoff and Context Update. Hover over the elapsed time badge to see the absolute timestamp including milliseconds.
The merged transcript is fetched only when Action Logs is switched on. If no action log data exists for a call, the viewer falls back to the regular transcript.

Tips

  • Use Action Logs to debug why an action was called and what data was returned.
  • Collapse request sections you do not need to reduce visual noise.
  • Sensitive values may be masked by your backend for security.

Troubleshooting

  • If Action Logs shows no entries, logs may take a short time to appear. Wait a few seconds and try again.
  • Some older calls may not include merged transcript data; in that case, the basic transcript will be shown.

Tips & Best Practices

  1. Copy the Call SID when you need to reference a specific call in support tickets.
  2. Set the time range, agents and filters first, then Export to avoid large CSV files.
  3. Use the Call Details summary to quickly understand whether the customer’s query was resolved.

Call Analytics

Deep-dive into aggregated performance metrics.

Prompt Templates

Tweak prompts based on real conversations.