Find the customers stuck contacting support again and again
A board that ranks the people who opened three or more separate support conversations this month, reads their threads, and files the real fix.
Build me an app that shows the people who keep coming back to support, not the ticket themes, so my team can finally break the loops. The unit on this board is a stuck human, not a topic. I want to open it for a weekly review and immediately see which individual customers have now explained their problem to us three or more times.
The main view is a ranked board of repeat contacters over a rolling thirty day window, and the window length should be adjustable from the UI. Build the list with Kustomer Search Customers to get customers active in the last thirty days, then for each one pull their conversations with Get Conversations by Customer and count them server side. Keep only customers with three or more conversations that started inside the window, and rank the board by contact count, breaking ties by the most recent contact first. Do not try to filter on conversation counts inside the search itself if that is awkward; pulling recently active customers and counting their conversations in the handler is the reliable path.
Counting rule, and this one matters a lot. Count only genuine new conversations, never one long thread. If a customer keeps replying inside a single conversation for three weeks, that is one contact, not three. Count distinct conversation records by their created date, and show each conversation's start date on the expanded row so a lead can sanity check the count without leaving the app.
Each row shows the customer's name and email, how many separate conversations they opened in the window, the span between their first and their latest contact written in plain language such as nineteen days, the subject line of each conversation, and whether anything of theirs is still open right now. Make the still open state visually obvious, since an open thread on a customer who has already contacted us three times is the most urgent thing on the board.
Opening a row lays that customer's threads out side by side, one column per conversation in date order, so a lead can literally see the same problem restated three different ways. Fill each column using Get Messages by Conversation for the back and forth and Get Notes by Conversation for the internal notes agents left behind, and use Get Conversation by ID for the status and assignment details on each thread. The internal notes are important context, because they usually show what support thought it had fixed.
Every row has a Diagnose this loop button that starts a background agent. The agent reads every one of that customer's conversations in the window, all the messages and all the notes, and works out what is actually still unresolved versus what support believed it had already resolved. It writes up its finding with direct verbatim quotes from the customer, a short account of what each previous attempt tried, and a recommended fix. It then posts that write up onto the customer's newest conversation using Create Note by Conversation, and the app shows the same write up in the expanded row for review. Show the agent's progress while it runs and store the finished diagnosis so it is still there on the next visit.
When a diagnosis points at a product or process defect rather than a one off mistake, a File in Linear action creates the issue. Let the lead pick the destination team from a picker populated by Linear List Teams, then use Create Issue with the diagnosis, the customer quotes, and a link back to the customer in Kustomer in the issue description. Store the mapping from customer to created issue in the app database so the row shows a filed badge with the issue identifier, and refresh the current state with Get Issue so the board shows whether engineering has started or shipped the fix.
Two more state rules. Skip customers whose repeat contacts are already covered by a filed issue, so the same person does not clog the board every week once we have acted on them, but still show them in a separate filed section with their issue status. And let a lead mark a loop as closed by hand once the customer has gone quiet, with the closed loops kept in their own view rather than deleted, so the team can see what it actually resolved. Persist the filed mappings, the stored diagnoses, and the closed markers in the app database.
One important constraint about Kustomer. Creating a message records an instance on the conversation timeline and does not deliver an outbound message to the customer, so this app must never try to reply to customers. Everything it writes stays internal, which means notes on conversations and nothing else.
What does this prompt do?
- Ranks the customers who opened three or more separate conversations in the last thirty days, showing how many times they came back, the span between their first and latest contact, what each one was about, and whether anything is still open.
- Opens a customer's threads side by side, with the internal notes attached, so a lead can see the same problem restated three different ways instead of reading three tickets in isolation.
- A Diagnose this loop button hands the whole history to an assistant that works out what is genuinely still broken versus what support believed it had already fixed, writes it up with the customer's own words and a recommended fix, and saves it as an internal note on their newest conversation.
- Files the ones that turn out to be real product or process defects straight to your engineering team, then remembers which customer produced which issue and keeps the status on the row up to date.
What do I need to use this?
- A Kustomer account, with permission to read customers and conversations and to add internal notes
- A Linear workspace, if you want to file defects from the board. The board still works on its own without it
- At least thirty days of support history in Kustomer, so there is something to rank
How can I customize it?
- Change the window from thirty days, or raise the bar from three conversations to four or five if your volume is high
- Choose which engineering team new issues get filed against, and what the issue title looks like
- Set how long a customer has to stay quiet before the board offers to close their loop
FAQs
What counts as coming back, exactly?
Will this send anything to the customer?
Do we have to use Linear?
Will the same customer keep showing up every week after we have already filed their issue?
How is this different from a report on our top ticket topics?
Who is this for?
Related templates
Open one board each morning that ranks the high value customers waiting on a reply by the revenue sitting behind their silence.
Open one desk each morning to see every account still in a trial, ranked by how much money is at stake against how little they have actually used.
Work every return, damage and warranty claim in one queue, with the order, the delivery date and a policy-backed recommendation already on screen.
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.
One place for sales and ops to request an NDA or vendor agreement, watch its status, and let legal launch the contract in a single click.
A board of the questions your buyers ask, showing where your pages land, which competitors show up instead, and what you lost since the last check.
Stop letting the same customer explain the same problem three times.
Put the people who keep coming back on one board, find out what is actually still broken, and file the fix.