Use caseWorkflow automationReporting and analytics

Every support conversation scored against your own rubric, not a two percent sample

Scores every Zendesk and Intercom conversation against your own QA rubric, quotes the evidence, and sends your QA lead the conversations worth reviewing.

A blueprint, not a client story. The business described is illustrative; the architecture, integrations and trade-offs are real, and this is how I would build it. By Ergini, .

The short version

An AI quality review workflow for support teams on Zendesk and Intercom. It scores every conversation against the team's own rubric, from policy and accuracy to tone and resolution, quotes the lines behind each score, and flags policy breaches, churn and legal risk, and questions the help center cannot answer. Scores are calibrated against the QA lead's grading and rechecked for drift. Agents see their own evidence and can dispute it, and no score drives a performance decision without a person.

Best for
Support teams of ten to fifty agents where one QA lead reads only a small sample, and the rubric depends on the product's own policies.
Connects to
Zendesk, Intercom, Language model, Billing system and CRM, Slack, Looker Studio or Metabase
The AI does
Scores each conversation criterion by criterion with quoted evidence, flags breaches and risk, and groups the questions the help center could not answer.
People do
Own the rubric, grade the calibration set, confirm flags, settle disputes and do the coaching.
Built as
AI Workflow Automation, usually $15K - $30K

What a two percent sample cannot see

Take a subscription software company with fifteen support agents over two shifts. Email runs through Zendesk and in-app chat through Intercom, about 8,000 conversations a month between them, and one QA lead owns quality: the scorecard, the calibration sessions, the coaching.

Working carefully, she grades around 160 conversations a month, two percent, picked at random or from bad CSAT ratings. That tells her something about the average and little about the rest: a refund promised outside policy at ten at night, an account change for someone who never proved they could make it, a customer who wrote 'we are looking at alternatives' and got a macro.

Bad ratings are a weak filter anyway: a refund the customer was not owed earns five stars, and many one-star ratings are about the product, not the agent.

This build is an AI workflow that grades every conversation against her rubric, quotes the evidence for each score, and sends her the conversations worth her time. It is a fixed pipeline, not an agent, and its scores exist for coaching.

The rubric, rewritten so a model can be held to it

Scorecards say 'accurate answer' or 'showed empathy' and leave the rest to the grader. A model needs each criterion as data: a scale, the evidence it must cite, and who checks it. Six rows from the scenario's rubric:

Identity confirmed before account changesPass, fail, not applicableThe message where identity was confirmed, before the changeThe model finds it; code checks the user's role in the product
Refund or credit within policyPass, fail, not applicableThe amount promised and the billing periodCode, against the billing record and the policy table
Answer matches documented behaviorCorrect, incorrect, cannot tellThe claim in the reply and the article or known issue it matchesThe model with retrieval; 'cannot tell' goes to the QA lead
Tone per the style guide0 to 2Up to two quoted linesThe model, calibrated monthly
Resolved or handed over cleanlyResolved, handed over, left openThe last reply and the next step it setCode for reopens within seven days, the model for the rest
Risk: cancellation intent, legal threat, data requestFlag or noneThe customer's own wordsThe model; a person confirms before anyone acts
The rubric is versioned data in the repository. Each score records the rubric and model versions behind it, so a change to either is tested against the calibration set before it counts.

A five-star conversation that broke the refund policy

The scorecard the agent sees, and the calls that produced it. The model only ever knows the agent as A-07.

