#Call Log
| Role | Access Level |
|---|---|
| Client Admin | In-scope call list, caller search, inline review, and business CSV export |
| Client Manager | In-scope call list, caller search, inline review, and business CSV export |
| Client Staff | In-scope call list and inline review with masked caller details; caller search is unavailable; business CSV export |
| Partner Admin | Assigned client/project call list, caller search, inline review, and business CSV export, after a single client is selected |
| Partner User | Assigned client/project call list, caller search, and inline review, after a single client is selected; CSV export is unavailable |
#Overview
The call log displays a searchable, filterable list of calls in your tenant and project scope. Use the call log to find specific calls, review outcomes, expand an inline transcript preview, and export filtered CSV results when your role allows it.
#Prerequisites
- You are signed in to the AiDial portal. See Signing In if you need help.
- Your visible calls are determined by your tenant, assigned clients, and assigned projects. Accounts without a usable project scope see an unavailable or empty call log.
- The Calls page always runs against a single project. Client Admin users choose the project from the project switcher in the sidebar (or in the mobile menu); for other roles the portal picks a default project from your assigned scope.
- Partner roles must have a single client selected. While the partner scope is set to all assigned clients, the Calls page shows a "select a client" notice instead of any call rows, and no export.
#Searching and Filtering Calls
- Navigate to Calls in the portal sidebar
- Use the search and filter options at the top of the call list:
- Date range — Use the Today, 7d, and 30d presets, or pick a custom range
- Outcome — Filter by Resolved, Transferred, Follow-up required, Abandoned, Caller hung up, Timed out, Technical failure, or Unclassified.
- Status — Filter by completed, missed, failed, or unknown calls
- Sentiment — Filter by positive, neutral, or upset calls
- Search summaries — Search redaction-safe call summaries. Phone numbers, email addresses, Medicare numbers, and dates of birth are rejected.
- More filters — Filter by call type, needs attention, caller, agent, booking, transfer, follow-up, SMS status, email status, and minimum/maximum duration in seconds. The caller field is hidden for Client Staff. Booking, transfer, follow-up, SMS, and email only appear when the selected project supports that capability.
- Select Search, or press Enter in the Search summaries field, to apply filter changes. Clear resets everything back to the default project and date range and reloads the list.
Date presets, a completed custom range, outcome changes, and filter-chip removal apply immediately. The Search summaries field can hold draft text until you select Search or press Enter. Filter chips below the filter bar mirror the filters in the URL; the date range has no chip because the date control already shows it. Beside the chips, a count reads "N calls", or "N of M calls match" when a narrowing filter is applied and the period total is available. Export uses the filters currently applied to the displayed list. If a deep link contains an optional filter that the selected project no longer supports, the chip and More filters control stay visible so you can clear it; switching projects clears unsupported optional filters.
#Call List Columns
The results table displays:
- Date/Time — When the call began
- Summary — Redaction-safe summary where available
- Duration — Call duration where available
- Outcome — API-owned canonical label. The column is always present; calls without a supported stored outcome show Unclassified.
- Status — Completed, missed, failed, or unknown
- Sentiment — Positive, neutral, upset, or unavailable
- Action — Expands or collapses the inline review panel
Rows that may need attention are marked with an accent bar down the left edge of the desktop row. There is no per-row actions menu; review happens in the inline panel.
On mobile, the same list is shown as cards with date/time, duration, summary, and Outcome/Status/Sentiment chips, plus an Attention chip when the call is flagged. The mobile card list does not show caller names or phone numbers.
#Pagination and Sorting
- Choose how many calls to display per page: 20, 50, or 100. The default is 50.
- Sort by call start time from the Date/Time column, newest first by default or oldest first when selected
- Navigate between pages using the Previous and Next controls at the bottom of the list
#Viewing a Call
Select anywhere on a desktop/tablet row (or its chevron), or select a mobile card, to open the inline review panel. The URL updates to /calls?expand=<callId> so the expanded call can be bookmarked or shared with someone who has the same access scope. Desktop and tablet views can keep up to three rows expanded — expand holds a comma-separated list of call IDs, and opening a fourth row closes the oldest. Mobile opens the selected call in a bottom sheet.
The inline review panel shows the role-appropriate transcript preview and side metadata: from number, started and ended time, end reason, message count, caller mood, follow-up flag, consent state, and transfer destination when present. A TXT transcript download appears only for Client Admin, and only when the call has a redacted transcript with at least one turn. Direct legacy /calls/<callId> links redirect back to the inline review URL and preserve project_id when present.
#Exporting Results
When your role permits export, use Export CSV... in the call log to export the currently applied filters. The button appears with the applied filter chips and count when the displayed list has matching rows. Export is CSV-only and is unavailable when there are no matching calls, when more than 10,000 calls match, or when a required project scope is missing.
The fixed export includes local call time, masked caller, duration, status, primary outcome, sentiment, and a redaction-safe summary. An unavailable or unclassified primary outcome is blank; unknown or unavailable sentiment is Unclassified. Caller and transcript toggles are not shown, transcripts are not included in this CSV version, and audio links are not offered because the current Portal/API contract does not provide safe, scoped recording access URLs. Partner User cannot export call data. See Export and Download for export details.
Unclassified is coverage information, not a business result. It includes calls with no supported stored outcome and some legacy rows during the staged transition. Booking, transfer evidence, follow-up, end reason, QA, and sentiment remain separate details and do not replace the primary outcome shown here.
#Security and Scoping
The browser uses your signed-in portal session. You do not need to enter or send an API key, and the browser must not send X-API-Key.
The Calls page fetches portal BFF routes such as /api/calls, /api/calls/scope, and /api/calls/<callId>/inline-preview. Those server-side routes resolve your portal session, enforce role and tenant/project scope, and forward the AiDial-issued access token to aidial_api. If a requested project or call is outside your scope, the portal blocks access without revealing whether another organisation has matching call data.
Sidebar visibility is not the security boundary. Middleware protects non-API pages, and each API route performs its own auth, RBAC, scoping, and audit checks.
#Role-Specific Notes
- Client Admin: You can search by caller, view inline transcript previews, download eligible TXT transcripts, and export the fixed business CSV; audio links are not offered.
- Client Manager: You can search by caller, view inline transcript previews, and export the fixed business CSV.
- Client Staff: You can view in-scope calls with masked caller details. Caller search is removed, and the fixed business CSV is available for in-scope calls. See Role Reference for details.
- Partner Admin and Partner User: Select a single assigned client before the call list loads — while your scope is set to all assigned clients, the page shows a "select a client" notice with no rows, no inline review, and no export. Once a client is selected you can view and search that client's assigned project scopes. Caller numbers are always masked for partner roles, and partner transcript previews may be hidden by backend redaction policy. Partner Admin can export the fixed business CSV; Partner User cannot export call data.
#Empty State
If no calls have been recorded in the selected period, the call log displays a No calls in this period state with an option to reset to the last 30 days. If filters are active and no calls match, the page displays a No matches state with a Clear filters action. Assignment, lifecycle, telemetry, or unavailable-project states use the same non-enumerating scoping model and may ask you to reset to an available project or return to the dashboard.
#Common Issues
- No results found: Check your filters. You may have a date range, outcome, status, sentiment, summary search, caller, agent, duration, or other advanced filter applied that excludes the calls you are looking for. Clear filters and search again.
- Summary search rejected: Search summaries cannot use phone numbers, email addresses, Medicare numbers, or dates of birth. Use caller search in More filters if your role allows it.
- Project required: If your session has multiple project scopes and the page cannot resolve a default project, select a project from the sidebar project switcher before searching or exporting.
- "Select a client" notice instead of calls: Partner roles must narrow the partner scope to one assigned client. Pick a client from the notice to load the call list.
- Cannot export: Export is unavailable when there are no matching rows, more than 10,000 matching calls, a required project is missing, or your role does not permit CSV export.
- Cannot access call log: Verify you are signed in and your session has not expired. See Troubleshooting.
#Related Pages
- Call Review — Inline review panel behaviour
- Export and Download — Export call data to CSV
- Recordings — Recording access rules and download behaviour
- Dashboard — Analytics overview