The problem
A large regulated enterprise's contact centre carried the usual double burden: customers repeating themselves through transfers, and service agents splitting attention between the person on the line and the systems in front of them, then spending minutes after every call typing up what happened. The after-call work is where quality quietly dies; summaries written from memory under time pressure are thin, inconsistent and occasionally wrong, and whoever takes the next call inherits the gaps.
I designed the architecture for voice servicing with governed agents: real-time transcription and intent, in-call assistance the human can glance at or ignore, post-call summarisation into the case systems, and warm-handover summaries so a transferred customer never starts from zero. The human agent owns the call throughout; the machine works for them.
Why it was hard
Voice is the least forgiving surface in the estate. Latency budgets are conversational, transcription errors compound into wrong intents, and a bad suggestion surfaced mid-call is worse than none because it splits the agent's attention at the exact moment it should not. The assist layer had to be useful at a glance and safe to ignore, which is a harder design target than useful in general.
Consent came before any of it. A call may only be transcribed and processed with the customer's consent captured and recorded, and recordings, transcripts and everything derived from them carry retention obligations. That is not a feature to add later; it decides what the pipeline is even allowed to touch.
And the summaries write into systems of record. A fabricated detail in a case note is not a display bug, it is a false statement in a regulated record, so summaries had to be grounded in the transcript and confirmed by the person who was actually on the call.
Key decisions
Consent gates the pipeline mechanically. No consent, no transcription, no downstream processing; the gate is infrastructure, not a script the agent is trusted to follow.
In-call assistance is suggestion-only and tone-constrained. Suggestions are drafted within explicit tone and phrasing rules, never auto-sent, never spoken by a machine; the agent chooses, adapts or ignores.
Post-call summaries are transcript-grounded by construction. Every statement in a summary maps to transcript spans, unsupported statements are stripped, and the summary is a draft until the agent confirms it. Only then does it commit to the case system.
Warm handovers reuse the same machinery: a transfer sends the confirmed context pack with the customer, so the receiving handler starts with what has already been said and tried.
The stack is Azure-native and managed throughout: managed speech services for streaming transcription, managed model endpoints for intent, assistance and summarisation, and the orchestration and case integration built as governed services on the enterprise's estate.
Architecture
Consented call audio streams through managed transcription. An intent and context tracker follows the conversation utterance by utterance and feeds the assist composer, whose tone-constrained suggestions render quietly beside the human agent. After the call, the summariser drafts from the transcript alone, the agent reviews and confirms, and the confirmed record commits to the case system or travels as a handover pack.
The summariser sees the transcript and nothing else: no CRM history, no prior notes, no model memory. That austerity is deliberate, because a summariser with broader context starts writing what usually happens rather than what actually did.
Trade-offs
Suggestion-only assistance leaves throughput gains on the table compared with automated responses, and it protects the thing the channel exists for: a customer talking to a person who is actually listening. Confirming every summary costs the agent seconds per call; it converts the summary from model output into a human-attested record, which is what lets it enter a case system at all. Tone constraints make suggestions blander than a free model would write, and bland is correct when the words may be spoken to someone distressed or vulnerable. Streaming everything within a conversational latency budget forced small, fast models for the in-call path, with heavier summarisation deferred to after the call where latency is cheap.
Governance
Consent capture, retention rules and access to recordings and transcripts are enforced as platform controls with their own audit trail, not as team conventions. The tone rules, the suggestion boundaries and the summary grounding each carry evaluation sets, including calls designed to provoke unsupported summary claims. Every committed record traces to its transcript spans and to the agent who confirmed it. The design shipped as a certified pattern with its evaluation pack and control mapping.
Outcome
The programme took the pattern through build and assurance at a large regulated enterprise. The shape of the win was qualitative and structural: after-call work becomes review rather than recall, handovers carry context instead of losing it, and the assist layer earns its place by being ignorable. The confirm-before-commit gate, initially argued against as friction, is the piece every reviewer pointed to as the reason the records could be trusted.
What I learned
In voice, the human agent is the user, not the customer; design for the person under pressure with a headset on, and the customer experience follows. Grounding a summary in the transcript alone was worth more than any prompt instruction about accuracy. And consent architecture is load-bearing: the systems that treat it as plumbing get rebuilt, the systems that treat it as a gate get certified.