Intercom chat, Thursday 22:41

  1. Customer · Intercom chat

    We were charged for 12 seats but we only have 9 users now. Can you refund the difference? Second billing mistake this year, honestly thinking about switching.

  2. Agent A-07 · Intercom chat

    So sorry about that! I've refunded the 3 extra seats for the last 3 months, €162 in total. You'll see it in 5 to 10 days.

  3. redact(conversation: "ic-88213")customer name, email and a card fragment replaced / agent name replaced by A-07
  4. score(conversation: "ic-88213", rubric: "v12")6 criteria returned under the schema / 9 evidence quotes
  5. verify_quotes(conversation: "ic-88213")9 of 9 quotes found verbatim in the transcript
  6. check_refund_policy(account: "acc-4471", amount: 162.00, periods: 3)policy v7: seat corrections refundable for the current period without approval / €54.00 allowed / €108.00 needed team lead approval, none recorded
  7. get_outcome(conversation: "ic-88213")not reopened / CSAT 5 of 5
  8. Scorecard · Agent view

    Identity: pass. The user is a workspace admin, checked in code. Refund within policy: fail. 'I've refunded the 3 extra seats for the last 3 months, €162 in total.' Policy allows the current period without approval, €54. The other €108 needed a team lead. Accuracy: pass. Refund timing matches the billing article. Tone: 2 of 2. Churn signal: missed. 'honestly thinking about switching' was not passed to the account manager. Coaching note: generous rather than careless. Refund the current period, and ask the team lead about the rest in the same chat.

  9. The QA lead confirmed the fail and the missed churn signal before A-07 saw the card. Rated five stars, this conversation would never have reached a sample drawn from bad ratings.
The model found the quotes and wrote the coaching note. The refund limit came from the policy table and the billing record, and a person confirmed the fail.

Eight steps from closed ticket to scorecard

One model call does the scoring. What the model sees, what counts, and who may see a score are decided by ordinary code.

  1. 01 Trigger · Zendesk and Intercom APIs

    A conversation goes quiet

    Closed conversations are collected after 48 quiet hours, so late replies and reopens are included: Zendesk tickets through the incremental export API, Intercom chats through the Conversations API.

  2. 02 Plain code

    Redact and pseudonymize

    Customer names, emails, phone numbers and card fragments are replaced, and the agent's name becomes an ID. The model never knows whose work it is grading, which removes one source of bias.

  3. 03 System · Billing API, CRM, Help Center API

    Attach the facts

    The billing record and refund policy, CSAT and reopen events, the customer's plan and renewal date from the CRM, and the help-center articles the reply linked or should have.

  4. 04 AI model · Structured output

    Score against the rubric

    One call per conversation, with the rubric version as a strict schema: a value per criterion, the quotes behind it, and 'cannot tell' where the transcript does not settle it.

  5. 05 Plain code

    Check the grader's work

    Every quote must appear verbatim in the transcript, or the score is discarded and rerun once. Policy criteria are recomputed in code, and where code and model disagree, code wins and the disagreement is logged.

  6. 06 Decision

    Where the result goes

    Rules decide, per criterion and per flag.

    • No flags, and every criterion is calibrated then the scores table and the agent's own view
    • A policy fail, a missed data request, legal or chargeback language then a Slack alert to the QA lead, confirmed before the agent sees it
    • 'Cannot tell' on accuracy, or model and code disagree then the QA lead's review queue, which replaces the random sample
    • A question the help center could not answer then the knowledge-gap list
  7. 07 Person

    The QA lead reviews and coaches

    Her queue is built from flags, disagreements and a small random slice kept for calibration. Agents see their own scorecards with the quotes and can dispute any line; a dispute goes to her, not to the model.

  8. 08 Result

    Scores kept with their versions

    Each score stores the rubric version, model version and evidence. Dashboards in Looker Studio or Metabase show the trends, and a weekly summary in the style of a KPI brief goes to Slack.

Calibrating the grader before anyone sees a score

The grader earns trust the way a new QA hire would: by grading the same conversations as the lead and being compared, with the methods in LLM evaluation frameworks compared.

  1. Build a calibration set of 200 to 300 past conversations across channels, languages and outcomes, with the hard cases in on purpose: angry customers, partial refunds, handovers, replies written in a second language.
  2. Have the QA lead and a team lead grade it independently. Where they disagree, fix the criterion's wording before blaming the model.
  3. Run the grader on the same set. A criterion goes live only when the model agrees with the humans about as often as they agree with each other.
  4. Shadow for a month: everything is scored, and only the QA lead sees the results, next to her own sample.
  5. Report at team level first: trends per criterion and knowledge gaps, no individual scorecards.
  6. Open agent scorecards criterion by criterion, with disputes available from the first day.

