Skip to main content

How We Built an AI CSR That Escalates to Humans Instead of Replacing Them

· 11 min read
Trevor Grant
Builder in Chief

The client's customer-service problem did not begin with a model.

It began with a familiar staffing cycle: hire for an entry-level remote CSR role, spend experienced supervisor time on training, discover that the person or the job was a poor fit, and start over. Even when a hire worked out, the team still had to keep routine answers consistent across shifts, people, and systems.

The common failure modes were not mysterious. Attendance and punctuality problems hurt a tightly scheduled call queue. Some new hires underestimated the intensity of back-to-back calls, upset customers, repetitive work, and constant measurement. Others became defensive with frustrated callers, improvised outside policy, missed important details, or left weak documentation for the next person.

The role also required more systems work than "answer the phone" suggests. A representative might need to listen, speak, type, search a knowledge base, inspect a customer record, update a ticket, and follow a policy at the same time. Some hires struggled with that combination. Others repeated mistakes after coaching, worked from unreliable or distracting home environments, wrote unclear follow-up messages, or left a few weeks after training.

Those are different problems, and an AI CSR does not magically erase all of them. It does, however, change which work has to be staffed like an entry-level call-center seat.

We Gave The AI A Narrow Lane

We did not ask the AI to "handle customer service." We selected one bounded inbound workflow and separated routine calls from cases that require judgment, authority, negotiation, or empathy.

The routine lane includes calls that can be completed from approved facts and explicit rules: answering a defined set of common questions, collecting the minimum information required for a request, recording a configured outcome, and routing or arranging a confirmed next step. Scheduling can belong in this lane when the time, attendee, purpose, timezone, and delivery details are repeated back and explicitly confirmed before a calendar tool runs.

The exact lane is a client decision. A call type does not become safe merely because the model can produce a plausible answer. It has to have a known entry condition, current source material, a documented path, a recognizable finish, and an escalation destination. In this system, the workflow is the product, not the voice or model by itself.

That boundary is how the system mitigates several staffing problems without pretending software is a person.

It does not arrive late, extend a break, or leave after training. It does not experience the fatigue of repeating the same approved answer across back-to-back calls. It can use the same tone, verification sequence, and documentation structure each time. Its application tools can place structured results directly into the systems allowed for that workflow instead of asking a new hire to learn every interface at once.

But consistency is not correctness. Speech recognition can miss a word. A policy can be stale. A caller can present a situation the playbook never anticipated. The system therefore treats uncertainty as a reason to stop and escalate, not as an invitation to improvise.

The Playbook Is Executable Scope

Each call profile keeps three things together: the persona, the allowed tools, and the call flow.

The persona controls conversational behavior such as being concise, warm, natural, and asking one clear question at a time. It also prohibits invention: the agent cannot claim availability it did not check or say an external action succeeded before the tool returns success.

During experimentation, we represented the call flow as a small, validated BPMN graph. Tasks contained the instructions for a stage of the call. Exclusive gateways named the allowed branches. End events defined the outcomes the system could record. Unsupported flow elements, unreachable steps, and incomplete branches failed validation before a test call started.

That work was useful even though the production call path moved to ElevenLabs. We translated the approved flow into the hosted agent's instructions, tools, and terminal outcomes. The runtime host changed; the playbook boundary did not.

That structure matters because "follow the script" is too vague. A useful playbook says what must be verified, which facts may be stated, which details must be repeated back, when confirmation is required, what outcome may be recorded, and where the call goes when a condition is not met.

Verification is a gate, not a conversational gesture. For each routine call type, the client must define what evidence is sufficient and what the AI may do after verification succeeds. If required information is missing, conflicting, or outside the approved sources, the AI does not route around the requirement. It creates a handoff.

The same principle applies to documentation. During the active call, conversation context is kept in process memory so the system can respond coherently. The pilot does not need a permanent archive of every caller's words. Instead, it records structured, configured events such as call timing, direction, completion status, approved outcome, escalation reason, and tool status. Audio, full transcripts, phone numbers, and unnecessary customer details are excluded from the analytics layer by default.

This is not only a privacy choice. It forces us to decide which operational facts a supervisor actually needs.

A Handoff Is A Product Feature

The handoff was designed alongside the routine path, not added after the AI failed a demo.

When a caller is frustrated, verification fails, a policy is ambiguous, a tool fails, the request is outside scope, or the caller asks for a person, the AI stops trying to complete the case. It summarizes the reason for contact, the facts collected, the checks completed, the action attempted, and why human attention is required. The receiving CSR should not have to make the customer start over.

Depending on the client's telephone and staffing setup, that handoff can be an immediate transfer or a documented callback task. The important contract is the same: the AI identifies the stop condition, preserves the useful context, assigns a configured outcome, and puts the case in front of a named human role. That review path is not leftover manual work. As described in Human Review Is Part of the System, it is part of the operating design.

