# 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.

- Workflow type: agent
- Services: Zendesk, Miro, Slack Bot
- Categories: Customer Support, Product
- Published: 2026-08-07

## What it does

- 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 you'll need

- 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

## Prompt

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.

## How to customize

- 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

## FAQ

### Does this use the tags our agents already apply in Zendesk?

Deliberately not. Tags tend to be applied inconsistently from one agent to the next, so the themes here come from reading the subject and description of each ticket. Existing tags are treated as a weak hint at best and get overridden whenever the ticket text says something different.

### What happens to last week's board?

The same dedicated board is cleared and rebuilt every Monday, so you always open it to the current week rather than hunting through a pile of old boards. Nothing is lost, because the week over week comparison is recalculated from your tickets each run, not read back off the board.

### Will it cope with a busy week of hundreds of tickets?

Yes. Sticky notes are added to the board in batches, so a high volume week simply takes a few more passes to draw. Very long tails of one off issues get collected into a single Other frame so the board stays readable.

### Do we need a paid Miro plan?

A free plan works, though free and team plans limit how many boards you can have. Because this rebuilds one dedicated board each week instead of creating a new one, it stays well inside those limits.

### Can the readout go somewhere other than Slack?

The Slack message is the last step and easy to swap. You can point it at a different channel, send it as a direct message to a product lead, or drop that step entirely and just share the board link yourself.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-last-weeks-support-tickets-into-a-miro-affinity-map