Real-time agent-assist whisper coaching in the softphone
The browser softphone is where most agents actually take a call, so coaching had to live there too — not on a separate call-detail page. While a call is in progress, an AI copilot reads the live transcript and whispers suggestions into the softphone’s active-call panel: a suggested reply, the next best action, up to three knowledge-base articles pulled from your workspace’s real KB, and a rolling sentiment read on the caller. A persistent Agent assist toggle turns the panel on once; it remembers the choice across calls. Softphone in this context means the dashboard’s own call panel and its web component siblings — the same stream is consumable over Server-Sent Events, so a custom phone-bar widget can render the identical cards. Base path:/api/v1/voice
Base surface: dashboard softphone pop-up or any SSE client; the card wire format is identical for both.
The assist panel during a call
Open the softphone’s active-call view and toggle Agent assist. From then on every call streams a sequence of suggestion cards; each card carries:suggested_response— one short paragraph the agent could say next, written to be spoken aloud (no greetings or sign-offs; the call is in progress).kb_articles— up to three articles retrieved from your tenant’s own knowledge base. The model only distils the caller’s current informational need into a search query; the surfaced titles and snippets always come from real documents, each withdocument_id(andsource_urlwhere the source carries one) so the agent can open the article, never a hallucinated citation.next_best_action— a single imperative next step (“offer a $20 credit”, “escalate to billing tier 2”).suggested_action— where the next best step maps to a whitelisted one-click action (today: escalating to a ticket), the card includes a structured action object so the UI can render an execute button instead of plain text.sentiment_score— a rolling [-1, +1] estimate of the caller’s current tone in the most recent turns (-1 strongly negative … +1 strongly positive).
Sentiment emergency lane (supervisor whisper / barge)
When the rolling sentiment score drops to −0.5 or below — the same threshold the post-call sentiment alerting uses — the platform lights two rescue paths at once:- The supervisor wallboard gets a
voice.sentiment.negativeevent with a recommended action: whisper (coach the agent silently) for a score of −0.7 or higher, barge (join audibly) below −0.7. See the supervisor live monitoring guide for those actions and their audit ledger. - The agent’s own overlay gets an automated sentiment nudge — a calming, actionable prompt — instead of relying on the manual distress button.
Consuming the stream over SSE
The softphone panel is the transported-over-SSE view of a single endpoint:GET /api/v1/voice/calls/{callId}/agent-assist/stream
event: connected handshake, forwards each card as an event: assist frame whose data is the card JSON (plus a server-issued id, generated_at, and model), keeps the line alive with : ping comments, and closes with event: end when the call completes. Custom softphone widgets and embedded phone bars can render the same cards from the same frames.
Access: the same voice-read scope as the call itself; agents only see cards for calls they can already open. All coaching is fail-closed soft — if the underlying model call fails, the call and its transcript stream are untouched and the panel simply skips a tick.
Outbound dialer parity
The same coaching runs on predictive / power-dialer campaign calls, with an outbound-aware prompt: objection-handling rephrases, required disclosure prompting, and a do-not-request gate that overrides the pitch the moment the called party signals stop/remove/do-not-call. The coaching is transcript-in / suggestion-out — it never originates or alters the call itself.Related
- Supervisor live monitoring for voice calls — listen, whisper, barge, conference-join
- Supervisor live transcript over SSE — agent-assist and supervisor-assist SSE wire formats
- Call QA scorecards — post-call grading on the same calls