This is where the existing high-performing CSRs became more important, not less.

The client gave those CSRs raises and promotions into supervisor roles. They now receive difficult handoffs, review flagged interactions, sample routine calls for quality, correct the playbook, and decide when a case needs authority the AI does not have. The company invested retention money in the people who had already demonstrated judgment, customer composure, procedure discipline, and coachability.

That operating model also changes the work those people are asked to do. Their day is less dominated by repeating low-variance answers. More of their attention goes to exceptions, recovery, policy interpretation, and improving the system. The AI supplies routine capacity; the supervisors supply accountability.

The playbook is coachable in a different way from a new hire. A supervisor's correction can become a reviewed flow or instruction change that applies to the next eligible call. Published versions can be made immutable and copied into each call's execution snapshot, so changing tomorrow's playbook does not silently rewrite what yesterday's call was supposed to do.

What The AI Is Not Allowed To Do

The prohibited-actions list is as important as the feature list.

For this pilot, the AI may not:

  • invent policy, account facts, availability, prices, promises, or tool results;
  • continue after required verification fails;
  • make refunds, credits, exceptions, or commitments outside the one approved workflow;
  • argue with an upset caller or prevent a requested human escalation;
  • collect information the workflow does not need;
  • activate a tool that is not explicitly allowlisted for the selected call profile;
  • claim that a calendar event, ticket, payment, or other external action succeeded before the responsible system confirms it;
  • retain a durable transcript or recording by default; or
  • expand its own scope because a conversation seems similar to an approved case.

These prohibitions address the failure modes that frustrate employers most. The AI is not rewarded for improvising past a procedure. It cannot hide a failed tool behind confident language. It has no messy home-office background or unreliable workstation. Its written handoff follows a defined structure. When the playbook does not cover the situation, escalation is the correct completion state.

The Pilot Architecture

LiveKit was the right experimentation surface. It let us test a modular voice pipeline with separate speech recognition, voice activity detection, conversation, text-to-speech, persona, and tool components, change one part at a time, and locate latency and turn-taking failures.

It was not the production voice runtime.

For production, the telephone connection hands the live conversation to an ElevenLabs-hosted agent. ElevenLabs owns the realtime media session, turn-taking, speech generation, agent instructions, allowed tools, and call termination. Our application remains the control layer. It starts an approved conversation, attaches an opaque correlation ID, receives signed post-call events, validates that they belong to the expected agent and conversation, records the configured result, and routes the outcome into the client workflow.

That cutover removed an in-process voice service we otherwise would have had to host, monitor, scale, and maintain for every active call. After tuning the hosted agent, it also shaved a couple hundred milliseconds from average response time in our implementation testing. That was enough to choose the simpler hosted path for production. LiveKit remains valuable experimental work and a useful fallback, but it is not the component carrying production conversations.

The implementation process starts with operations, not prompts:

  1. Collect real examples of routine calls, difficult calls, good notes, and bad handoffs. Real examples reveal the decision rules that abstract requirements miss.
  2. Choose one inbound workflow and write its entry, verification, completion, and stop conditions.
  3. Identify authoritative source material and name the human owner who can change it.
  4. Model the call as tasks, branches, outcomes, and explicit tool permissions.
  5. Test happy paths, missing information, frustrated callers, tool failures, interruptions, and requests outside scope.
  6. Run a bounded pilot with experienced CSRs supervising every escalation and reviewing a sample of routine completions.
  7. Revise the playbook through controlled, versioned changes rather than informal prompt edits.

This is also why we started with a maximum of one workflow and a small number of simultaneous pilots. The hard part is not making a voice answer a phone. The hard part is making the operating boundary observable and correctable.

What We Are Measuring

We are publishing the build before publishing results. The pilot is collecting evidence, but it is too early to turn that evidence into a victory lap.

The measurement plan includes routine-call completion rate, escalation rate, escalation reasons, verification failures, playbook deviations, documentation completeness, tool success and failure, supervisor correction rate, repeat contacts for the same issue, call duration, response latency, interruption recovery, and the amount of supervisor time required per handled call. The couple-hundred-millisecond improvement informed the infrastructure choice; it is an engineering measurement, not evidence that the customer-service pilot has already succeeded.

We also care about the human system: whether difficult handoffs arrive with enough context, whether supervisors can change the playbook without engineering help, whether the review queue remains manageable, and whether promoted CSRs find the new role more sustainable.

Those measurements need denominators, call categories, and enough volume to be meaningful. A clean demonstration, a few successful calls, or an impressive average without exception analysis would not answer the operating question. Results will be reported later, including failures and cases that narrowed the AI's scope.

The goal is not to prove that an AI can sound like a CSR. The goal is to learn whether a bounded AI CSR can make routine service more consistent while giving experienced people better work, better compensation, and a clear place in the system.

Replacing a queue of repetitive calls is not the same as replacing the people who know what to do when the routine ends. We built around that distinction.