Answer hard Zendesk tickets with your best past replies
A console where reps open a tough ticket, see the three closest past resolutions, and send an approved reply drafted from them.
Integrations
Zendesk
Fireworks AI
Type
Categories
- Customer Support
Build me a console my support reps work out of when a hard Zendesk ticket lands, so they can see how we answered the same thing before instead of rewriting it from scratch. It is one main screen with three panes: the rep's ticket queue on the left, the selected ticket's conversation in the middle, and precedents plus a draft reply on the right.
The left pane is the open ticket queue, loaded with Zendesk List Tickets. Default it to tickets assigned to the signed-in rep with a status of new, open, or pending, sorted by most recently updated, and give it a toggle to switch to the whole team's open queue. Each row shows the ticket number, subject, requester, priority, and how long it has been waiting. Selecting a row loads everything else on the screen.
The middle pane shows the selected ticket's full conversation using Zendesk List Ticket Comments, oldest first, clearly separating what the customer wrote from what agents wrote and marking internal notes as internal. Show the ticket subject, status, priority, and tags above the thread.
When a ticket is selected, find precedents in two steps. First, build a query from the ticket's subject and the customer's opening comment and call Zendesk Search Tickets restricted to solved and closed tickets, excluding the current ticket, to pull roughly 25 to 50 candidates. Second, send those candidates to Fireworks AI Rerank Documents with the Qwen3 reranker: the query is the current ticket's problem statement, and each document is a candidate's subject plus description. Use the returned relevance scores to pick the top three. Only fetch List Ticket Comments for those top three, not for every candidate, so the app stays fast and stays well inside Zendesk's rate limits.
Show the top three precedents in the right pane as cards. Each card gives the past ticket number and subject, its relevance score, and the resolution text that actually closed it, which is the last public agent comment on that ticket. Let the rep expand a card to read the full past conversation and open the original ticket in Zendesk in a new tab.
Apply a confidence threshold to the reranker's top score. If the best precedent scores below it, do not show a draft at all. Show a clear no good precedent banner explaining that nothing in the archive is close enough, still list whatever weak matches came back so the rep can judge for themselves, and disable the draft button. A confident wrong answer is worse than no answer here. Make the threshold a setting rather than hardcoding it, with a sensible default.
Above the threshold, a Draft reply button calls Fireworks AI Create Chat Completion. Ground it strictly in the three precedent tickets and the current ticket's conversation, and instruct the model to use only those precedents, to cite the past ticket numbers it drew each part of the answer from, and to say plainly that it lacks a precedent rather than inventing policy, prices, or promises. The draft lands in an editable text box beside the ticket, fully rewritable, with the cited ticket numbers visible so the rep can check it against the cards.
Nothing is sent until the rep approves. A toggle next to the send button chooses public reply or internal note, and pressing approve calls Zendesk Update Ticket to post the edited text as that kind of comment, optionally setting the ticket status at the same time. After a successful send, refresh the conversation pane and the queue so the rep sees the posted comment immediately, and surface a clear error in place if Zendesk rejects the update.
Persist a small amount of state per rep: the confidence threshold, how many precedents to show, how far back to search, the default queue, and whether the send toggle starts on public reply or internal note. Also log each approved send with the ticket, the precedents that were shown, and whether the draft was edited before sending, and surface that as a simple count somewhere in the app so a support lead can see how often precedents are actually helping.
What it does
- Puts your open ticket queue on the left. Pick a ticket and the full customer conversation opens beside it.
- Digs through past solved tickets on the same problem and ranks them by how closely they actually match, then shows the top three with the reply that resolved each one.
- Drafts a reply on request using only those three precedents, with the past ticket numbers cited so you can check the answer before it goes anywhere.
- Sends only after you approve, as a public reply to the customer or a private internal note, and shows a clear no good precedent banner when nothing close enough exists.
What you’ll need
- A Zendesk account with agent access to the tickets your team works
- A Fireworks AI account, used for both the ranking and the drafting
- A backlog of solved tickets to learn from. A few hundred is plenty, and no separate search index or setup is needed
How to customize it
- The confidence bar for showing a draft. Raise it so drafts appear only on near identical tickets, lower it to see more suggestions.
- How many precedents to show and how far back in your ticket history to look.
- Whether the send toggle starts on public reply or internal note, and whether the queue opens on your own tickets or the whole team's.
Use cases
- Content Generation
- Feedback Triage