Intelligent Ticket Routing
Overview
A user submits a ticket: "Can't access the billing portal." It arrives in your help desk queue. A tier-1 agent reads it. They have to decide: Is this a password reset? A permission issue? A browser compatibility problem? They're not sure, so they escalate to tier-2. Tier-2 isn't sure either, so they escalate to the billing team. The ticket bounces around for 2 hours before reaching someone who can actually help.
Meanwhile, the user is frustrated, waiting for a response.
This lesson teaches you to route tickets intelligently, right person first, every time. You'll learn how to classify tickets automatically, score confidence, escalate ambiguous ones, and auto-resolve simple problems.
Purpose
A typical help desk processes 1000+ tickets per month. Manual ticket routing is expensive:
- Tier-1 agents spend 30% of time figuring out where tickets go
- Wrong routing causes re-escalation (2-3 handoffs per ticket on average)
- Users wait for simple issues because tickets are stuck in wrong queues
Intelligent routing solves this:
- Classify tickets automatically (password reset, network issue, account access)
- Route high-confidence tickets directly to specialists
- Route low-confidence tickets to triage for human review
- Auto-resolve obvious problems
Result: 70% of tickets reach the right person on first try (instead of 40%). Simple issues are resolved in minutes (instead of hours of routing).
Why This Matters
A 500-person company had 500 password reset tickets per month. Each one was manually handled by tier-1 help desk. Each took 4 minutes. That's 33 hours of help desk time per month, or nearly 1 FTE.
With intelligent routing and auto-resolution:
- High-confidence password resets (95%+) go to self-service portal
- Medium-confidence ones (80%+) auto-routed to tier-1 with pre-populated answers
- Low-confidence ones (70%+) manually verified by tier-1, then resolved
- Result: 95% of password resets handled in <2 minutes (by system), 5% by help desk in <5 minutes
Help desk time: 33 hours → 5 hours (85% reduction). One FTE freed up for other work.
Core Concepts
Key insight: Ticket classification is the first decision
When a ticket arrives, you need to know what it is before you can route it properly:
Ticket classes (examples):
1. Password reset / Account unlock
2. Software installation / License request
3. Network connectivity issue
4. Hardware failure / Device replacement
5. VPN access request
6. Permission / Group membership issue
7. Service request (new email, new workspace, etc.)
8. Bug report / Software issue
9. Capacity / Performance issue
10. General inquiry / How-to question
For each class, you have different routing, resolution path, and SLA.
Password reset → Tier-1 help desk (2-minute SLA)
Hardware failure → Hardware team (24-hour SLA)
Bug report → Engineering team (no SLA, track in backlog)
How-to question → Self-service or tier-1 (5-minute SLA)
AI looks at ticket text and classifies it automatically:
Ticket: "Can't log in. It keeps saying my password is wrong."
AI analysis: Keywords: "can't log in", "password is wrong"
Probability: Password reset 92%, Account locked 5%, Browser issue 3%
Classification: Password reset (high confidence)
Route: Tier-1 help desk
Ticket: "The database is running slow. Queries that used to take 100ms now take 5s."
AI analysis: Keywords: "database", "running slow", "queries", "performance"
Probability: Database performance issue 75%, Network issue 15%, Resource constraint 10%
Classification: Database performance issue (medium confidence)
Route: Triage (need more context to route properly)
Key insight: Confidence thresholds drive routing decisions
You classify every ticket, but you don't route every ticket based on classification. You route based on confidence.
Confidence scoring:
- 90%+ confidence in classification → Auto-route to specialist
- 75-90% confidence → Route to triage + specialist team with context
- <75% confidence → Route to triage for manual classification
Examples:
Ticket: "Reset my password"
Classification: Password reset (98% confidence)
Route: Auto-route to tier-1 help desk (high confidence)
Ticket: "I can't do my job"
Classification: Ambiguous (could be software, hardware, permissions, network)
Confidence: 30% for any single class
Route: Triage for human to clarify
Ticket: "Can't connect to the VPN"
Classification: VPN issue (82% confidence), Network issue (12%), Computer problem (6%)
Route: Route to VPN team with note "Could also be network issue, escalate if needed"
Key insight: Auto-resolution for high-confidence, low-complexity tickets
Some tickets are obvious and have obvious solutions:
Ticket: "Password reset request"
Confidence: 95%
Complexity: Low (deterministic process)
Auto-resolution: Yes
Process:
1. Verify user identity (email + phone)
2. Send password reset link
3. Ticket closed automatically
User: Gets help in <1 minute without waiting for agent
Ticket: "How do I reset my password?"
Confidence: 85% (user asking for help, not broken account)
Complexity: Low
Auto-resolution: Send help article + quick steps
Ticket: Closed, user self-resolved
Ticket: "Can't connect to the printer"
Confidence: 60% (could be driver, network, permissions, printer broken)
Complexity: Medium (multiple potential causes)
Auto-resolution: No, route to support
Key insight: Feedback loops improve classification over time
After each ticket is routed and resolved:
- What did AI classify it as?
- What team actually resolved it?
- Did AI route correctly?
Ticket #1001: "Password not working"
AI classification: Password reset (94% confidence)
Route: Tier-1 help desk
Actual resolution: Password reset (AI was right)
Feedback: Positive. Classification confidence was accurate.
Ticket #1002: "Can't connect to the server"
AI classification: Network issue (78% confidence)
Route: Network team
Actual resolution: Missing SSH key (actually a permissions/access issue)
Feedback: Negative. AI misclassified. Network team escalated to Security team.
Learning: Keyword "can't connect" without network context is ambiguous.
Should have been lower confidence, routed to triage.
Next time: Lower confidence threshold for "can't connect" without more context.
Ticket #1003: "I need to install Adobe Photoshop"
AI classification: Software installation (89% confidence)
Route: Software team (procurement)
Actual resolution: User doesn't have budget. Escalated to manager for approval.
Feedback: Partially correct. Classification was right, but complexity was underestimated.
Learning: Software installation + cost questions need approval step.
Next time: Route to manager when cost is a factor.
Key insight: Triage queue handles ambiguous tickets
Not all tickets are obviously routable. Some are:
- Missing context ("Something is broken" - what something?)
- Ambiguous ("Can't access" - what can't they access?)
- Multi-faceted ("I can't do my job" - why not?)
Triage queue = holding area for ambiguous tickets.
A triage agent (experienced help desk person, not a bot) reads ambiguous tickets, asks clarifying questions, then routes to the right team.
Ticket in triage: "Nothing is working"
Triage agent: Reads ticket, needs clarification
Responds to user: "Can you provide more details?
What specific thing isn't working? What error message do you see?"
User responds: "I can't access the billing application. It says 'Unauthorized.'"
Triage agent: Now has clarity. Reclassifies as "Permission issue" or "Authentication issue"
Routes to appropriate team with full context
Result: Ticket routed correctly with all context in one message
(instead of bouncing between teams, each asking for more info)
Practical Use Cases
Use Case 1: Ticket Routing Workflow for Help Desk
A company with 500 employees gets 200 tickets per month.
WORKFLOW: Intelligent Ticket Routing
Step 1: Ticket Submission
User submits: "Password reset request"
Portal collects: Category (self-selected), Description, Attachment
Submit to: Help desk system
Step 2: AI Classification (Automated)
Input: Ticket text
Analysis:
Keywords: "password", "reset"
Category selected: Password/account
Similar tickets in history: 100+
Classification model trained on: password reset tickets
Output:
Predicted class: Password reset (98% confidence)
Alternative classes: Account unlock (1%), Browser issue (1%)
Step 3: Confidence Check (Guardrail)
Is confidence >85%?
Yes, 98%.
Proceed to decision.
Step 4: Complexity Check (Guardrail)
Is this a simple, straightforward issue?
Password reset = yes (deterministic process)
Proceed to resolution decision.
Step 5: Decision (Auto-resolve or route?)
Rules:
- Class: Password reset
- Confidence: 98% (high)
- Complexity: Low
- Risky? No (user can do password reset, it's reversible)
Decision: AUTO-RESOLVE
Step 6: Auto-Resolution Execution (Automated)
1. Verify user identity (email verification)
2. Check account status: Enabled? Yes
3. Generate password reset link
4. Send email to user
5. Send ticket auto-reply: "Password reset sent to your email"
6. Close ticket
Step 7: Verification
Monitor: Did user reset password successfully?
Check: Can user log in with new password?
If yes → Incident resolved, no human involvement
If no → Escalate to tier-1 with context
Time: <2 minutes, no human agent time
Step 2 (Alternative): Ambiguous Ticket
User submits: "I can't do my job"
AI Classification:
Input: "I can't do my job"
Analysis: Ambiguous, could be anything
Keywords: None specific
Similar tickets: Many (password reset, permissions, software, hardware, etc.)
Output:
Class 1: Permission issue (25% confidence)
Class 2: Software issue (20% confidence)
Class 3: Hardware issue (18% confidence)
Class 4: Network issue (15% confidence)
Class 5: Other (22% confidence)
Confidence Check:
Is highest confidence >75%?
No, 25%.
Route to TRIAGE
Step 3 (Triage): Human Review
Triage agent reads: "I can't do my job"
Agent responds to user (via ticket): "I want to help! Can you tell me more:
1. What specific application or task can't you complete?
2. What error message do you see (if any)?
3. Does this affect your whole computer, or just one application?"
User responds: "Can't access the billing database. It says 'You do not have permission.'"
Agent now has clarity:
Class: Permission issue (95% confidence)
Route: Security team / Active Directory
Context: User needs database permission, access denied
Step 4 (Specialized Team): Resolution
Security team receives ticket with full context
Resolution: User was in old department group, needs to be added to new department group
(Manager recently moved user between departments)
Fix: Add user to correct AD group
Ticket closed
Time: 15 minutes (user's message + agent's triage + agent's fix)
Instead of: 45 minutes (routing back and forth, each team asking for more info)
Use Case 2: Auto-Resolution for Common Issues
You track the 20 most common help desk issues. For each, you define:
- How to detect it in ticket text
- How to verify the user has the issue
- How to resolve it
- When to escalate instead of auto-resolve
Issue #1: Password Reset
Detection: Keywords: "password", "reset", "can't log in"
Verification: Send reset email, check if user can log in after
Resolution: Generate reset link, send email
Escalation: If user locked out >5 times in 1 hour (security risk), escalate
Success rate: 98% (users successfully reset, low escalation)
Issue #2: WiFi Connection
Detection: Keywords: "wifi", "wireless", "can't connect", "no internet"
Verification: Ping user's device, check WiFi signal strength
Resolution: Auto-reboot WiFi, restart device driver
Escalation: If device doesn't reconnect after reboot, escalate to networking team
Success rate: 75% (some issues need manual intervention)
Issue #3: Software Installation
Detection: Keywords: "install", "software", "need", "license"
Verification: Check if software is licensed, if user has permissions
Resolution: Remote-install software, send confirmation
Escalation: If license not available or cost approval needed, escalate to manager
Success rate: 60% (many have budget/permission implications)
Issue #4: Account Unlock
Detection: Keywords: "locked out", "too many failed attempts"
Verification: Check AD - is account locked?
Resolution: Unlock account, send notification
Escalation: If account was locked by security policy (repeated attacks), escalate to security
Success rate: 95% (straightforward unlock)
Issue #5: How-to Question
Detection: Keywords: "how do I", "how to", "where is", "how do you"
Verification: User seeking knowledge, not broken system
Resolution: Send knowledge base article, provide quick steps
Escalation: If user still confused after answer, escalate to tier-1 for screen share
Success rate: 70% (some users need more hands-on help)
Volume tracking:
200 tickets per month:
- 60 password resets (30%) → 99% auto-resolved
- 40 WiFi issues (20%) → 80% auto-resolved, 20% escalate
- 30 software install (15%) → 60% auto-resolved, 40% escalate to approval
- 25 account unlock (12%) → 95% auto-resolved
- 20 how-to questions (10%) → 70% auto-resolved, 30% tier-1 support
- 25 other (13%) → 0% auto-resolved, all to triage
Auto-resolution results:
- 60 + 32 + 18 + 24 + 14 = 148 tickets auto-resolved (74%)
- 52 tickets to triage/tier-1 (26%)
- Help desk time saved: 148 tickets × 4 min/ticket = 592 minutes = ~10 hours
Without AI:
- All 200 tickets manually handled: 200 × 4 = 800 minutes = 13.3 hours
- Plus escalation time (re-routing): ~50 min
With AI:
- 148 auto-resolved: 0 hours (system time)
- 52 manually handled: 4 hours (by help desk)
- No escalation time (routing is accurate first time)
Savings: 9.3 hours per month = 111 hours per year = 2.7 FTE days
Or: Same work with 3 fewer help desk staff
Or: Same staff, but 3 staff-days of additional capacity for other work
Anti-Patterns
Anti-Pattern 1: "We only auto-resolve obvious stuff"
You're conservative. You only auto-resolve password resets (99% confidence). Everything else goes to help desk, even medium-confidence classifications (80%+) where auto-resolution would work.
Result: You're not getting much value from automation. You're still processing 95% of tickets manually.
Why it fails: You're being too conservative. 80% confidence on a low-risk, reversible operation (account unlock) is actually quite safe.
How to avoid it: Score tickets by risk + impact:
- Low-risk auto-resolves (password reset, account unlock): 90%+ confidence
- Medium-risk with escalation path (WiFi restart): 75%+ confidence + rollback if failed
- High-risk (software installation with budget): needs human approval
Match confidence threshold to risk level.
Anti-Pattern 2: "We don't have a triage queue"
All tickets are classified as high/medium/low confidence. But you don't have a human triage process for low-confidence tickets. So you either:
- Auto-route them anyway (wrong team gets them)
- Send them to a generic queue and hope someone figures it out
Result: Low-confidence tickets bounce between teams or sit in queue for days.
Why it fails: Triage is essential for ambiguous tickets. Humans asking clarifying questions solve the routing problem. Without triage, ambiguous tickets get misrouted.
How to avoid it: Implement a triage queue. Route low-confidence tickets (<75%) to a triage agent who asks clarifying questions before routing to the right team.
Anti-Pattern 3: "Feedback loops aren't captured"
You deploy auto-resolution and it works mostly okay. But you don't track what's being auto-resolved vs. what's being escalated. You don't compare AI predictions to actual resolutions.
Six months later, you realize one of your auto-resolutions has been failing 40% of the time. But you never knew because you didn't measure it.
Why it fails: Without feedback, you can't improve. Without metrics, you don't know if your routing is getting better or worse.
How to avoid it: Log every ticket routing decision:
- AI classification
- Confidence
- Actual resolution team
- Time to resolve
- Did it work? (Did customer say "issue resolved"?)
Review monthly. Track accuracy of classifications. If accuracy <85%, adjust rules.
Anti-Pattern 4: "Confidence thresholds are never revisited"
You set thresholds at the beginning: "90%+ auto-resolve, 70-90% route, <70% triage."
A year later, data shows you're auto-resolving things that fail 10% of the time, and you're sending to triage things that could be auto-resolved 95% of the time. But you never revisited the thresholds.
Why it fails: Thresholds should adapt as you learn. Your first guess is usually wrong.
How to avoid it: Review thresholds quarterly. Look at accuracy data:
- "Password reset with 95% confidence: 98% success rate" → Thresholds are good
- "WiFi restart with 75% confidence: 60% success rate" → Threshold too low, increase to 85%
- "How-to help with 70% confidence: 85% success rate" → Threshold too conservative, decrease to 60%
Adjust based on data.
Anti-Pattern 5: "We didn't invest in data"
Classification accuracy depends on having good training data. If you don't have historical tickets labeled with their actual category/resolution, the AI model will be guessing.
Why it fails: Garbage in, garbage out. If your training data is bad, your classification will be bad.
How to avoid it: Invest in labeling historical tickets. Go through past 500-1000 tickets and label them:
- What was the actual issue?
- What team resolved it?
- How long did it take?
This labeled data is the foundation for accurate classification. It's worth the time investment.
Human Judgment Checkpoints
Classification accuracy: Sample 20 recent auto-routed tickets. Did they get routed to the right team?
Confidence threshold appropriateness: Are tickets with 85% confidence being auto-resolved successfully >90% of the time?
Triage queue health: Is the triage queue backing up? How long do tickets wait in triage?
Escalation rates: What % of tickets are being escalated? Is it trending up or down?
Feedback capture: Can you show data on AI predictions vs. actual resolutions for the last month?
Key Takeaways
Classify tickets automatically by category and confidence. Use ticket text, user description, and historical patterns to predict the right category.
Route by confidence, not just classification. High-confidence → auto-resolve or auto-route to specialist. Low-confidence → triage.
Auto-resolve only safe, low-complexity issues. Password resets, account unlocks, simple how-to questions. Let humans handle complex cases.
Implement a triage queue for ambiguous tickets. Human triage agents ask clarifying questions and route to the right team with full context.
Feedback loops improve accuracy over time. Track what AI predicts vs. actual resolutions. Adjust thresholds based on accuracy data.
Start conservative with thresholds. Use high confidence requirements initially. Gradually lower thresholds as you gain confidence in accuracy.
Measure what matters. First-contact resolution rate, MTTR, customer satisfaction. These metrics show if routing is working.
Skill.re