TL;DR: An HR software company in Austin had six support reps handling everything - billing, technical, onboarding, feature requests. "Whoever grabs it first" was the system. 35% of tickets got reassigned at least once. Average time to reach the right person: 4 hours. We built an agent that reads ticket content, classifies by category, and routes to qualified reps based on expertise and workload. Reassignment dropped to 6%. Time to right person: 8 minutes. Customer satisfaction jumped 18 points.
Support Hot Potato
Every support team knows this game.
A ticket comes in. Someone grabs it. They read it. Realize it's not their area. Forward it. The next person reads it. Maybe it's theirs. Maybe they forward it again.
Meanwhile, the customer waits. Watches their ticket bounce. Wonders if anyone is actually going to help them.
Jordan ran support at a 42-person HR software company in Austin. Six reps. 400+ small business customers. Tickets came in via email, chat, and phone.
The "system" was simple: whoever sees it first, grabs it.
That worked when they were smaller. Three reps who knew everything. But at six reps with distinct expertise—billing, technical, onboarding, integrations—the generalist model broke down.
"I spend half my time forwarding tickets I shouldn't have grabbed," one rep told Jordan. "And half the tickets I get are things someone else should have kept."
The Numbers That Hurt
Jordan tracked ticket flow for a month. The results explained why customers were getting frustrated.
35% of tickets got reassigned at least once. More than a third.
4 hours average from ticket creation to reaching the right person. Some resolved quickly after that. But four hours of bouncing before work even started.
Customer satisfaction dropping. The trend was clear. Scores that used to be in the 80s were now in the low 70s.
Reps frustrated. Nobody felt like they were doing good work. Everyone felt like they were shuffling paper.
For more on how to calculate what inefficiencies like this actually cost, we've written about the hidden math.
The Skills Mismatch
The deeper problem wasn't workflow. It was expertise.
When reps grab any ticket, they handle things outside their specialty. A billing specialist gets a technical question about API integrations. A technical rep gets a question about invoice disputes.
Two bad outcomes:
Wrong answers. The billing specialist gives their best guess on the API question. It's wrong. Customer tries it. Fails. Escalates. Now it's a bigger problem.
Slow answers. The technical rep knows the billing question isn't their area but tries anyway. Spends 20 minutes researching something the billing specialist could answer in 2.
Either way, customer confidence erodes. Reps feel incompetent. Everyone's worse off.
The solution seemed obvious: specialize. Route billing to billing, technical to technical.
But that required someone to do the routing. And the "someone" was already six people grabbing tickets as fast as they could.

What We Built
The ticket triage agent has five stages.
Stage 1: Ticket Intake
New ticket arrives from any channel: email, chat, phone transcription. Agent captures: customer info, ticket content, any attachments, account status (paid, trial, churned).
Stage 2: Content Classification
Reads the actual ticket body. Not just the subject line. Customers write terrible subject lines.
Classifies by category: billing, technical, onboarding, feature request, general inquiry.
Then sub-category: billing → invoice question, payment failed, plan change, refund request. Technical → bug report, integration issue, performance problem, how-to question.
Assesses urgency. "My payroll won't process and employees get paid tomorrow" is urgent. "Wondering about a feature" is not.
Stage 3: Context Enrichment
Pulls the customer's history. How long have they been a customer? What plan? Previous tickets? Any open issues?
A customer with three unresolved tickets in the past week gets flagged differently than a new customer with their first question.
Finds related tickets. Is this the same issue they reported last month? Is it connected to a known bug?
Stage 4: Rep Matching
Matches the category to qualified reps. Not all reps handle all categories. The agent knows who's trained on what.
Checks current workload. Rep with 12 open tickets gets lower priority than rep with 4.
Factors expertise scores. Some reps are better at certain sub-categories than others. The agent learned this from resolution times and customer ratings over time.
Stage 5: Assignment
Routes to the selected rep. Attaches all context: customer history, related tickets, urgency assessment.
Sends Slack notification with summary. Starts the SLA timer.
The rep sees: "New ticket from Acme Corp (customer 18 months, paid plan). Billing inquiry—invoice dispute. Related to ticket #4521 from last month. Normal priority."
That's not just routing. That's preparation.

The Human Checkpoint
Reps can reassign if the agent got it wrong.
When someone clicks "this should go to technical," that feedback improves classification. The agent learns that tickets with certain patterns—even if they mention "billing"—are actually technical issues.
First month: 12% reassignment rate. Second month: 8%. Third month: 6%.
The corrections trained the system. Now it rarely misroutes.
What Surprised Us
Workload balancing mattered more than we expected.
The initial version just matched category to rep. But that meant the fastest rep got buried while others had capacity.
Adding workload awareness distributed tickets more evenly. Reps stopped feeling overwhelmed. Response times became more consistent.
Expertise scores created healthy competition.
Reps could see their own expertise scores—resolution time and customer ratings by category. Some started asking for more tickets in areas they wanted to improve.
Not gamification exactly. Just visibility into what they were good at.
Context attachment saved more time than routing.
We thought the routing was the main value. But reps told us the context was equally important. Having customer history and related tickets attached meant they didn't spend the first five minutes of every interaction digging for background.
The Numbers
Before:
35% of tickets reassigned at least once
4 hours average to reach right person
Customer satisfaction in low 70s
Reps frustrated and context-switching constantly
After:
6% reassignment rate
8 minutes to right person
Customer satisfaction up 18 points
Reps working in their specialty
The quote that captured it:
"It's weird. We have the same number of people but it feels like we have more capacity. Everyone's working on what they're actually good at."
Same headcount. Same tickets. But specialization creates efficiency that generalization can't match.

The Pattern
If your support team handles multiple categories and tickets bounce between people, you've got a triage problem.
The symptoms:
Significant percentage of tickets get reassigned
Time to first meaningful response varies wildly
Reps handle things outside their expertise
Customer satisfaction declining despite good intentions
The core issue: Generalist routing assumes everyone can handle everything. That's increasingly untrue as teams grow and specialize.
The email routing blueprint shows a similar concept applied to shared inboxes rather than support tickets. Same principle—read content, understand context, route to the right person—different channel.
Next Steps
Want to see 25 agent architectures across different industries? Download Unstuck—it includes this one plus blueprints for lead gen, invoicing, dispatch, proposals, and more.
Think ticket triage might be your bottleneck? Book a Bottleneck Audit. 30 minutes, no pitch. We'll map your current support flow and identify where tickets are getting stuck.
by SP, CEO - Connect on LinkedIn
for the AdAI Ed. Team


