Skip to main content
DoneThat

AI Adoption GuideSupportClose

Ticket-resolution summarization

An LLM produces a structured problem-cause-fix summary for the closed ticket record, using tools like Zendesk AI Summary or Kustomer Copilot.

Support processIntakeTriageAssignInvestigateResolveConfirmClose

By Don, DoneThat’s AI coach · updated

A resolution summary is a record for the next person

Someone will open this ticket again. It might be the agent who inherits the account next quarter, an analyst counting reasons, or a model retrieving prior fixes. The summary is written for them: a short, structured account of what the customer reported, what turned out to be true, and what was done.

Structure separates a summary from a paragraph. Problem, cause, fix, and anything still open, each in its own field. Tools such as Zendesk AI Summary and Kustomer Copilot produce a readable paragraph by default, but fields are what later systems can filter and count.

The summary is not a customer message. Nobody sends it, and it should not be written to sound reassuring. It is also not a status update for management. It records what happened on one ticket.

Speed is the honest reason to automate it. Agents skip summaries at the end of a long day, and a blank field costs the next person twenty minutes of reading. A draft that takes ten seconds to check actually gets written.

Define the fields before the drafting starts

Write the definition of each field, in one sentence, before any model runs. Problem is what the customer reported in their own terms. Cause is what was established. Fix is what the company changed or did. Open items are commitments with no completion yet.

Cause needs the strictest definition. Established means confirmed by a log, a test, a system record, or a colleague who verified it. A plausible story nobody checked is not a cause, and it belongs in the notes.

Set a length cap per field and enforce it. Two or three sentences each. Summaries that grow to a page get skipped exactly like no summary at all.

Decide which tickets get summarized. Threads with several messages, more than one assignee, or an escalation are worth it. A two-message password reset is not, and drafting one wastes review time on every close.

State what happens when a thread is too thin to summarize. The fields stay empty and the ticket closes with a note saying so. An invented cause on a thin ticket is worse than a blank one, because the next reader will believe it.

Write from the thread, and mark what was never established

The source is the whole conversation plus everything attached to it: diagnostics, order records, and internal notes. Context pulled in by account and order data attached at intake helps the summary name the right product and plan.

Weight the internal notes heavily. Customer messages carry the problem. The notes and the final exchanges usually carry the cause and the fix, and a model reading only the public thread will summarize the symptom twice.

Anchor the cause field to something specific. The summary should be able to point at the message, log line, or record that established it. When it cannot point at anything, the field says not established, and that phrase should appear often enough to be believable.

Never promote the customer's theory into the cause field. Customers frequently diagnose their own problems, sometimes correctly. The summary marks whose claim it is.

Keep the fix concrete. Reissued the invoice with the corrected tax code is a fix. Assisted the customer and resolved the issue is not, and it teaches nothing when similar resolved tickets get pulled for the next case.

Summarize a customs-hold ticket at a freight forwarding platform

What follows is a constructed case, not a real customer. A digital freight forwarding platform books ocean shipments for mid-size exporters. One customer's container sat in customs for nine days, and the ticket ran 41 messages across three agents and the operations team.

The thread is messy. It holds two phone-call notes, a screenshot of the tracking page, a forwarded message from the customs broker, and a long argument about demurrage charges. Reading it end to end takes twenty minutes.

The generated draft fills four fields. Problem: container held at destination customs, shipper unable to get a release date, tracking page still showing cleared. Cause: the commercial invoice listed a product code that did not match the packing list, flagged by the broker on day two. Fix: corrected invoice filed, release obtained on day nine, demurrage waived as a goodwill exception. Open: the tracking page shows cleared for held containers.

The closing agent changes two things. He moves the tracking page problem out of open items and into a separate ticket, because it affects every shipment rather than this one. He edits the fix field to record who approved the demurrage waiver, since that approval will be asked about later.

The corrected summary then does three jobs. It tells the account manager what happened in thirty seconds. It gives the analyst a countable cause. It becomes the source for an article drafted from a solved ticket about product code mismatches, which had no help content.

Where auto-summaries quietly go wrong

The last-message summary is the classic failure. A thread ending with thanks, that worked produces a summary about gratitude. Weight the exchange where the fix was described, not the closing pleasantries.

Internal notes contain things that should not be repeated. An agent's aside about a difficult customer, or a colleague's guess about who made a mistake, gets pulled into a field other teams read. Filter the notes for facts and leave the commentary out.

Suspicion hardens into fact over time. A cause written as probably a caching issue is read a month later as a caching issue, then counted as one. Keep the hedge inside the field, or leave the field empty.

Multi-issue threads compress badly. A ticket that started with a delayed shipment and ended with a billing dispute needs two summaries or a split. Forcing one set of fields loses whichever issue came first.

Summaries become the only thing anyone reads. That is mostly good and occasionally dangerous, since the nuance stays in the thread. Any downstream claim that matters, especially a defect claim, gets checked against the original conversation first.

Weak summaries poison the counts. Tag quality and summary quality drift together, and fine-grained topic tags on the same tickets inherit whatever the fix field got wrong.

The closing agent owns the words on the record

The agent who closes the ticket reads the draft and edits it. That is the whole gate, and it works because it costs seconds rather than minutes. An agent who cannot edit the fields will stop trusting them within a week.

Ownership needs to be visible. Record who accepted the summary and when. A field nobody signed is a field nobody will correct.

Lock the fields after close and log later edits. Summaries feed analytics and account reviews, so a silent rewrite three weeks later changes numbers people already used.

Handoffs to other teams depend on this field set. When a ticket becomes an engineering item or an account review, the summary is what gets pasted in, and the person pasting it is accountable for what it says.

Keep the summary out of individual evaluation. It is a record of a ticket, not evidence about an agent, and mixing the two gives agents a reason to write flattering fields. Conduct questions belong in scoring against a published quality rubric, where the evidence rules and the dispute path already exist.

When the fix was a workaround, the agent says so plainly. Restored service by switching the customer to manual entry reads differently from fixed, and the difference matters when the same problem returns.

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