Skip to main content

.MIRO

Mit dem MiroService (RAGAI.MIRO) kannst du Miro-Boards direkt aus dem Bot heraus kopieren und aktualisieren. Das ist nützlich für kollaborative Szenarien, bei denen jeder Nutzer ein eigenes Board erhalten soll – z. B. in Workshops, Trainings oder Brainstorming-Sitzungen.

Voraussetzung

Der Bot muss eine konfigurierte Miro-MCP-Integration besitzen. Beim ersten Zugriff wird der Nutzer automatisch zur Miro-Authentifizierung weitergeleitet, sofern noch keine Autorisierung vorliegt.


.copyMiroBoard(copy_from, options?)

Erstellt eine Kopie eines bestehenden Miro-Boards. Damit kannst du z. B. ein Vorlagen-Board für jeden Nutzer individuell duplizieren.

ParameterTypPflichtBeschreibung
copy_fromstringDie ID des Quell-Boards, das kopiert werden soll
optionsobjectOptionale Einstellungen (siehe unten)

Options

EigenschaftTypBeschreibung
namestringName des neuen Boards
descriptionstringBeschreibung des neuen Boards
teamIdstringTeam-ID, in das das Board kopiert wird
policyobjectZugriffsrichtlinien für das neue Board

Rückgabewert: Promise<any> — Das erstellte Board-Objekt

// Board kopieren
const neuesBoard = await RAGAI.MIRO.copyMiroBoard("uXjVNaBC123=");
console.log("Board-ID:", neuesBoard.id);
// Board mit eigenem Namen kopieren
const board = await RAGAI.MIRO.copyMiroBoard("uXjVNaBC123=", {
name: `Workshop-Board – ${RAGAI.loggedInUser?.metadata?.name}`,
description: "Individuelles Board für den Workshop"
});

.updateMiroBoard(boardId, name)

Aktualisiert den Namen eines bestehenden Miro-Boards.

ParameterTypBeschreibung
boardIdstringDie ID des Boards
namestringDer neue Name für das Board

Rückgabewert: Promise<{ status: "ok" }>

await RAGAI.MIRO.updateMiroBoard("uXjVNaBC123=", "Ergebnis-Board – Runde 2");

Vollständiges Beispiel

Ein Workshop-Bot, der jedem Teilnehmer ein eigenes Miro-Board erstellt:

await RAGAI.WAITFOR.initialIdle();

const userName = RAGAI.loggedInUser?.metadata?.name || "Teilnehmer";

// Prüfen, ob der Nutzer bereits ein Board hat
const vorhandenesBoard = await RAGAI.KEYVAL.get("miro-board-id");

if (vorhandenesBoard) {
await RAGAI.MSG.botMessage(`Dein Board ist bereit: https://miro.com/app/board/${vorhandenesBoard}`);
} else {
await RAGAI.CARDS.loading("Dein persönliches Board wird erstellt...");

const board = await RAGAI.MIRO.copyMiroBoard("uXjVNaBC123=", {
name: `Workshop – ${userName}`
});

await RAGAI.KEYVAL.set("miro-board-id", board.id);
RAGAI.CARDS.removeLoading();

await RAGAI.MSG.botMessage(`Dein Board ist bereit: https://miro.com/app/board/${board.id}`);
}

Hinweise

  • Die Board-ID findest du in der URL eines Miro-Boards: https://miro.com/app/board/{BOARD_ID}/.
  • Das Kopieren kann je nach Board-Größe einige Sekunden dauern.
  • Zeige dem Nutzer während des Kopierens einen Ladezustand an (RAGAI.CARDS.loading()).