Turn last week's support tickets into a Miro affinity map
Every Monday morning, last week's support tickets become a themed Miro board, so your product team can see what customers actually complain about.
Every Monday at 7am, build me an affinity map in Miro from last week's support tickets, so product can see what customers are actually complaining about instead of reading a ticket queue. Use a cron trigger for the Monday 7am schedule.
Start by pulling the tickets. Use the Zendesk Search Tickets action with a query that returns every ticket created in the previous seven days, along the lines of type:ticket created>[the date seven days ago]. Page through the whole result set rather than stopping at the first page. For each ticket, capture the ticket number, subject, description, current status, and whether it was escalated. If the search response does not carry the full description, fall back to Show Ticket for that individual ticket.
Group the tickets into themes yourself by reading the subject and description of each one. Do not trust the existing Zendesk tags: agents apply them inconsistently, so treat them as a weak hint at most and override them whenever the ticket text says otherwise. Aim for roughly five to ten themes that a product manager would recognise, name each theme in plain language such as Billing and invoices or Mobile app crashes, and collect genuinely one off tickets into a final theme called Other rather than creating a frame for every single ticket.
To get week over week movement, run a second Zendesk Search Tickets query covering the seven days before that window, so days eight to fourteen back, and sort those tickets into the same set of themes. For each theme work out the change in ticket count against the previous week, so the board can show whether it is growing, shrinking, or flat. Re-querying Zendesk is more reliable than trying to read numbers back off last week's board.
Rebuild one dedicated Miro board each week rather than creating a new board every Monday, because Miro workspaces have board quotas and creating boards indefinitely will eventually fail. Before drawing anything, use List Board Items to find every item left from the previous run and remove them with Delete Item, so the board only ever shows the current week.
Create one frame per theme with Create Frame, laid out left to right in descending order of ticket volume so the highest volume theme sits leftmost and Other sits last. Title each frame with the theme name and its ticket count. Size each frame so its sticky notes fit comfortably and leave a consistent gap between frames.
Fill each frame with sticky notes, one per ticket, using Create Items in Bulk. Each sticky shows a short paraphrase of the customer's problem in your own words plus the ticket number, for example: Card declined on renewal, #48213. Set each sticky's parent to its theme frame and position them in a tidy grid inside that frame. Create Items in Bulk accepts at most 20 items per request, so batch the calls and keep going until every ticket has a sticky. Colour a sticky red when the ticket is still unresolved, meaning any status other than solved or closed, or when it was escalated. Use a neutral colour such as yellow for everything else.
Add a Create Text block across the top of the board, above the row of frames, carrying the total ticket count for the week, the three largest themes with their counts, and how each of those moved versus the previous week, for example: Billing and invoices: 34, up from 21. Set the font size noticeably larger than the sticky notes so it reads as a headline rather than another note.
Finish by posting to Slack using the Slack Bot Send a Message action. Include the board link and a two sentence readout naming the biggest theme, the sharpest week over week increase, and how many tickets are still unresolved.
If no tickets were created in the window, skip the board rebuild entirely and just post a short Slack message saying there were no tickets last week.
What does this prompt do?
- Reads every support ticket from the past seven days and groups them into themes based on what customers actually wrote, not the tags your agents applied
- Builds a board with one frame per theme, highest volume on the left, and a sticky note for every ticket showing a short paraphrase of the problem and its ticket number
- Colors unresolved and escalated tickets red, so the themes that are actually hurting stand out at a glance
- Adds a headline at the top of the board with the week's total, the three biggest themes, and how each one moved versus the week before, then posts the link to Slack
What do I need to use this?
- A Zendesk account with permission to read tickets
- A Miro account, plus one board you are happy to have rebuilt from scratch each week
- A Slack workspace and a channel for the Monday readout
How can I customize it?
- Move the schedule to whenever your product review happens, such as Friday afternoon instead of Monday at 7am, or widen the window from seven days to a fortnight
- Narrow which tickets count, for example only one brand, product area, or support group
- Change how many themes get their own frame before the long tail is collected into an Other frame, and which colour flags a ticket as still needing attention
FAQs
Does this use the tags our agents already apply in Zendesk?
What happens to last week's board?
Will it cope with a busy week of hundreds of tickets?
Do we need a paid Miro plan?
Can the readout go somewhere other than Slack?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop reading the ticket queue to find out what customers want.
Get last week's support tickets grouped into real themes on a board your product team will actually look at, ready before Monday standup.