Turn last week's support tickets into a Miro affinity map

By General Input

Every Monday morning, last week's support tickets become a themed Miro board, so your product team can see what customers actually complain about.

Integrations

  • Zendesk
  • Miro
  • Slack Bot

Type

Agentic Task

Categories

  • Customer Support
  • Product

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them