Turn Typeform answers into color-coded Miro sticky notes

Every survey response lands on your research board as a sticky note, colored by satisfaction score and tagged by source, so the team can cluster feedback live.

Deterministic Code
TypeformMiroSlackProductCustomer SupportFeedback TriageNotifications & AlertsData Sync
PromptCreate

Whenever someone submits my customer research Typeform, add their answer to a fixed Miro research board as a sticky note, so the team can cluster feedback visually as it arrives instead of exporting a spreadsheet later. Trigger this on the Typeform webhook that fires on each new submission. Everything in this workflow is deterministic field mapping, a rating to color lookup, a position calculation, and a threshold check, so build it as code with no AI reasoning step.

Configure the Typeform form ID, the Miro board ID, the survey tag name, and the Slack channel as constants at the top of the workflow. Miro board IDs look like uXjVJ_fzYUs=, with URL-unsafe characters and a trailing equals sign, so always URL-encode the board ID when putting it into a request path. Getting this wrong is the most common reason these calls fail.

From the webhook payload, read the respondent's name, their company, their open text answer, and their satisfaction rating. Match these on the Typeform field refs or titles rather than on answer position, since reordering questions in the form would otherwise silently shift the mapping.

Work out where the note goes before creating it. Do not try to keep a counter between runs, because each run starts fresh and has no memory of the last one. Instead use Miro List Board Items on the research board, filtered to sticky notes, paging through with the returned cursor until it comes back empty, and count how many already exist. Call that count N. Place the new note at x = N modulo 6, multiplied by 220, and y = the floor of N divided by 6, multiplied by 220. That fills six notes per row, left to right, then starts a new row underneath, so notes never stack on top of one another and the board stays readable as responses come in.

Create the note with Miro Create Sticky Note on that board. The first line of the note body is the respondent's name and company, separated by a comma, for example "Jane Doe, Acme Corp". Their open text answer follows on the lines underneath. If the company answer is blank, just show the name rather than leaving a trailing comma.

Set the sticky note fill color from the satisfaction rating: red for a rating of 1 or 2, yellow for 3, and green for 4 or 5. If the rating is missing or is not a number, still create the note with the written answer, but use gray so it is visibly unrated, and skip the Slack alert for it. Losing a written answer because a rating was skipped would defeat the point of the board.

Then tag the note so every sticky is filterable by source. Miro tags are board-scoped and are meant to be created once and reused, not recreated per submission. Call Miro List Tags on the board, find the tag whose title matches the configured survey tag name, and attach that tag to the sticky note you just created using Miro Attach Tag to Item with the new note's item ID. Never call Create Tag when a matching tag already exists, or the board will fill up with duplicate tags that break filtering. Only if List Tags returns no match at all should the workflow create the tag a single time, so that every later run finds it through List Tags.

Finally, when and only when the rating is 1 or 2, post a short notification with Slack Send a Message to the configured channel. Keep it to a few lines: the respondent's name and company, the rating, the first couple of hundred characters of their answer, and a link to the board at https://miro.com/app/board/<boardId>/ so someone can click straight through. Ratings of 3 and above must not post anything, so the channel does not get spammed by every response.

One note on the trigger. Typeform's own API documentation warns that very recent submissions may not show up in the Responses API for around 30 minutes, and recommends webhooks for real-time delivery, which is why this is built on the submission webhook. If I would rather not configure a webhook on the form, the fallback is a cron schedule that calls Typeform Retrieve Responses on an interval and processes anything submitted since the last run, accepting that notes will appear in batches rather than instantly.

What does this prompt do?

  • Adds every new customer research survey response to your Miro board as a sticky note within seconds of it being submitted.
  • Puts the respondent's name and company on the first line of the note, with their open text answer underneath.
  • Colors each note by the satisfaction rating: red for 1 and 2, yellow for 3, green for 4 and 5.
  • Lays notes out in a neat grid so they never stack on top of each other, tags each one by survey source, and posts a Slack alert when an unhappy response comes in.

What do I need to use this?

  • A Typeform account and the customer research form you want to track
  • A Miro account, plus the research board where the notes should land
  • A Slack workspace and the channel that should hear about low scores
  • A satisfaction rating question and an open text question on the form
  • A tag already set up on the Miro board for this survey, so notes can be filtered by source

How can I customize it?

  • Change the color rules, for example treating a 3 as red if you hold a higher bar for satisfaction.
  • Adjust which answers appear on the note and how the name and company header line reads.
  • Move the alert threshold or send low-score alerts to a different channel, and change how many notes sit in each row of the grid.

FAQs

How quickly does a sticky note appear after someone submits?
Within seconds. The workflow runs the moment Typeform reports a new submission, rather than checking the form on a timer, so the board fills up live while research is still going on.
Will the sticky notes end up on top of each other?
No. Before adding a note, the workflow checks how many are already on the board and places the new one in the next free slot in a grid, filling left to right and then starting a new row.
What happens if someone skips the rating question?
The note is still created with their written answer so no feedback is lost. It gets a neutral color instead of red, yellow, or green, and it will not trigger a Slack alert.
Do I need a paid Miro plan for this?
A free Miro plan is enough to add sticky notes and tags to an existing board. Free and team plans do limit how many boards you can have, so this workflow reuses one research board you set up in advance rather than creating new ones.
Can I use this with a different survey tool?
This version is built around Typeform submissions. The same board layout, color rules, and Slack alert would work with another form tool, but the starting step would need to be swapped for whatever your form sends when someone responds.
Will my Slack channel get a message for every response?
No. Only ratings of 1 or 2 trigger a message, so the channel stays quiet unless someone is genuinely unhappy. Every response still lands on the board.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task
Weekly voice-of-customer report from surveys and support

Every Monday, last week's survey answers and support conversations become one themed report in Notion, with the top five themes posted to Slack.

Typeform
Intercom
Notion
+2
Agentic Task
Turn 5 star Yotpo reviews into a weekly marketing content queue

Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.

Yotpo
Notion
Slack
Agentic Task

Stop exporting survey results to a spreadsheet.

Let every response land on your Miro board, color-coded and ready to cluster, the moment it arrives.