These docs are for v1.0. Click to read the latest docs for v2.0.

Web-plugins overview

Web-plugins are a fast and easy way to create your own tools within Miro. With web-plugins you can add buttons to toolbars, render custom views in modals and sidebars, and modify objects on the board.

Web-plugins uses client-side technologies like HTML, JavaScript, and CSS. Server-side technologies like NodeJS or Java are not required for building web-plugins. You can use a tool or service of your choice to learn, build, and host apps.

Web-plugins are JS scripts that run on boards in isolated iframes. The JS code of a web-plugin communicates with the Miro application via PostMessage using the Miro SDK.

📘

SDK

<script src="https://miro.com/app/static/sdk.1.1.js"></script>

Web-plugins SDK Reference

See the SDK Reference here.

Installation and authorization

Web-plugins can change the board content on behalf of the current user. A user must authorize a web-plugin via OAuth2.

For more details, see Web-plugin Authorization and Share your app.

Scopes

The permissions and capabilities of a web-plugin are defined by scopes, just as with the REST API. You must enable the required scopes in your application settings. When you enable a scope, each user has to grant your app the associated permissions.

boards:read — Read boards the user has access to

miro.board.widgets.get()
miro.board.comments.get()
miro.board.groups.get()
miro.board.selection.get()
miro.board.selection.selectWidgets()

boards:write — Modify boards the user has access to

miro.board.widgets.create()
miro.board.widgets.update()
miro.board.widgets.transformDelta()
miro.board.widgets.deleteById()
miro.board.widgets.bringForward()
miro.board.widgets.sendBackward()