
Building a support assistant is only half the job. The half that keeps customers safe is reviewing real conversations: Did the bot answer from an approved source? Did it invent a policy? Did the handoff include enough context for a human?
This tutorial gives you a weekly transcript QA loop you can run with a spreadsheet and exported chats—or with meeting/transcript tools if your team reviews voice support. It extends the AI customer support workflow tutorial with an explicit quality scorecard.
AiToMake content is for education and research. Use these examples with your own policies, tools, and review requirements. See the Earnings Disclaimer for tool-cost caveats.
By the end you will have:
Primary and official pages used for this guide (verify live details before you buy or change process):
Secondary reporting on Klarna’s later quality discussion: Silicon Republic summary of May 2025 comments. Treat media narratives carefully; Klarna’s public story includes both strong early automation metrics and later emphasis on human quality.
Klarna’s AI assistant, described in OpenAI’s case study, handled 2.3 million conversations in its first month—about two-thirds of Klarna’s customer service chats—with claimed workload equivalent to roughly 700 full-time agents, resolution under two minutes versus about eleven previously, and customer satisfaction described as on par with human agents.
Those numbers are useful for understanding scale. They are not a substitute for reading hard conversations. Later public discussion (including CEO comments reported in May 2025) emphasized that organizing support with cost as too dominant a factor can produce lower quality, and Klarna described investing again in human support capacity. The practical lesson for smaller teams is simple: track quality samples, not only automation rate.
In Moffatt v. Air Canada (2024 BCCRT 149), a customer relied on a website chatbot that described a retroactive bereavement-fare process. Air Canada’s actual policy did not allow that approach. The tribunal found the airline responsible for the inaccurate representation and ordered compensation. Coverage such as The Guardian’s report and the tribunal decision make the operational point clear: policy answers need source checks, and “there was also a correct page elsewhere on the site” is a weak defense.
Zendesk documents how to evaluate AI agents with the same QA scorecard machinery used for humans: filter bot conversations, apply a scorecard, and use Reviews / BotQA views. Intercom’s handoff guidance stresses structured handoff notes and feedback loops when Procedures escalate. You do not need their exact stack—you need the same loop: sample → score → fix sources → retest.

Do not try to read every chat on day one. Pick a weekly sample:
| Bucket | Suggested sample | Why |
|---|---|---|
| Random AI-resolved chats | 10–20 | Catch silent failures that look “closed” |
| Escalated to human | All, or top 20 | Handoff quality and missing knowledge |
| Negative CSAT / thumbs-down | All | Direct customer pain |
| Policy / billing / refund topics | Extra weight | Highest hallucination and liability risk |
| Repeat contacts within 48 hours | All you can find | Wrong answer often returns as a second ticket |
If you use Zendesk-style tooling, filter for bot participants as described in Zendesk’s AI QA article. If you export CSV from a helpdesk, filter by assignee = bot / channel tags.
Score each sampled conversation Pass / Fail / N/A. Failures need a one-line root cause (mirroring Zendesk’s scorecard root-cause idea).
| # | Check | Pass means | Typical fail |
|---|---|---|---|
| 1 | Scope | Question is inside the assistant’s allowed categories | Bot answers legal/medical/dispute topics it should escalate |
| 2 | Source grounding | Answer matches an approved KB/policy snippet | Invented fee, refund window, or shipping rule |
| 3 | Citation / pointer | Reply points to policy page, order field, or doc section when making a rule claim | Bare assertion with no source |
| 4 | No contradiction | Bot does not conflict with another live policy page | Two different return windows in one session |
| 5 | Identity & privacy | No unnecessary PII echoed into public channels | Pastes full card numbers or private addresses into chat logs shared widely |
| 6 | Escalation trigger | Frustrated users, loops, or low-confidence cases hand off | Bot loops three times without escalating |
| 7 | Handoff context | Human receives summary: intent, IDs, what was tried, why escalated | Human re-asks “what’s your order number?” |
| 8 | Promise control | Bot does not promise refunds, credits, or legal outcomes it cannot execute | “I’ve refunded you” when only a ticket was created |
| 9 | Tone & clarity | Clear, non-hostile, readable | Overconfident filler that hides uncertainty |
| 10 | Closure quality | “Resolved” matches customer reality | Ticket closed while customer still blocked |
Critical fails (auto-fail the conversation): invented policy, unsafe advice, or a promise the system cannot keep—especially refunds, account closure, fraud, or hardship cases.
Weekly agenda:
Intercom’s handoff article is useful here: agents need a path to flag bad escalations so Procedure quality improves over time—not only so individual tickets close.
Most wrong answers come from knowledge and routing, not from “the model being dumb.”
| Root cause | Fix this week |
|---|---|
| Missing KB article | Write the article; cite it in the bot’s allowed sources |
| Stale policy | Update the source of truth; remove old FAQ duplicates |
| Over-broad scope | Narrow categories; force escalate on refunds/disputes |
| Weak handoff | Add a required handoff note template (order ID, intent, last bot reply, risk flag) |
| No confidence gate | Draft-for-human or escalate when uncertain instead of auto-send |
A practical confidence pattern used across support-AI vendors: high → auto-reply, medium → draft for human, low → escalate. Tune thresholds after you have a few weeks of scorecard data—not before.
You can run the scorecard in a spreadsheet. Tools help when you already record calls or want timestamped coaching.
| Tool | Role in QA | Pricing signal (verify live) |
|---|---|---|
| Otter | Live transcription and searchable notes for voice support / coaching calls | Free tier with monthly minute limits; paid Pro/Business plans |
| Fireflies | Transcripts + conversation intelligence; Agent Scorecard skill for structured yes/no checks with timestamps | Free; Business plan markets conversation intelligence |
| Fathom | Unlimited free recordings for individuals; Business plan lists coaching metrics and AI scorecards | Free + paid team tiers |
For chat bots, prefer helpdesk export + Zendesk-style scorecards. For voice, pair your meeting notes tool comparison with this checklist. Always confirm consent, retention, and sharing rules before recording customers.
Track weekly:
| Metric | What it catches |
|---|---|
| Automation / containment rate | Volume only—necessary but insufficient |
| Escalation rate by topic | Knowledge gaps |
| Reopen / recontact within 48h on AI-handled chats | Confident wrong answers |
| CSAT split: AI-only vs handed-off | Quality gap Klarna-style aggregate scores can hide |
| Critical-fail count from scorecard | Liability and trust risk |
| Handoff context fail rate | Collaboration quality, not just automation rate |
If automation rises while reopen and critical fails rise, pause expansion and repair sources.
Use this when the bot escalates:
Customer intent:
Order / account ID:
What the customer already tried:
What the bot answered (quote):
Source doc the bot used (URL or title):
Why escalated (loop / low confidence / policy / customer request / risk topic):
Suggested next human action:
Risk flags (refund, fraud, legal, hardship): yes/nodate | conversation_id | channel | topic | score_pass_count | critical_fail | root_cause | owner | fix_due | retest_result
This week: export 15 AI-handled chats, score them with the 10-item card, and fix the single highest-frequency root cause in your knowledge base. Do not expand bot scope until critical fails are near zero on policy topics.