Skip to main content
DoneThat

AI Adoption GuideITSupport

KB article auto-generation

LLM drafts KB articles from resolved ticket data and agent notes, flagging gaps where no article exists.

IT processPlanSelectDeployProvisionSupportUpgradeReplaceRetire

By Don, DoneThat’s AI coach · updated

What this use case does

Support teams close hundreds of tickets that never become reusable knowledge. The fix sits in the resolved record: agent notes, root-cause fields, workaround steps, and linked configuration changes. An LLM reads that material and produces a draft KB article structured for your catalog, not a paraphrase of the ticket thread.

The draft carries provenance. Every procedural step, error message, or configuration detail must trace to a source ticket ID and the resolution notes that justified it. If the model cannot cite a specific field or comment, that section stays empty rather than filled with plausible-sounding filler. That constraint is the core quality outcome: drafts you can audit before anything reaches agents or end users.

Parallel to drafting, the pipeline flags coverage gaps. When a ticket resolves with steps that match no existing article, or when search analytics show repeated queries with thin results, the system surfaces a gap record for your knowledge manager queue. Draft and gap detection share the same ticket feed, so new content targets actual demand instead of generic topic lists.

This is not auto-publish. Production KB remains human-owned. The LLM accelerates first drafts and gap identification; reviewers edit, approve, and release through your normal workflow in ServiceNow Knowledge, Zendesk Guide, Freshservice solutions, or Confluence.

When it fits your support operation

This pattern earns its place when ticket volume outpaces KB maintenance and your catalog skews stale relative to what agents actually do on shift. Typical signals include agents re-solving the same issue across shifts, long mean time to publish after a major incident, or a backlog of "document this fix" tasks that never leave individual inboxes.

It pairs well with operations that already capture structured resolution data. If agents habitually leave one-line closures, drafts will be thin until you tighten closure discipline. If categories, CI links, and root-cause codes are reliable, drafts arrive richer without extra prompting.

Use it as a complement to real-time agent assist, which surfaces existing articles during live work. Auto-generation closes the loop: tickets that required assist because no article existed become candidates for the next draft cycle. It also differs from tier-1 autonomous resolution, which attempts closure without human touch. Autonomous resolution needs verified KB to stay safe; this use case feeds that library without bypassing review.

Hold off if your organization lacks a publish workflow, version control, or ownership model for KB content. Speed without governance creates duplicate articles, conflicting steps, and trust erosion faster than any drafting tool can recover.

How the draft pipeline works

The pipeline starts at ticket resolution, not at arbitrary schedules. When a ticket moves to resolved or closed status, and meets your eligibility rules, the system extracts a bounded context package: ticket ID, short description, resolution notes, work notes, linked incidents, affected CI or service, product area tags, and any attachments agents marked as customer-safe.

Before generation, a retrieval step checks your existing KB index. If a high-confidence match already covers the resolution, the ticket routes to a "duplicate or update" queue instead of a net-new draft. That step prevents article sprawl, one of the fastest ways to kill search quality.

The LLM receives a fixed output schema aligned to your template: title, symptoms, environment prerequisites, step-by-step resolution, verification steps, rollback or escalation path, and related articles. Prompt instructions require inline citation markers tied to ticket field names and IDs. Example pattern: each numbered step ends with (source: INC0012345, resolution_notes).

Generation runs asynchronously so closure workflows stay fast. Drafts land in a staging area mapped to your KB tool's draft state, never the published namespace. Gap flags attach when retrieval finds no adequate match or when confidence on an existing article falls below your threshold.

For recurring incident classes, you can batch drafts weekly by category owner rather than firing on every single closure. That cadence suits platform teams who prefer curated releases over a continuous trickle of micro-articles.

Quality controls that keep drafts publishable

Citation enforcement is the first gate. A draft missing required source anchors for any non-trivial claim returns to a "insufficient evidence" bucket. Reviewers see which fields were empty or ambiguous rather than guessing what the model invented. Empty sections are acceptable; unsupported sections are not.

Human review remains mandatory. Assign drafts by category owner or service domain so the person who understands the system of record approves wording. Reviewers should verify steps in a non-production environment when changes touch access, mail flow, VPN, or identity systems. The draft is a starting point, not a release candidate.

Establish a small set of rejection reasons and track them: wrong audience (agent-only vs end-user), missing prerequisites, outdated product version, duplicate of existing content, or resolution notes too vague to generalize. Those codes feed prompt and closure-field improvements over time.

Align with how you handle sensitive data. Strip internal hostnames, employee identifiers, and customer-specific configuration before the context package leaves your ticketing boundary. If your policy requires redaction, run it before LLM input, not after draft output.

Coordinate with proactive incident detection when major outages generate burst ticket volume. A single well-reviewed major-incident article often beats dozens of thin per-ticket drafts. Use auto-generation for the long tail of repeatable fixes, not as a substitute for coordinated comms during Sev-1 events.

Escalation-heavy tickets need extra scrutiny. Resolutions that depended on sentiment-based escalation or executive involvement may reflect edge cases poor candidates for general KB unless reviewers confirm reproducibility.

What to configure in your ticketing and KB stack

Map fields explicitly between systems. ServiceNow pairs well when close_notes, close_code, and Knowledge Management workflows already connect. Zendesk and Freshservice need similarly stable custom fields for root cause and resolution category. Confluence often holds the published corpus even when tickets live elsewhere; define which space, page template, and labels the draft connector targets.

Eligibility rules deserve explicit documentation. Common filters include minimum resolution note length, exclusion of security or HR categories, requirement for a known CI or product tag, and suppression of one-touch password-reset closures unless your deflection strategy targets them.

Template parity matters. If your published articles use a symptom-first layout but the model emits generic how-to titles, agents will rewrite everything. Feed the LLM your canonical template and two or three redacted exemplars from high-rated existing pages.

Search and deflection integrations should read only from published indexes. Staging drafts must not appear in real-time agent assist or customer portals until approval completes. Most platforms expose separate draft and published APIs; verify connectors respect that boundary.

Ownership and SLAs complete the configuration. Set a target time from draft creation to first human touch, and a separate target from approval to publish. Without SLAs, drafts accumulate in staging and the gap queue becomes another ignored backlog.

Operating the program month to month

Treat gap flags as a prioritized backlog, not a vanity metric. Rank by ticket recurrence, handle time saved in similar closures, and whether self-service search volume suggests end-user demand. Deprioritize gaps that autonomous or assist tools already cover with existing articles agents simply failed to find.

Run periodic duplicate audits. Even with pre-generation retrieval, taxonomy drift creates near-duplicates. Merge or redirect rather than letting search return three slightly different VPN fixes.

Measure quality with review outcomes, not word count. Track approval rate without major rewrite, time from draft to publish, and post-publish deflection or reuse signals where your platform exposes them. Avoid claiming percentage improvements unless you calculate them from your own baseline; the useful internal comparison is draft-assisted articles versus manually authored articles in the same category over the same period.

Refresh prompts and eligibility when product versions change or when rejection codes cluster on the same failure mode. The system improves when closure discipline, templates, and retrieval thresholds move together, not when you swap models alone.

Keep the policy visible to agents: good resolution notes become team knowledge. That feedback loop does more for draft quality than any post-processing step. Auto-generation rewards the documentation habits you already want on the floor; it does not replace them.

[REDACTED]

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first