.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.
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.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
copy_from | string | ✅ | Die ID des Quell-Boards, das kopiert werden soll |
options | object | Optionale Einstellungen (siehe unten) |
Options
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
name | string | Name des neuen Boards |
description | string | Beschreibung des neuen Boards |
teamId | string | Team-ID, in das das Board kopiert wird |
policy | object | Zugriffsrichtlinien 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.
| Parameter | Typ | Beschreibung |
|---|---|---|
boardId | string | Die ID des Boards |
name | string | Der 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()).