Back to docs
API Reference

Miro + Koji: Take AI-Clustered Themes Straight Onto an Affinity Board

How to move Koji AI interview themes and verbatim quotes into Miro as sticky notes, and which parts of affinity mapping are now redundant.

The 60-second answer

Koji has no native Miro app and emits no outbound webhooks, so nothing appears on a board by itself. The working pattern: pull the themes and grounded quotes from a finished Koji study, then bulk-create sticky notes on a Miro board through Miro's REST API, one sticky per quote, coloured or tagged by theme. Each sticky carries a link back to the transcript it came from.

The more important question is what you should still be doing on the board. Koji has already produced the codes and clustered them. Re-doing that by hand as a team ritual costs a day and usually reproduces the same clusters. Keep the board for the part machines are bad at: arguing about what the clusters mean and deciding what to do.

Why put research on a board at all

Miro says it is trusted by over 90 million users worldwide, and in research teams it plays one specific role: it is where a group looks at evidence together. That is a genuinely different activity from analysis. Analysis asks what did people say. A workshop asks so what, and what do we do.

The traditional affinity-mapping session conflated the two because it had to. Someone had to read 30 transcripts, write a sticky per observation, and physically group them, and the only practical time to do that was together in a room. That constraint is gone.

What Koji already did for you

Before you plan a synthesis workshop, know what is already finished:

  • Open coding. Each open-ended answer is coded into short themes, each grounded in specific messages.
  • Theme clustering. Codes are clustered into a canonical theme set when the study report is generated - the cross-interview pass that a wall of stickies is usually trying to perform.
  • Quote extraction. Notable verbatim quotes are pulled out with their supporting message identified.
  • Structured answers. Typed questions return machine-readable values alongside the conversation.

What the board is still for

  • Disagreeing productively. Two people reading the same cluster can reach different conclusions. That argument is valuable and it needs a shared surface.
  • Relating themes to the product. Mapping a cluster onto a journey stage or a screen is design work, not coding.
  • Deciding. What do we change, what do we test next, what do we ignore for now.
  • Spotting what is missing. A board makes an absence visible in a way a list does not.

Setup: Koji to Miro in four steps

Step 1 - Export the themes and quotes

Pull the finished study through the Koji API, or use koji_export_data and koji_get_report from the MCP server if you would rather have an assistant assemble the material. For a per-interview build, GET /api/v1/interviews/{id} with an Authorization: Bearer API key returns the analysis object containing themeTags, extractedData.quotes and structuredAnswers. The key needs the interview:read permission and an Interviews plan or higher.

Step 2 - Bulk-create the sticky notes

Miro's REST API creates sticky note items on a board with a position, content and style. Create one sticky per quote rather than per interview, and set the sticky colour from the theme tag so clusters are visible before anyone touches them. Lay them out on a simple grid by theme; the team will rearrange anyway, and a tidy starting grid beats a pile.

Two practical notes. Miro rate-limits writes, so create items in batches with a small delay rather than firing hundreds of parallel requests. And keep the sticky text short - a sticky holding a 60-word quote is unreadable at board zoom. Put the sharp fragment on the sticky and the full quote in the item's link target.

Step 3 - Keep the quote attached to the sticky

This is the step that determines whether the workshop output is usable afterwards. Every sticky should carry a link back to the transcript it came from. Miro stickies support hyperlinked text, so make the sticky itself clickable.

Without that link, a photo of the finished board is a set of assertions with no provenance, and three weeks later nobody can answer who actually said this? With it, the board stays auditable, and the cluster someone challenges in a roadmap review can be defended in one click.

Step 4 - Run the workshop, then write back

Run the session on the pre-populated board. Afterwards, the decisions and the reframed clusters belong somewhere durable - a research repository page or the study report - not only in a Miro frame that will be buried under the next workshop.

How Koji handles this

  • Every sticky can be traced to something a real person said. Extracted themes and quotes each carry a verbatim slice of a respondent message, copied character for character in the participant's original language, filler words and all. Items whose supporting quote cannot be matched back against the transcript are dropped server-side, so a board built from Koji output cannot contain a fabricated quote.
  • Coding happens per interview, clustering happens across the study. Open codes are produced as each interview completes; the canonical theme set is assembled at report time. You arrive at the workshop with the analysis done.
  • All six structured question types come through - open_ended, scale, single_choice, multiple_choice, ranking and yes_no - so a board can put the distribution from a ranking or scale question next to the quotes explaining it.
  • Quality scores let you populate the board selectively. Each interview carries a 1-5 score with a relevance, depth and coverage breakdown, so a board can be built from strong conversations only.
  • Voice and text interviews produce the same analysis shape, so a board can mix both without special handling.

Common mistakes

Re-doing the coding the AI already did

The most expensive mistake on this page. A team that spends a day transcribing and writing stickies is paying for work that is already complete, and arriving at the interesting conversation tired. Start from the clustered themes and spend the day on meaning.

Losing traceability at the sticky-note step

Covered above. A sticky without a link back is an orphan opinion. This is the single highest-value five minutes of setup in the whole integration.

Treating the board as the record

Boards get buried. Write the conclusions back into a repository page or the study report, and keep the board as the working surface it is.

Putting whole quotes on stickies

Unreadable at zoom. Fragment on the front, full quote behind the link.

Governance

A Miro board is frequently shared more widely than a research tool, sometimes by public link. Verbatim quotes can identify a participant even without a name attached, particularly in B2B research with small customer bases. Decide whether stickies carry attribution before you generate them, prefer an account-level identifier over a person's name, and check the board's sharing setting before the session rather than after.

Frequently asked questions

Does Koji have a native Miro app?

No. There is no Koji app in the Miro marketplace and no outbound webhook from Koji. You pull the themes and quotes from the Koji API or the MCP server, then create sticky notes through Miro's REST API from your own script or a no-code tool.

If Koji already clusters themes, is affinity mapping obsolete?

The mechanical half is. Coding transcripts and grouping codes is done for you when the study report is generated. The judgement half is not: deciding what a cluster means, relating it to the product, noticing what is absent and agreeing what to do are still best done by a group looking at the evidence together.

One sticky per interview or per quote?

Per quote. A sticky is a single observation. An interview containing five distinct observations becomes five stickies, which is what makes clustering and re-clustering on the board meaningful.

How do I keep the board auditable after the workshop?

Give every sticky a hyperlink back to the transcript it came from. Miro sticky notes support hyperlinked text, so the sticky itself becomes clickable, and any cluster challenged later can be traced to the conversation that produced it in one click.

Will I hit Miro rate limits creating hundreds of stickies?

You can. Miro rate-limits write operations, so create items in batches with a short delay between them rather than firing everything in parallel, and handle retries. Building a board of a few hundred stickies is routine; doing it in one burst is not.

What do I need on the Koji side?

For the API route, an API key with the interview:read permission and an Interviews plan or higher. If you would rather not write code, the MCP server exposes tools such as koji_get_report and koji_export_data so an AI assistant can assemble the theme and quote list for you.

Related Resources