Bots fail when they are built from intuition — "users always ask about VPN" — instead of evidence. This playbook mines a year of your own tickets for the top-10 deflectable contact types, scored by frequency times resolvability, then assigns each one its correct deflection path: a KB article, a bot intent, or an automated remediation.
Tier: Advanced · Workflow area: Assistants & RAG · ~45 minutes
This playbook turns a raw ticket export and an LLM into a ranked deflection portfolio — the build order for everything your virtual agent does next. It is the difference between a bot with forty intents nobody triggers and a bot with ten intents that eat a third of your queue, which is exactly the discipline UC-47 describes.
Pull the export with the fields that matter. Twelve months if you have them: number, opened date, short description, category, resolution code, resolution notes, reassignment count, resolve time. From ServiceNow:
curl -s -u "$SN_USER:$SN_PASS" \
"https://yourinstance.service-now.com/api/now/table/incident?sysparm_query=opened_atRELATIVEGT%40month%40ago%4012&sysparm_fields=number,opened_at,short_description,category,close_code,close_notes,reassignment_count,calendar_stc&sysparm_limit=10000" \
| jq -r '.result[] | [.number,.short_description,.category,.close_code] | @tsv' \
> tickets.tsv
Strip user names and any pasted secrets before the next step — the mining works on symptoms, not identities.
Cluster contact types with the LLM, in batches. Categories lie; descriptions tell the truth. Batch 200 rows at a time:
You are analyzing IT support tickets to find repeating CONTACT TYPES —
what the user actually wanted, not the category field.
For the tickets below, assign each a contact-type label of at most
6 words (e.g. "password reset after lockout", "VPN fails on home wifi",
"request new starter laptop"). Reuse labels across tickets aggressively;
invent a new label only when nothing fits.
Output: ticket_number <TAB> contact_type. No commentary.
Tickets: [paste batch]
Then merge label variants in a second pass ("consolidate these labels; output a mapping table"). Expect 30–60 contact types from a year of tickets.
Score resolvability per contact type, 0–3. Frequency alone builds the wrong bot. For each of the top ~25 types by count, read five sample resolution notes and score: 3 — resolved by a fixed procedure every time (self-service candidate); 2 — resolved by procedure with one branch point; 1 — needs human judgment or environment access; 0 — inherently human (approvals, outages, exceptions). Let the LLM propose scores from the resolution notes, but you confirm each one — this is the step where domain knowledge earns its keep.
Rank by frequency × resolvability and cut at ten. A spreadsheet with four columns: contact type, 12-month count, resolvability, product. Sort descending. The top ten is your portfolio; print it. A typical desk finds password/MFA resets, VPN client issues, distribution-list membership, software installs from the approved catalog, and shared-mailbox access in the top ranks — but your list will surprise you at least twice, and the surprises are the point.
Assign each row its deflection path. Three paths, chosen by resolvability and risk:
One row can take two paths — an article and an intent that delivers it — but every row gets an explicit decision, including "do not deflect."
Estimate the ceiling honestly. Sum the 12-month counts of the ten rows, multiply by a sober per-path deflection guess (articles 20–30%, intents 40–60%, remediation 70–85% of that contact type), and you have the maximum tickets this portfolio can remove per year. That number — not the vendor's "up to 80%" — goes in front of management, and pb-44 measures against it.
Ship in portfolio order and re-mine quarterly. Build row 1 end-to-end before touching row 2. Re-run the mining each quarter: contact types shift with every app rollout, and last year's number three may be gone.
Ticket descriptions and resolution notes carry names, personal circumstances and occasionally pasted credentials — redact identifiers before any batch leaves your tenant, and run the clustering in your approved AI tool, not a personal account.
Frequency times resolvability, scored from your own tickets and cut at ten, is the entire build strategy — each row gets one deliberate path (KB, intent, or governed remediation), shipped in order, re-mined quarterly, and the honest ceiling you computed is the number every later deflection claim answers to.