## TL;DR
VIP routing works when it keys off the account, never off the ticket text. Tag the account record with its tier, then route on that field at ticket creation: dedicated queue, shorter SLA, named team. Keyword detection ("I am the CEO") catches impostors and misses quiet VIPs. Get the account link right and the routing is trivial.

## The query

```text
how to route VIP customer tickets automatically
```

## Use this when

- High-value customers wait in the general queue
- Setting up tiered or enterprise support
- VIP tickets get missed or answered late
- You are defining SLAs by customer tier

## Not for

- Deciding who counts as a VIP (a business call)
- Sales outreach or account management
- Training agents to prioritize manually
- One-off escalations (different playbook)

## Steps

### 1. Source the tier from the account system, not the ticket

The CRM or billing system owns the tier field: enterprise, strategic, high-value. Sync it to the support platform on the account record. Never infer tier from ticket text.

Expected output: a tier field on every account, synced daily.

### 2. Route at ticket creation on the account field

When a ticket arrives, look up the requester's account tier and assign: dedicated VIP queue, shorter first-response SLA, and the named team. Routing at creation beats re-routing after an agent notices.

Expected output: VIP tickets land in the VIP queue automatically.

### 3. Define what VIPs actually get

Faster first response, named agents, no bot deflection, direct escalation path. Write it down. "VIP" without defined benefits is just a label that creates arguments.

Expected output: a written VIP service definition.

### 4. Handle the identity edge cases

VIPs write from personal emails. New contacts at VIP companies are not in the system yet. Build a domain-matching fallback (anyone at customer-domain gets flagged for review) and a manual tier-override with an audit trail.

Expected output: fallback rules covering unknown senders.

### 5. Audit weekly for misroutes

Check VIP-queue tickets that were not VIP, and VIP-tier tickets that landed in the general queue. Both directions fail. Fix the account data, not the routing rule.

Expected output: a weekly misroute report trending toward zero.

## Template: the routing rule

```text
On ticket create:
  account = lookup(requester email)
  if account.tier in (enterprise, strategic):
      queue = vip-support
      sla_first_response = 15 min
      sla_resolution = 4 h
      assign = vip team round-robin
      skip_bot = true
  else if requester domain in vip_domains and account is null:
      queue = vip-review
      tag = possible-vip
  else:
      queue = general
```

## Variant phrasings

### priority support routing

Steps 1 and 2. Account field plus creation-time routing.

### tiered support queues

Full sequence. Step 3 is the part most teams skip.

### enterprise customer ticket SLA

Steps 2 and 3, plus the audit in step 5 to prove the SLA holds.

## Why it works

Account data is reliable and ticket text is not. A VIP who writes "hi, quick question" looks identical to everyone else in the text, and a non-VIP who writes "I pay you thousands" is usually wrong. Routing on the account field is deterministic, auditable, and instant.

## Edge cases

- Trial users about to convert: consider a "watchlist" tier with VIP routing but standard SLA.
- Churn-risk flags: combine tier with health score for a priority queue, not just tier alone.
- Acquisitions: the acquired company's domain needs adding on day one.
- Downgrades: tier changes must sync both directions, or ex-VIPs keep VIP routing.

## Provenance

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