Push your analysed quotes straight onto a Miro board — a first-draft research wall you can rearrange with your team, instead of building it sticky by sticky.
One column per section, then one per theme — the same left-to-right order as the report's Quotes page. Pink headers, yellow quote stickies, stacked in session-then-time order. Bristlenose creates a new board every time and never touches your existing ones.
Miro won't let an outside app write to your boards until you grant it permission. There are two ways to do that. The Connect button is one click and needs no setup — use it if you can. The manual key route involves creating a small Miro “app” and copying a token; it's a five-minute developer detour, and it's the part most researchers find fiddly. We've written it out step by step below so you don't have to guess.
boards:read and boards:write. The setup screen asks for these; that's all
Bristlenose needs.In the report toolbar, choose Export → Send to Miro → Connect to Miro. Your browser opens Miro's permission screen, you click Allow, and you're returned to Bristlenose — done. No app to create, no token to copy. Bristlenose stores the connection securely in your system keychain and refreshes it automatically.
This uses Miro's standard OAuth 2.0 sign-in (with PKCE — no shared secret). If your org blocks third-party app authorisation, fall back to Option B. How Miro OAuth works ↗
If you can't use the Connect button, create a personal Miro app once and paste its token. You only do this a single time.
Go to miro.com/app/settings/user-profile/apps (Profile settings → Your apps), or the Miro Developer dashboard.
Click Create new app. Give it a name like “Bristlenose export” and associate it with the team whose boards you'll write to. Miro: build your first app ↗
In the app's Permissions, enable boards:read and
boards:write. Leave everything else off — Bristlenose needs nothing more.
Click Install app and get OAuth token, choose your team, and confirm. Miro shows you an access token — a long string. Copy it. Miro: access tokens ↗
Treat this token like a password — it can read and write your boards. Don't paste it into chats or commit it to a repo.
Either paste it into Export → Send to Miro → Paste token in the report, or from a terminal:
bristlenose configure miro
Bristlenose validates the token immediately (a harmless read of one board) and stores it in your system keychain. If it's wrong or missing a scope, you'll be told exactly which.
Bristlenose runs entirely on your machine — but sending a board to Miro
uploads the selected quotes to Miro's servers, where your team can see them. Miro becomes a
data sub-processor for that content. Bristlenose shows you exactly how many quotes will be sent and
asks you to confirm before anything leaves your laptop. Hidden quotes are never included. See
SECURITY.md for the sub-processor note.
| You see | What it means |
|---|---|
| Invalid or expired token | The token was mistyped, or it expired. Create a fresh one (Option B) or reconnect (Option A). |
| Token lacks required scopes | The app is missing boards:write.
Re-open the app's Permissions, enable it, reinstall, and copy the new token. |
| Only 3 boards editable | A free developer team keeps just the three most recent boards editable. Use a paid team, or delete old test boards. Free plan limits ↗ |
| Export paused / retrying | Large boards can hit Miro's rate limit; Bristlenose backs off and resumes automatically. Miro rate limits ↗ |