- Client
- Life-insurance sales technology company in the United States, operating three SaaS products
- Function
- Customer support and product engineering
- Headline result
- Time to first response fell from 26 hours to 3, and 90% of tickets now reach engineers with a reproduction and a plan.
The challenge
The company ran three products with a small team, and support competed directly with building. Every hour spent reading tickets was an hour not spent fixing what they reported.
The pain showed up in four places:
- Fragmented queues. Each product handled support separately, so nobody had one view of what customers were waiting on.
- Thin tickets. Customers described symptoms, not causes. Engineers had to reconstruct what happened before they could start.
- Slow first replies. Tickets waited for someone with enough product context to answer properly.
- A broken last mile. When a fix shipped, the customer who reported it was often never told.
Fully automated replies were not acceptable. These are sales professionals running their businesses on the software, and a confident wrong answer would cost more than a slow right one.
Our approach
We automated the work around each reply rather than the relationship itself. AI does the reading, investigating and drafting. A person approves every word a customer sees.
The system has four stages:
- One hub. Every product sends tickets to a single queue through a secure API, while keeping its own customer-facing support screens.
- AI triage. An agent reads the thread and screenshots, then checks the product's code and change history. It writes a clean record: summary, reproduction steps, open questions, priority and stage. It also links duplicates.
- Drafted response. The agent drafts a reply for approval, and an administrator approves it word for word. Only then is it sent by email and to the product.
- Build and close the loop. Planned tickets are built on isolated branches, with one reviewed pull request each. Once a fix is confirmed live, the agent drafts a "this is live" note and tells customers on duplicate tickets too.
AI does the investigating; a person approves every word customers see
Guardrails are built in. The agent sees a first name and an opaque ID, with contact details redacted. Ticket text is treated as data, never as instructions, and customer-visible actions always require confirmation.
Impact
Within four months, response times fell and engineering received better inputs.
| Measure | Before | After | Change |
|---|---|---|---|
| Median time to first response | 26 hours | 3 hours | -88% |
| Staff time to triage a ticket | 25 minutes | 4 minutes | -84% |
| Median time from bug report to live fix | 12 days | 3 days | -75% |
| Tickets reaching engineers with reproduction and plan | 30% | 90% | +60 points |
| Customers told when their fix shipped | 35% | 95% | +60 points |
The team absorbed three products' support without adding headcount. Founders moved from answering tickets to approving them, and the shared queue now shows which requests recur across products.
What made it work
- Automate the investigation, not the accountability. Most support time goes to understanding the issue, not typing the answer.
- Give the agent the code. Triage grounded in the code base produces answers and plans, not just labels.
- Close the loop. Telling customers a fix is live costs little and builds more goodwill than any other step.
