ThunderPhone 2.0 is live.Self-serve, from 2¢/min.Read the announcement

Using the dashboard

Client portals: branded read-only call reporting

Create a ThunderPhone client portal, choose visible agents, add viewers, brand the experience, connect a custom domain, and share read-only call history.

Client portals give each client a branded, read-only view of calls handled for them. A portal can include selected agents, its own viewers, a logo and accent color, and an optional custom domain.

Organization admins manage portals at Client portals (/dashboard/client-portals). Viewers use the hosted portal URL and never gain access to the ThunderPhone dashboard.

Create a portal

  1. Choose New portal

    Enter the client-facing name. ThunderPhone creates a unique URL slug from it; you can edit the slug later.

  2. Assign agents

    Add the agents whose calls the client should see. A portal with no assigned agents has no visible calls.

  3. Add viewers

    Add each approved viewer's email address. Viewers request their own login code from the portal sign-in page.

  4. Share the URL

    Copy the portal URL or choose Open to test it. The list page also shows each portal's active status, agent count, and viewer count.

Portal details and availability

The Portal details card controls:

  • Name — displayed on the portal login and header; maximum 255 characters.
  • Slug — the hosted URL segment; maximum 100 characters. Use lowercase letters, numbers, and single hyphens. Slugs must be unique and cannot use a reserved platform route.
  • Agents — the exact set of agent call histories visible in the portal.
  • Portal active — turn this off to prevent every viewer from opening it without deleting configuration.

Only calls belonging to an assigned agent are in scope. Viewers cannot edit agents, place calls, manage billing, or see other organization data.

Branding

Upload a PNG, JPEG, or WebP logo up to 2 MB. Choose a full six-digit hexadecimal accent color such as #2e8fff; it controls the primary buttons and highlights. Reset either value to return to the default branding.

Branding appears on both the sign-in page and authenticated portal header.

Viewer access

Add viewers by email. On the portal login page, an active viewer can:

  • Request a six-digit code by email. A code is valid for 10 minutes.
  • Sign in with a password if they have created one.
  • Create a password of at least 8 characters after signing in.

You can deactivate a viewer without removing their row, or delete them to remove access. Portal sessions are separate from dashboard sessions.

What viewers can see

The portal has two sections: Overview and Calls.

Overview shows five numbers for the last 7, 14 or 30 days. Comparison indicators show changes from the previous period of the same length. An indicator is omitted when the previous value was zero and the current value is positive. Colour shows whether a change is good or bad, not which way it points:

  1. Calls answered: inbound and web calls that reached the agent, plus outbound calls the other side answered, and how many started after hours.
  2. Start to finish: calls that left nothing for the client to do.
  3. Didn't go well: calls where the caller hung up mid-conversation or after the agent asked for information, the agent struggled to capture details, a booking failed, or a transfer did not connect. The most common cause is shown. Hanging up at the greeting alone does not count.
  4. Frustrated callers: callers who showed frustration, with the most common cause. Fewer is better.
  5. Appointments set, and how many were with new clients.

Below the numbers, Overview lists up to eight calls that need a follow-up; View all flagged calls opens the filtered Calls list. When more than one agent has answered calls in the selected period, a table shows calls, after-hours calls, start-to-finish calls, calls that did not go well, appointments and flagged calls for each agent. The five headline numbers also appear on the dashboard Home page and in each agent's Calls tab.

Calls lists inbound, outbound and widget calls for the assigned agents; browser tests and simulations are left out. Each row shows the date, the From number with any label your organization gave it, the one-line summary, the outcome label (the agent's own list, or Success / Failure), any Needs attention flag and reason, the agent and the duration. Flagged calls sort to the top; the Sort filter switches to newest first. Filters also cover date range, call type, needs attention and business hours. Export CSV downloads up to 5,000 matching calls with the report columns, flagged calls first. If more than 5,000 calls match, the file is truncated.

Opening a call shows the flag, outcome, summary and caller experience above the recording. For a frustrated caller, caller experience shows the frustration cause; otherwise the caller-experience note appears when available. When the flag has a recorded time and the call has a recording, Jump to … starts playback at that moment. The transcript follows.

Calls from or to the organization's excluded test numbers are left out of portal lists, Overview numbers and CSV exports, and cannot be opened in the portal. After-hours counts use the organization's time zone and business hours (Organization settings), or an agent's own when set under Reporting in the agent builder.

The interface is read-only. It does not expose agent prompts, organization settings, keys, billing, tools, or internal issue workflows.

Connect a custom domain

  1. Add the hostname

    Under Custom domains, enter a full hostname such as calls.client.com. A hostname can belong to only one portal.

  2. Point traffic to the portal

    Add the displayed CNAME record at the DNS provider.

  3. Prove domain ownership

    Add the displayed TXT record at _tp-portal-verify.<hostname> with the generated verification value.

  4. Allow Azure hostname validation

    Add the displayed TXT record at asuid.<hostname> with the Azure verification value. Keep it in place while the hostname is connected.

  5. Verify

    Choose Verify now. DNS can take time to propagate; the setup screen can check again every 20 seconds. After verification succeeds, the TXT record can be removed while the CNAME must remain.

Remove a domain from the portal before reusing that hostname elsewhere.

Delete a portal

Deleting a portal permanently removes its viewer access and custom-domain configuration. It does not delete the organization's agents or calls, but the portal cannot be recovered. Use the Portal active switch for a reversible pause.

For admin automation, see the Client Portals API.