## TL;DR
Keyword routing works when the queues match how the team is actually organized and the rules are ordered most-specific first. Write keyword sets per queue including the misspellings and synonyms customers really use, give every unmatched ticket a default queue (never a black hole), and measure the misroute rate weekly. Routing is a living config: new features need new keywords on launch day.

## The query

```text
how to route tickets by keyword automatically
```

## Use this when

- You are setting up automatic ticket routing
- Tickets keep landing in the wrong queue
- A new product or feature needs routing rules
- Triage is slow because everything lands in one pile

## Not for

- Machine-learning ticket classification
- Reorganizing teams or responsibilities
- Manual triage processes
- Routing for sales or marketing inboxes

## Steps

### 1. Map queues to teams first

Rules follow org reality, not the other way around. List each queue, the team that owns it, and what that team actually handles in one sentence. If two teams argue over a ticket type, resolve the ownership before writing a single keyword.

Expected output: a queue-to-team map with no disputed territory.

### 2. Write keyword sets per queue, in customer language

For each queue, list the words and phrases customers use: product names, error text, and intents (refund, cancel, broken). Include common misspellings and synonyms, pull them from real tickets, not from imagination. Ten to twenty keywords per queue is plenty to start.

Expected output: a keyword set per queue grounded in actual ticket language.

### 3. Order rules most-specific first

When a ticket matches two queues, the most specific rule must win: "refund" beats "billing," a product name beats a generic verb. Write the priority order explicitly and document it, because the next person to add a rule needs to know where it slots in.

Expected output: an explicit rule priority order, specific before general.

### 4. Give unmatched tickets a default queue

Some tickets will match nothing, new topics, vague writing, pure emotion. They go to a staffed triage queue, never to limbo. The default queue is also your best source of new keywords: review it weekly.

Expected output: zero tickets without a queue, with triage mining the default bucket.

### 5. Test on history and measure misroutes

Run the rules against last month's tickets and check where they would have routed. Spot-check 50 and compute the misroute rate. A rule wrong more than one time in five needs tighter keywords. Fast wrong routing is worse than slow right routing.

Expected output: a measured misroute rate with weak rules fixed.

## Variant phrasings

### automatic ticket assignment by keywords

Steps 2 and 3. Keyword sets with priority order.

### ticket routing rules setup

Steps 1, 3, and 4. Queues, order, and the default.

### how to stop tickets going to the wrong team

Steps 3 and 5. Priority order plus misroute measurement.

## Why it happens

Manual triage doesnt scale and single-queue inboxes bury urgent tickets under routine ones, so teams reach for keyword rules. The failure mode is always the same: rules written from the product's vocabulary instead of the customer's, with no priority order and no default, so tickets scatter. Good routing is really translation, customer words into team ownership, maintained as both sides change.

## Edge cases

- Negation and sarcasm: "not a billing issue" trips the billing keyword. Add negative keywords for high-volume queues.
- Tickets matching two queues legitimately: allow dual-routing or define a primary by business priority. Dont silently drop one.
- New product launches: add keywords before launch, not after the flood. Put routing on the launch checklist.
- Language differences: keyword sets are per language. Route unknown-language tickets to a triage queue with translation, not to a keyword guess.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_MPTZg9N62CK9Ni4iu9m_Gw
