A knowledge base gap board for your support tickets
See which questions your customers keep asking that no help article covers yet, then have an agent draft and publish the missing one.
Build me a knowledge base gap board for our support leads, using HappyFox for tickets, Notion for our knowledge base, and Slack Bot for announcements. It is a weekly review surface: I open it to see which questions our customers keep asking that we have never written up, and I take action on the biggest ones from the same screen.
The main view is a board of recurring ticket themes from the last thirty or ninety days, with a toggle between those two windows. Each theme row shows the theme name, a one line description of the question behind it, ticket volume, average time to resolve, and a coverage badge that is either Covered, with a link through to the matching Notion article, or Uncovered. Sort the board by volume multiplied by average time to resolve, descending, so the biggest time sinks are at the top, and show that ranking figure as a Total time spent column so leads can see why a theme ranks where it does. Show the timestamp of the last rebuild at the top of the board.
Important: the board renders from themes saved in app storage. It must never recompute themes when someone opens it. A viewer loading the board should read stored data only.
A Rebuild themes button starts a background agent that recomputes the board. That agent reads recent tickets with HappyFox List Tickets, scoped to the selected window with a date range plus a status filter, and pulls detail on individual tickets with Get Ticket. It then groups the tickets into themes by the underlying question being asked, names each theme in plain language, and computes volume and average time to resolve per theme. For each theme it calls Notion Search by Title to look for an existing article on that topic, and records whether a match was found along with the page URL. Finally it saves the full set of themes into app storage: theme name, description, member ticket ids, volume, average time to resolve, the ranking figure, coverage status, and the Notion URL when covered. Grouping tickets into themes has to be agent judgement rather than a handler loop, because the help desk has no clustering endpoint.
Keep the rebuild inside a bounded sample rather than trying to read the whole ticket history. List Tickets pages at a maximum size of fifty, and the help desk enforces a global cap of five hundred GET requests per minute, so the agent should walk a limited number of pages for the chosen window and status filter and stop there. Show rebuild progress and the finished or failed state on the board while it runs.
Clicking a theme opens a detail view listing the tickets behind it, each with subject, requester, status, time to resolve, and a link out to the ticket in HappyFox. Call out the best resolved examples in that theme separately, the ones with clean, complete resolutions, since those are the raw material for an article.
Every uncovered theme gets a Draft the article button that starts a second background agent. It reads the top resolved tickets in that theme with Get Ticket, writes a customer facing help article based on how the team actually resolved the issue, and publishes it with Notion Create a Page under our knowledge base parent, followed by Append Block Children for the article body. It then tags every source ticket behind the theme with HappyFox Update Ticket Tags using a coverage tag so we know the question is documented, and announces the new article in our support Slack channel with Slack Bot Send a Message, including the theme name, the ticket volume it came from, and a link to the Notion page. When it finishes, update the stored theme to Covered with the new page URL so the board reflects it without a full rebuild.
Two things the article agent must respect. Ticket attachment URLs expire five minutes after they are generated, so it should quote relevant text from the ticket rather than linking to attachments. And the article is customer facing, so it should carry the resolution steps without customer names, internal notes, or agent side commentary.
Keep published articles visible on the board rather than hiding them once covered. A lead should be able to see the covered themes, click through to the Notion page, and confirm the write up still matches what customers are asking. Add a small settings area for the Notion parent page, the Slack channel, the coverage tag name, the resolved status filter, and the default window.
What does this prompt do?
- Groups your recent support tickets into recurring themes and shows each one with its ticket volume and average time to resolve
- Checks your Notion knowledge base for a matching article, so every theme is marked as already covered or still uncovered
- Ranks themes by total time spent, volume multiplied by average handle time, so the biggest time sinks sit at the top
- Gives every uncovered theme a Draft the article button that writes a customer facing help article from your best resolved tickets, publishes it to Notion, tags the source tickets as covered, and announces it in Slack
What do I need to use this?
- A HappyFox help desk account with API access turned on
- A Notion workspace, with the page or database that holds your help articles shared with the connection
- A Slack workspace and a channel where new articles should be announced
- A rough idea of which ticket statuses count as resolved in your help desk
How can I customize it?
- Switch the board between a thirty day and ninety day window, and change which ticket statuses get sampled
- Change the tag written back onto covered tickets, and the Slack channel where new articles are announced
- Point articles at a different Notion parent page, and adjust the tone and structure of the drafts
FAQs
Do I still have to write the help articles myself?
Will this change anything in my help desk?
How far back does the board look?
Does it work with a knowledge base I already have in Notion?
Does the board refresh by itself every time I open it?
Related templates
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Open one screen each Monday to see which upcoming posts still have no image, generate three on-brand options, and file the one you pick.
Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.
See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.
Stop answering the same question for the hundredth time.
See which repeat support questions have never been written up, and turn the biggest ones into published help articles in a click.