The set is rerun weekly and whenever the model, prompt or rubric changes. A criterion whose agreement slips goes back to shadow automatically until someone finds out why; the review patterns are in human in the loop AI.

Where automated scoring goes quietly wrong

A grader rarely fails loudly. It is wrong in one direction, consistently, until someone checks.

Leniency, and drift after a model update

Model graders tend toward generous scores, and a provider's update can move every score at once. Model versions are pinned, the calibration set runs weekly, and the score distribution per criterion is charted, so a shift shows up on a dashboard rather than in a coaching session.

A criterion two people read differently

'Took ownership' means different things to different leads. If human graders disagree on a criterion during calibration, it is rewritten with an example of a pass and a fail, or split in two. No model is more consistent than the definition it is given.

Policy flags that are not breaches

A reply saying 'I have refunded you' may follow an approval in an internal note. Policy criteria read internal notes and the billing record, a person confirms each flag before it counts, and every overturned flag becomes a test case.

Marking down second-language writers

A grader that rewards polished English penalizes a strong agent writing in their second language. Grammar is scored only where the rubric says customers notice it, never folded into accuracy or resolution, and the calibration set has a slice of second-language replies checked for exactly this. Teams replying in many languages face a related problem in multilingual support.

Agents writing for the grader

Once the rubric is known, some replies start with a stock empathy line. The rubric scores behavior (policy followed, problem solved, next step set), the quotes make formula visible, and a slice of top-scoring conversations gets human review every month.

A data request buried in a support thread

'Please delete my account and all my data' in a chat is a GDPR request with a one-month deadline. Every conversation containing one is flagged the same day, and code checks that it reached the privacy process.

Before the first score reaches an agent

In Germany, a system like this needs the works council before it goes live. Section 87 of the Works Constitution Act gives it co-determination over technical systems designed to monitor employees' behavior or performance, and per-agent scoring is that. The act also says a works council assessing AI may bring in an outside expert without having to show one is needed, and Austria and the Netherlands have comparable consent rights. I bring the rubric, data flow and calibration results before the shadow month; the works agreement then settles who sees individual scores, and for how long.

The EU AI Act points the same way. Annex III lists AI intended to monitor and evaluate the performance and behavior of workers as high-risk, and scores per agent are profiling, which rules out the exemptions for narrow and preparatory tasks. After the Digital Omnibus those obligations apply from 2 December 2027. I design for them now: a person confirms anything that affects someone, every score is logged with its versions, the calibration set documents accuracy, and staff are told before it starts.

The Act has also banned AI that infers workers' emotions since February 2025. It defines that through biometric data such as voice and faces, so grading what an agent wrote falls outside it, while guessing an agent's mood from call audio would not. This build reads text and transcripts only, and its tone criterion judges the wording of a reply, never the state of the person who wrote it. Under GDPR it also needs a documented legal basis and a data protection impact assessment; GDPR-compliant AI development covers the mechanics.

Zendesk QA, MaestroQA, or a grader of your own?

Buy first if your rubric is close to the standard categories. Zendesk QA, the product that used to be Klaus, reviews every conversation with AutoQA, lets you describe custom categories in your own words, and flags churn risk, escalations and knowledge gaps. MaestroQA covers similar ground with AI analysis, custom evaluation and coaching, and connects to Zendesk, Salesforce, Gladly and Freshworks. Intercom's Pro add-on analyzes conversations too, though mainly to improve Fin. For one helpdesk and a conventional scorecard, one of these is a better answer than a build.

A custom grader earns its cost when the rubric depends on your own systems: refund limits checked against billing, identity rules tied to your product's roles, accuracy checked against your help center and known issues. It also wins when conversations span Zendesk and Intercom, when QA should be joined with CRM and churn data instead of living in another tool, and when a works council or data protection officer needs to see exactly what the model reads.

