Spot recurring customer complaints in Dixa and size them

Pick a date range and see what customers are actually complaining about, grouped into themes with volume, trend, and satisfaction scores.

App
DixaLinearProductCustomer SupportFeedback Triage
PromptCreate

I want an app that my support lead and I sit down with every couple of weeks to work out what customers are actually complaining about in Dixa. It is a shared review surface rather than an automation: nothing runs on a schedule, we open it together, pick a period, and work through what comes back.

The main screen starts with a date range picker, defaulting to the last 14 days. When a period is selected, the app uses the Dixa Search conversations with filters operation to pull every conversation in that window, and does the same for the immediately preceding window of equal length so we have a baseline to compare against. For each conversation in the current window it also calls List ratings for a conversation and keeps the satisfaction score where one exists. Let me optionally narrow the pull by queue, channel, or existing tag before I analyze anything.

Below the picker is the theme board: one card per theme showing the theme name, a one or two sentence description, the number of conversations in it, the change against the previous period as both a count and a percentage with a New label when there is no prior record, and the average satisfaction score across that theme's conversations along with how many ratings it is based on. Let me sort by volume, by lowest satisfaction, or by a combined priority that surfaces the themes that are both high volume and low rated, which is the view we care about most. Clicking a card opens a detail view with the full description, the representative quotes, and the list of underlying conversations showing subject, date, rating, and a link back into Dixa.

An Analyze this period button starts a background agent. The agent reads the actual transcripts using List messages for the conversations in the window, clusters them into a small set of named themes, roughly five to twelve, and for each theme writes a short plain-language description and picks two or three representative customer quotes as evidence. Quotes must be taken verbatim from the customer's own messages, not from agent replies, and each quote records the conversation it came from. The agent records which conversation ids belong to each theme and writes all of this back into the app, so the theme board renders from stored results rather than from a live run. Show progress while it works, and keep the previous analysis on screen until the new one is ready.

Before it clusters, the agent must read the app's record of themes filed in previous sessions and match its new groupings against them by meaning rather than by exact name, so that checkout errors and payment failures at checkout are recognized as the same theme. Any theme that was already filed is never proposed as a new theme to file. It appears instead in a separate Already tracked section showing the existing issue, this period's updated conversation count, and whether it is growing or shrinking. This is the rule I care most about: we run this every couple of weeks and I do not want a duplicate issue created every time.

For the trend numbers, prefer the stored analysis of the previous period when we have already run the app on it. When there is no stored prior analysis, have the agent also assign the previous window's conversations to the themes it just named, so even the first run shows a real comparison instead of marking everything as new.

Each theme card carries three actions. File to Linear uses Create Issue to open an issue in a team I choose, using List Teams to populate the team picker, with the theme name as the title and a description containing the theme summary, the representative quotes, the conversation count, the average satisfaction score, and the date range reviewed. Once the issue exists, the app stores its key, url, who filed it, and when, marks the card as filed with a link to the issue, and drops that issue link onto every conversation in the theme using Add internal note so agents working the queue can see the fix is tracked. Tag these conversations applies the theme name across the underlying conversations using Bulk tag conversation. For themes in the Already tracked section, replace the file button with a Post update action that uses Add Comment to Issue to append this period's count and trend to the existing issue.

Persist two things. Per period, store the analyzed themes with their descriptions, quotes, conversation ids, counts, and ratings, so reopening a period we already looked at shows the stored result instantly with a re-analyze option. Across periods, store the filed-theme registry that powers the deduplication described above. Filing, tagging, and noting are shared team state visible to everyone who opens the app, each stamped with the name of whoever took the action. Ask for confirmation before tagging or adding notes, since those write into Dixa where agents will see them. Dixa rate limits requests, so page through conversations and fetch ratings and messages at a steady pace rather than firing everything at once, and show the user roughly how far along the analysis is.

What does this prompt do?

  • Choose any date range and see that period's support conversations grouped into named themes, with the number of conversations sitting behind each one
  • Compare every theme against the previous period so you can tell what is growing, what is fading, and what is brand new
  • See the average satisfaction score next to each theme, so the ones that are both high volume and badly rated rise to the top
  • File a theme to your product team's tracker in one click, tag the underlying conversations, and leave a note on each one pointing to where the fix is tracked
  • Skip themes you already filed in an earlier session, so a recurring problem never turns into a pile of duplicate issues

What do I need to use this?

  • A Dixa account with administrator access, so the app can read conversations and ratings and apply tags
  • A Linear workspace where your product or engineering team tracks work
  • A review rhythm the two teams agree on, for example a session every two weeks

How can I customize it?

  • Change the default date range to match your review cadence, whether that is weekly, every two weeks, or monthly
  • Narrow the conversations pulled in to a single queue, channel, or existing tag, for example only email conversations or only one product line
  • Pick which Linear team new issues land in and how much detail goes into the issue description
  • Adjust how many themes the analysis produces, so you get a tight shortlist or a fuller picture

FAQs

Do our agents have to tag conversations correctly for this to work?
No, and that is the point. The themes are worked out by reading the actual conversation transcripts, so you are not dependent on agents remembering to pick the right tag at the end of a busy shift. Tagging becomes something the app does for you once a theme is confirmed, rather than something you rely on up front.
Will it create duplicate issues if we run it again in two weeks?
No. The app remembers every theme you filed in a previous session, and the analysis matches new groupings against that history by meaning rather than exact wording, so a theme that comes back under slightly different phrasing is still recognized. Themes you already filed show up in a separate already tracked section with a link to the existing issue and this period's updated numbers.
How far back can we look?
Any range you pick. Longer windows pull in more conversations, so a quarter takes noticeably longer to analyze than two weeks. Most teams settle on a window that matches how often they meet, which keeps each session focused on what changed since last time.
Can we see the actual customer wording, not just a label?
Yes. Every theme carries two or three representative quotes taken straight from what customers wrote, each linked back to the conversation it came from, so you can always check the evidence behind a theme before you act on it.
Does anything change in Dixa without us asking?
No. The app only reads your conversations and ratings until you press a button. Tagging conversations and adding notes are deliberate actions you take on a theme you have already reviewed.
Who is this for, support or product?
Both, at the same time. It is built as a shared screen for a support lead and a product lead to sit in front of together, where support brings the volume and satisfaction picture and product decides what is worth fixing. Everything filed, tagged, or noted is visible to everyone who opens the app.

Related templates

Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Close the loop between Front tickets and Linear bug fixes

See every customer waiting on a bug fix, file the ticket without creating a duplicate, and tell them the moment engineering ships it.

Front
Linear
App
Open a Heroku release war room the moment production looks wrong

See every recent deploy across all your Heroku apps in one timeline, then roll back, restart, or file an incident without leaving the screen.

Heroku
GitHub
Linear
App
Find the themes Help Scout tags miss and file them in Linear

Pick a date range, see which support topics are climbing fastest, read the real customer threads behind them, and file the worst ones as tickets.

Help Scout
Linear
App
A Hacker News mention inbox your team actually works through

See every Hacker News story and comment that mentions your product or your competitors, mark each one new, needs reply or handled, and stop losing threads.

Hacker News
Slack Bot
Linear
+1
App
Morning data freshness board for your BigQuery tables

One grid of every table you track, when it last landed, and what broke, with stale tables pinned to the top and an agent that explains why.

Google BigQuery
Linear
Slack Bot
App

Stop guessing which customer complaints are worth fixing.

Turn a date range of support conversations into a ranked list of real themes, sized by volume and satisfaction, ready to hand to your product team.