Execute major Miro migrations — migrate boards between teams/orgs,
export board content to external systems, import data into Miro,
and re-platform from competing whiteboard tools using REST API v2.
Trigger with phrases like "migrate miro", "miro migration",
"export miro boards", "import to miro", "miro data migration".
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Instruções da origem · Visualização somente leitura
name
miro-migration-deep-dive
description
Execute major Miro migrations — migrate boards between teams/orgs,
export board content to external systems, import data into Miro,
and re-platform from competing whiteboard tools using REST API v2.
Trigger with phrases like "migrate miro", "miro migration",
"export miro boards", "import to miro", "miro data migration".
allowed-tools
Read, Write, Edit, Bash(npm:*), Bash(node:*)
version
1.7.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
["saas","miro","migration","data-export"]
compatibility
Designed for Claude Code
Miro Migration Deep Dive
Overview
Comprehensive guide for migrating Miro boards between teams and organizations, updating
from REST API v1 to v2, and re-platforming from competing whiteboard tools (Lucidchart,
FigJam). Covers board content export with cursor pagination, bulk import with rate-limit
aware queuing, widget API changes between v1 and v2, and the new app framework patterns.
Typical migration scope: dozens to thousands of boards with connectors, tags, and members.
Prerequisites
Before applying this guide, confirm you have a Miro app or workspace appropriate to the task, a dedicated non-production board where changes can be tested safely, and only the OAuth scopes or administrative access the procedure requires.
Migration Assessment
// Scan current integration for deprecated v1 patterns and board inventoryasyncfunctionassessMigration(teamId: string) {
const boards = awaitmiroFetch(`/v2/boards?team_id=${teamId}&limit=50`);
let totalItems = 0;
for (const board of boards.data) {
const items = awaitmiroFetch(`/v2/boards/${board.id}/items?limit=1`);
totalItems += items.total ?? 0;
}
console.log(`Team ${teamId}: ${boards.data.length} boards, ~${totalItems} items`);
console.log('API version: v2 (v1 deprecated 2024-01)');
console.log();
{ : boards.., totalItems };
}
# Delete the target board entirely (preserves source untouched)
curl -X DELETE "https://api.miro.com/v2/boards/${TARGET_BOARD_ID}" \
-H "Authorization: Bearer $MIRO_TOKEN"# Or delete only imported items by ID list (saved during import)cat imported-ids.txt | whilereadid; do
curl -X DELETE "https://api.miro.com/v2/boards/${TARGET_BOARD_ID}/items/${id}" \
-H "Authorization: Bearer $MIRO_TOKEN"doneecho"Rollback complete — source board unchanged"
Migration Checklist
Audit source boards: count items, connectors, tags, members
Export all source boards to JSON backup files
Create target boards in destination team/org
Run import with rate-limit aware queuing
Validate item counts (95%+ threshold)
Validate connector integrity (90%+ threshold)
Re-share boards with correct member permissions
Update any external links pointing to old board URLs
Run user acceptance testing with board owners
Decommission source boards after 30-day grace period
Instructions
Use the ordered procedures and code samples in this guide as a sequence: begin with the prerequisites, apply the configuration or operational step for the target environment, then perform the documented validation or cleanup before proceeding. Keep credentials in the documented secret store; never hard-code them in source.
Output
Following this guide produces the Miro integration outcome for its topic—configuration, validation evidence, operational recovery, or a documented migration result. Record command output and relevant identifiers so a failed step is traceable.
Examples
Start with the smallest applicable command or code example in the relevant section, using a dedicated test board and non-production credentials. Confirm the expected response or validation result before applying the pattern to production.