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.
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 does this prompt do?
- 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 do I need to use this?
- 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 can I 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.
FAQs
Can it reply to a customer without me seeing it first?
Do I need a search index or a special database set up first?
What happens when there is no good past answer?
How do I know the draft is not making things up?
Will this work if our old tickets are messy or inconsistent?
Can it post an internal note instead of replying to the customer?
Related templates
Work "I think I was hacked" tickets in one place: see each customer's real breach exposure beside their conversation, then note, tag, and reply with confidence.
See which questions your customers keep asking, then record a short avatar explainer for the ones actually worth answering on video.
Reps work their live ticket queue on one screen, get a cited draft answer pulled straight from your documentation, and send it without leaving the app.
Open one bench before you ship a prompt change: every test case scored against every model, with pass rate, speed and cost sitting side by side.
Break down Fireworks AI spend by model, key, and team over any date range, flag untagged usage loudly, and catch dedicated capacity you pay for but never use.
Look up a customer by name, find the sandbox behind their complaint, and get a plain language explanation of what went wrong, no E2B login needed.
Stop rewriting answers your team already sent.
Give your reps a console that surfaces the closest past resolution and drafts from it, with approval before anything reaches a customer.