Every resolved ticket where an agent figured something out is a knowledge-base article nobody wrote. This playbook converts resolved threads into clean self-service articles — symptom, cause, fix, prevention — deduplicated against your existing KB, so the next customer finds the answer before they file the ticket.
Workflow area: Customer Support · Tier: Core · Hands-on time: ~30 minutes
The economics are simple: an agent resolution costs minutes every time; a KB article costs minutes once. The reason KBs stay thin anyway is that writing an article from a messy thread — reconstructing what actually fixed it from six back-and-forth messages — is exactly the kind of tedious synthesis agents skip at the end of a shift. That synthesis is AI's sweet spot. Your job is picking threads worth documenting, verifying the fix is the real fix, and keeping one human review before anything goes public.
Pick the threads. Pull 5–10 resolved threads worth documenting: solved-after-effort, repeat topics, or post-release questions. Strip customer names, emails, account IDs, and any credentials or URLs containing tokens before they leave the helpdesk.
Extract one article per thread.
Convert this resolved support thread into a knowledge-base
article. Audience: customers helping themselves (not agents).
Structure:
1. TITLE: how a customer would search for the problem, symptom
first (e.g. "CSV export downloads empty file"), under 70 chars
2. SYMPTOM: what the user sees, in their words — 2-3 lines
3. CAUSE: why it happens, one plain-language paragraph, no
internal system names customers won't know
4. FIX: numbered steps in the exact order that resolved this
ticket. Each step = one action + what the user should see
after doing it.
5. IF THIS DIDN'T WORK: 1-2 lines on the next step (contact
support with what info)
6. PREVENTION: how to avoid recurrence, if the thread supports it
7. INTERNAL FLAGS (not for publication): anything in the thread
that was case-specific and should NOT be generalized; any
step you inferred rather than saw stated in the thread —
mark each [INFERRED].
Thread (customer details removed):
[PASTE THREAD — include the agent's final confirmation message]
Rules: use only what the thread supports. If the thread never
states the cause, write "CAUSE: unconfirmed" — do not invent a
plausible one. Keep reading level simple; no blame ("you
incorrectly configured...") — neutral phrasing only.
Verify the fix path. The [INFERRED] flags are your review list. Good output makes review fast:
FIX:
1. Open Settings → Integrations and select the calendar
connection. You should see a "Reconnect" button in red.
2. Click Reconnect and approve the permissions prompt. The
status badge changes to "Active" within a minute.
3. Retry the sync from the dashboard.
INTERNAL FLAGS:
- Step 2's one-minute timing was this customer's experience —
[INFERRED] as typical.
- Thread mentions the customer was on the legacy plan; steps
unverified for current plans.
Walk the steps yourself in a test account where possible; where not, have the resolving agent confirm with a thumbs-up. An article with confident wrong steps is worse than no article — it burns trust in the whole KB.
Deduplicate against the existing KB. Paste your current article titles (or export the index):
Here are our existing KB article titles: [PASTE LIST]
For each new draft, tell me: NEW (no overlap), MERGE (mostly
covered by [existing title] — list what the new draft adds), or
REPLACE (existing article is outdated per the new thread).
For MERGE cases, ask for just the delta paragraphs to add to the existing article — two half-articles about the same problem is how customers end up filing tickets anyway.
Publish with ownership metadata. In Notion (or your KB tool), add per article: source ticket ID, verified-by, verified date, product area, review-by date. Route drafts through whoever owns support content for one approval pass — AI wrote it, an agent verified it, an owner approved it.
Support threads are dense with personal data — names, emails, invoice numbers, sometimes passwords customers pasted despite everyone's advice. Sanitize threads before they touch any AI tool, or work inside your approved enterprise tenant, and never let a real customer's detail survive into a published example.
Track "article existed but customer filed a ticket anyway" cases in a spare column — each one is a title or findability failure, not a content failure. Renaming five articles to match customer phrasing usually deflects more tickets than writing five new ones.