Case study SUPPORT COPILOT

An AI agent that closes support tickets.

A B2B SaaS team was drowning in repetitive tickets. We built a retrieval-grounded agent that drafts replies, pulls the right docs, and resolves routine requests end to end — escalating only what genuinely needs a human.

Client
B2B SaaS platform
Industry
Software
Timeline
7 weeks
Our role
Design · Eng · MLOps
−68%
Average resolution time
61%
Tickets auto-resolved
4.7/5
Customer satisfaction
THE CHALLENGE

A support queue growing faster than the team

The company was scaling fast, and support volume scaled with it. Roughly 70% of incoming tickets were variations of the same few dozen questions — billing, onboarding, integration setup — yet every one waited in the same queue behind genuinely hard problems.

Agents spent their day copy-pasting from a sprawling help center, response times crept past a day, and the best people burned out on work that didn't need them. Off-the-shelf chatbots had been tried and quietly switched off: they hallucinated, couldn't see customer context, and made things worse.

THE APPROACH

Grounded answers, not confident guesses

We started narrow on purpose. Instead of "an AI that answers everything," we scoped a single, measurable goal: safely resolve the top 30 ticket types with answers grounded in the company's own documentation and account data.

Every response is built from retrieved, cited sources — never the model's memory. If the agent can't ground an answer with high confidence, it doesn't guess: it hands off to a human with a full summary and its best draft attached, so the agent's work is never wasted.

WHAT WE BUILT

The system

  • A retrieval pipeline over the help center, changelog, and internal runbooks, re-indexed automatically on every docs update.
  • An agent loop with tool access to the billing and account APIs, so answers reflect the customer's real state.
  • A confidence gate and human-in-the-loop handoff that escalates with a drafted reply and context summary.
  • An eval suite of 400+ real, labelled tickets that runs on every change — no prompt ships without passing.
  • A live dashboard tracking resolution rate, deflection, cost per ticket, and escalation reasons.

"It's the first automation our support team actually trusts. It does the boring 60% flawlessly and hands us the hard 40% already half-solved."

— VP Customer Experience
THE RESULTS

Faster answers, happier teams

Within six weeks of launch the agent was resolving 61% of incoming tickets without a human, and average resolution time across the whole queue dropped 68% as agents were freed to focus on complex work.

Crucially, satisfaction went up, not down — customers got accurate, instant answers at 2am, and the human team got their hardest tickets pre-researched.

THE TOOLKIT

Built with

ClaudePythonFastAPIpgvectorPostgreSQLNext.jsVercel

Have a queue that needs an agent?

Tell us the work you wish ran itself. We'll show you the fastest path to a grounded, production-ready agent.