There is a point on the other side. Under the AI Act, a company that has a high-risk system built for its own use counts as its provider, with the documentation and conformity duties that carries from December 2027, while buying leaves most of those with the vendor. If your rubric is ordinary, that tips the decision toward buying. If it is not, the calibration records, logs and versioned rubric this build keeps are much of what those duties ask for.

How you would know it is working

A blueprint has no results to report, so here is what I would measure from the first week instead, on your own data.

Agreement with human graders, per criterion
The share of calibration conversations where model and humans agree, next to how often two humans agree. The gap decides which criteria are live.
Flag precision
Of the conversations flagged for policy, legal or churn risk, the share the QA lead confirms.
Disputes upheld
How often agents dispute a score and are right. Each upheld dispute is a rubric or grader bug and joins the calibration set.
Hours from flag to action
For missed data requests and legal threats, the time until someone acts.
Knowledge gaps closed
Articles written or fixed from the gap list, and whether conversations on those topics then need fewer handovers.

What a build like this costs

This is built as AI Workflow Automation, which runs $3.5K - $60K overall. A build like this one usually lands in the multi-step workflow tier: $15K - $30K, 3-5 weeks. The first working version runs on your real data well before the end of that window.

What it costs to run

One scoring call per conversation over a redacted transcript, typically one to a few cents, so 8,000 conversations a month is a modest line. A capable pinned model is worth its price here: a cheap grader that disagrees with the QA lead costs more of her time than it saves.

What moves the price

  • How many helpdesks and channels feed the grader, and whether chat and email need separate rubrics
  • How many criteria need your own data: billing for refund policy, product roles for identity, the help center for accuracy
  • The size of the calibration set and the languages it covers
  • Reporting: a Slack summary only, or scores joined with CSAT, CRM and churn data in Looker Studio or Metabase

Who this is for

  • Support teams of ten to fifty agents with one QA lead and a manual sample
  • Companies running Zendesk for email and Intercom for chat that want one rubric across both
  • Teams whose refund limits and identity checks are specific enough that generic QA categories miss the breaches that matter
  • Companies in Germany or Austria that need a QA system their works council can agree to

Questions people ask about this

Can AI score customer service conversations accurately?

Yes, criterion by criterion, once it is calibrated. A model grading against a precise rubric can agree with human graders about as often as they agree with each other, but only on criteria that are clearly defined and tested against a human-graded set. Criteria that depend on data, such as refund limits, are checked in code. Every score quotes its evidence, so a wrong one is easy to overturn.

How do I automate QA for Zendesk and Intercom conversations?

Collect closed conversations through the Zendesk incremental export API and Intercom's Conversations API, redact personal data, and score each against your rubric with a model that must quote its evidence. Write results, with rubric and model versions, to a table your dashboards read. Start with a calibration set graded by your QA lead and a month in shadow before any agent sees a score.

Is AI quality monitoring of support agents allowed in Germany?

Yes, with the works council on board first. Section 87 of the Works Constitution Act gives it co-determination over systems that monitor employees' behavior or performance, which per-agent scoring does, so a works agreement usually comes before launch. GDPR adds a legal basis and an impact assessment, and the EU AI Act treats AI that evaluates workers' performance as high-risk, with obligations from 2 December 2027.

What is a good alternative to Zendesk QA?

MaestroQA is the closest off-the-shelf alternative, with AI analysis, custom evaluation and coaching across several helpdesks. A custom grader makes sense when your rubric needs your own data, such as refund limits from billing, or when conversations span helpdesks and should be joined with CRM and churn data. For a conventional scorecard on Zendesk alone, Zendesk QA is usually the simpler choice.

How much does automated support QA cost to build?

A custom grader usually lands in the multi-step workflow tier of my AI workflow automation pricing. It moves with the number of helpdesks, how many criteria need your own data, the size and languages of the calibration set, and how much reporting you want. Running costs are roughly one to a few cents of model time per conversation.

Sources