In short
Good routing gets each conversation to someone who can resolve it on the first try. The patterns that work are simple: route by what the customer needs rather than which channel they used, order rules from most specific to most general, always end with a catch-all, keep the number of rules small, and review them against real data every month.
1. Route by intent, not channel
Channel tells you how a customer wrote, not what they need. A refund request is a refund request on WhatsApp or email. Use keywords, tags and contact attributes to route by intent, and use channel only where a team genuinely specializes.
2. Specific before general
Rules run in order. Put narrow, high-value rules first (VIP accounts, urgent keywords like "cancelled flight" or "charged twice"), then broader ones (by language or region), then defaults.
3. Always have a catch-all
The last rule should assign anything unmatched to a triage team. Unassigned conversations are the ones that wait longest.
4. Fewer rules, clearer ownership
Every rule is something someone has to understand later. If two rules do almost the same thing, merge them. If a rule has not matched anything in a month, delete it.
5. Review against data
- Which rules send conversations that then get reassigned? Those are routing to the wrong place.
- Which tags have the slowest first response? That team may need more people or better automation.
- How many conversations hit the catch-all? A rising number means a new kind of request needs its own rule.
Questions about this post? Get in touch.

