Start with one workflow that costs the most manual time. Prove value there before expanding.
Step 1: Map who currently handles what and why
Before building any routing logic, get clear on how inquiries are actually divided today: which team handles billing questions, which handles technical issues, and where the genuinely ambiguous cases currently end up. This mapping usually reveals overlaps and gaps that have nothing to do with AI and need fixing regardless.
Talk to whoever currently does this triage manually, often a team lead or a senior support agent. They usually have a mental model of how inquiries should be sorted that has never been written down anywhere, and that mental model is exactly what the automated system needs to replicate.
This exercise also tends to surface a genuine structural problem: two teams that both think they own a certain type of inquiry, or a category of request that nobody has clearly claimed. Fixing that ownership gap before automating anything prevents the AI layer from inheriting a confusion that was never really about routing.
on your actual message history performs noticeably better than one working from generic category descriptions alone.
Step 2: Let AI read and classify the inquiry
Rather than matching a handful of keywords, an AI layer can read the full message and understand what the customer is actually asking, then classify it against the categories you defined. This handles the reality that customers describe the same problem in dozens of different ways.
This classification can run the moment a message arrives, before anyone on your team has even opened it, so it lands in the right queue immediately.
Feed the system real examples of past inquiries and their correct categories while setting it up. A classification system trained on your actual message history performs noticeably better than one working from generic category descriptions alone.
Include the messy examples, not just the clean ones. A customer who mentions two unrelated issues in one message, or writes in a mix of languages, is a realistic case your system needs to handle well, not an edge case worth ignoring during setup.
Working on something similar?
Let's talk →Step 3: Set clear rules for inquiries that need to skip the queue
Working on something similar?
Let's talk →Some inquiries should never wait in a normal queue: anything mentioning a cancellation, a safety issue, or an existing complaint that was not resolved. Define these explicitly so they route to priority handling regardless of what the general classification says.
Review this list with whoever handles escalations today. They will usually know the specific phrases and situations that, in their experience, always need immediate attention regardless of category, including patterns that only become obvious after handling hundreds of real cases.
Revisit this list periodically as well. New product launches, policy changes, and seasonal spikes all tend to introduce new categories of urgent inquiry that were not on anyone’s radar when the rules were first written. Treat this list as a living document, not a one-time setup task.
Step 4: Give the system a way to say I’m not sure
The most important design decision in any routing system is what happens when it is not confident about where an inquiry belongs. It should default to a general queue or flag for human review rather than guess, because a wrongly routed inquiry is often worse than a slightly slower correct one.
A misrouted inquiry does not just delay the answer. It forces the customer to explain their problem twice, once to the wrong team and once to the right one, which tends to do more damage to their impression of your business than a short wait ever would. A system that occasionally says it needs a person to confirm the category looks more competent, not less, than one that always guesses with false confidence about where the message belongs.
Your pre-automation checklist
Before you move forward, confirm:
- You have mapped how inquiries are currently divided between teams.
- Categories for classification are based on real inquiry types, not guesses.
- You have defined which inquiries must always skip to priority handling.
- The system has a clear fallback for low-confidence classifications.
- You have tested routing accuracy against a batch of real past inquiries.
- Someone reviews misrouted inquiries regularly to improve the rules.

