Support ticket tagging with AI: a fixed tag list, a prompt and a monthly check
Ticket tags are only useful if they're consistent. When people tag by hand, the same problem ends up as "login", "SSO", "auth" and "can't sign in", and the monthly report means nothing. An AI agent can tag faster and more evenly than a busy team, as long as you give it a fixed list and a way to say "I'm not sure".
Step 1: write a short, fixed tag list
Tag the customer's problem, not your team or your product menu. A good list is short, specific and has an Other bucket.
- Name the problem the way a customer would. "Report export times out" beats "Reporting".
- One main tag per ticket. If two fit, pick the one a person should see first.
- Write one line per tag saying what belongs in it, and one example. The agent uses that line to decide.
- Keep Other. Tickets that don't clearly fit go there. Don't force them.
Tag list (example, made up) - Export times out: report or data export fails or spins - SSO login loop: user is sent back to the login page - API rate limit: requests rejected for too many calls - Scheduled report missing: an emailed report didn't arrive - User permissions: can't see or edit something they should - Billing question: invoices, seats, plan changes - How-to: the product works, the customer wants steps - Other: doesn't clearly fit any tag above
Step 2: the tagging prompt
Run it on a batch first, like last month's export, so you can check it before it touches live tickets. Include the subject and the customer's first message. Categories alone hide the real question.
Tag each ticket in [ticket export] with exactly one tag from this list: [paste your tag list with the one-line definitions]. Never invent a new tag. If a ticket doesn't clearly fit, tag it Other. If you're unsure between two tags, use Other and say which two. Output one line per ticket: ticket ID, tag, and the phrase from the ticket that decided it. Count each ticket ID once, even if it appears twice in the export. Start with one line: the date range, how many tickets you read and how many you couldn't read. Then give a count per tag. Counts come from the export only.
The "phrase that decided it" is what makes the output checkable. When a tag looks wrong, you can see why in a second.
Step 3: check it before you trust it
Check the tags you just gave against the export. For each tag, list the ticket IDs you counted and confirm the total. List any ticket counted under two tags, any tag not on my list, and 5 tickets from Other that look like they might fit a tag, with the tag and why. Don't re-tag anything. Just list the problems, or say "No problems found".
Then pick 20 tickets at random and tag them yourself. If you and the agent disagree on more than a few, the problem is usually the tag definitions, not the agent. Fix the one-line definitions and run it again.
Step 4: turn tags into something people act on
Tags are a means. Once a month, take the counts and turn the top themes into a short note for the product team: the problem in one sentence, the ticket count, how many accounts it hit, one quote with names removed, and one suggested ask. That's what a voice of the customer report is for. The same tags also show you which help articles are missing.
Common problems
- Tags drift every month. Paste the same list each run. Add a tag on purpose, never by accident.
- Other is huge. Read 20 of them. If a theme repeats, it deserves its own tag.
- One tag swallows everything. "Bug" or "Technical" is too broad. Split it by what's broken.
- Names in the output. Ask the agent to remove account names, people's names, emails and phone numbers, including inside quotes, before anything is shared.
Only run this in a tool your company approves for ticket data. If there isn't one yet, take names and emails out of the export first and spot-check it yourself.
Questions
How many tags should we have?
Few enough that a person can remember them. Start with 10 to 15 for the main problem, plus Other. Add a tag only when Other keeps filling up with the same thing.
Can AI tag tickets as they arrive?
Many help desks can run a model on each new ticket. Start by tagging last month's tickets in a batch and checking them, so you know how often it's wrong before you let it tag live.
What should happen when the AI isn't sure?
Tag it Other, or flag it for a person. A wrong tag is worse than no tag, because it quietly skews every report built on it.
Will the tags stay consistent from month to month?
Only if you give the agent the same list every time. Left to itself, it renames themes each month and the trend stops meaning anything.
Want the full routine?
Play 7 in The CS Agent Playbook, Voice of the Customer Monthly, does this grouping once a month: it reuses last month's theme names so the trend means something, shows counts, accounts affected and two quotes per theme, and comes with a QA check on counts and quotes, a product team summary and a by-segment variation.
The whole playbook has 15 agent routines and 54 ready-to-paste prompts for support case work and customer success, each with guardrails, a sample result and a QA check. $39 for the 47-page PDF and a plain-text prompts file.
Related guides
- A voice of the customer report that product teams actually read
- Knowledge base gap analysis from support tickets
- AI prompts to summarize support tickets without losing the details that matter
- A bug report template from support to engineering
Free: prompt templates | escalation email generator | churn risk calculator