Discuss everything related to Miro API, SDK, embedding and Miro Platform apps development.
Recently active
I’m currently trying to create images on a Miro board using the SDK. I have the images stored as base64 data URLs. But it seems the method isn’t accepting that format. Here the code I’m using: miro.board.widgets.create({ "type": "image", "url": "data:image/png;base64,iVBORw0KGgoAA..."})The error message I get: Error: 'url' field is required for ImageWidgetDoes the method only accept regular url’s? I wasn’t able to find an answer in the docs.
Noob question here. I’d love to build some semantic “smarts to my use of miro. For instance: When I move a sticky Note (or some other shape inside of a column, shape with a label of developmentThen my web plugin would tag the sticky note as being in development and the current date
I would like to create cards using API and then make it ‘jira cards’ so that they can be tracked later on. Is this possible?I’ve checked how jira cards look like using api, but it seems that there are no custom fields or any metadata which would point jira plugin to related jira issue.Is there any way to manipulate jira plugin via api?
Hi there,the following code works great for me.wis = await miro.board.selection.get()text = wis[0].plainTextconsole.log(text)Now I would like to get the dates when the widget (sticker) was created and which date it has been last modified.I can’t find the correct documentation on this topic. Can someone help me?Kind regardsAustin
Hi,I initially posted this topic in the Ideas forum, but I don’t think it was appropriate as the Ideas forum seems more oriented toward end-user new features. This is about a web-plugin feature, and maybe there already exists a solution or workaround, so I’m reposting it here, slightly reworded. Sorry for the duplication.--------------------------------I’m looking for a way to display “toolbar panels”, i.e. small panels on the right of the toolbar, that display options for the selected tool, like the ones that are displayed when selecting the Pen tool, Shape tool, Frame Tool, etc. For now, miro.board.ui allows to display a library (.openLibrary) or a sidebar (.openLeftSidebar), but they are rather bulky for some simple use cases, and one cannot decide their size.Actually, it should be possible to decide of the height and width of the toolbar panel, as the example above they may appear in different sizes -- e.g. something like openToolbarPanel(“my-toolbar-panel.html”, { width: “56px”, h
Hi,we’re looking into extending the functionality of the current cards on Miro.Firstly, I’m a simple Miro user, and have no idea of how to develop an app/ add-in, how to work with APIs, SDKs or whatsoever, all of that is cryptic to me. And that will stay so because I don’t need to.So I’m looking for someone who could develop an extended card function we can use.Basically I want to create a set of cards (think board game) which I can put on a Miro board. They have two sides: the front side has an image, a single sentence, and possibly a colour code (to group cards) – very similar to the existing card functionality.The back side is rich-text/ rich-media, containing text, tables, links, images, maybe videos, … (the default card functionality allows for bold/ italic text, for lists, and links, but nothing more, which is insufficient).It would be lovely if it created the impression that the card is flipped over, but just “expanding” it would work, too. It’s just important that I can fully c
Users use an installation link to install the plugin. How do I get an access token to use for the REST API?The SDK only offers `miro.getIdToken`, but not an accessToken. Use CaseI have a plugin that can drag & drop elements into the Miro board. Users can purchase additional elements to drop. Therefore, I have a backend that keeps track of user purchases.Web SDK initializes plugin. I use `miro.getToken()` (deprecrated) in the Web SDK to retrieve a token. I make an API call to the backend, using this token. My backend uses https://api.miro.com/v1/users/me to retrieve the e-mail address. I cross-reference the e-mail with the purchases in the web-shop to unlock purchased products for this user (*)With the deprecation of `getToken()`, I cannot access the REST API anymore. The new idToken returns 401 Unauthorized.*) Actually , this is a bit different, but doesn't matter for this context.
I’m making an app where dropping a card on top of a shape object needs some functions to be called, so I want to catch when cards are moved, I tried using “WIDGETS_TRANSFORMATION_UPDATED” but it doesn’t give coordinates, I’ve tried getting the common ‘dragend’ on document and it did no go well either, any suggestions would be greatly appreciated.
Hello,We are looking to integrate creating and displaying MIRO boards in SharePoint Online. It looks like MIRO doesn’t allow cross domain REST calls(CORS security) from the browser. We are looking to create a web application in Azure to be a proxy. Is there any Azure articles/apps already created for MIRO proxies that can help us get started? Thank you,Mike
When using `Editable boards for not registered users`, when I click on “Create Board”, I am getting an alert message saying “miro.com says Something went wrong” and in my console I get 2 errors`DOMException: Failed to execute 'postMessage' on 'Window': Response object could not be cloned.``Uncaught (in promise) DOMException: Failed to execute 'postMessage' on 'Window': Response object could not be cloned.` It works fine for users that have already registered with Miro. I have attached the necessary screenshots below.Error when clicking on “Create Board”Code for opening the board picker
Hi.I need to extract the names of cards from a board programmatically.Been reading your REST API documentation.Am confused about how to generate the access token.We use Azure AD as our Authorisation Server.Do you have some really simple examples of how to do this?Many thanks.Dave.
Hello, I'm developing an App but I have to test it by using an endpoint that is just available for Paying accounts. Is there any developer account for this case? Cheers
I managed to upload the logo of the board via the picture endpoint (https://developers.miro.com/reference#create-or-update-picture). How can I upload an image to the board itself? Use case: We want to upload our logo via the API when creating new boards.
Hi, As per documentation `https://api.miro.com/v1/boards/id/share` requires array of emails Array of emails of users who you want to invite to the board. These users can be registered or non-registered.When I try with a non-registered user it gives the error ‘user is not in the team’. Why is it so? Can’t we invite someone who is not in the team even if it’s a public shared board? If we need to do this, should we initially hit the invite to team endpoint & then call this endpoint. Response: 400 "{ "status" : 400, "code" : "userIsNotInAccount", "message" : "User is not in account", "type" : "error" }"
Hi all,We have an enterprise plan with Miro, and we want to use both chat and video with our guest users. We are planning to integrate Miro with ServiceNow, create a board via REST API, and then sharing the link with our users so they can share a whiteboard session including chat & video.Is it possible to use both chat AND video with guest users, if you have an enterprise plan? Also, is it possible to use some sort of templating for the boards you create? Like adding some text, or welcoming message on the board when it opens? Best regards,P
Has anyone else tried using libraries with the create-miro-app React TypreScript option? I followed the Hello World Miro example and it works fine but when I add Airtable and even though none of the Airtable code runs I receive the error:Uncaught Error: Module "stream" has been externalized for browser compatibility and cannot be accessed in client code. at Object.get (browser-external:stream:3) at node_modules/node-fetch/lib/index.mjs (index.mjs:10) at __init (chunk-EB7XYW2R.js?v=d66c9224:9) at node_modules/airtable/lib/fetch.js (fetch.ts:2) at __require2 (chunk-EB7XYW2R.js?v=d66c9224:12) at node_modules/airtable/lib/base.js (base.ts:4) at __require2 (chunk-EB7XYW2R.js?v=d66c9224:12) at node_modules/airtable/lib/airtable.js (airtable.ts:1) at __require2 (chunk-EB7XYW2R.js?v=d66c9224:12) at dep:airtable:1I have spent several hours looking it up and trying different options but even though the error changes I have not been able to make it work. Here is a sa
I have a user on the system whose User Bearer Token is returning Unauthorised when we call the Miro API. Other users bearer tokens are fine with the same calls.Can you please let me know how to refresh the bearer token for this user or enable this token to be authorized?This user has many associated boards which they will still need to be able to retrieve.
I am developing a plugin using web api, where I read the miro board contents from javascript:Sample code:async function javascriptFunction() { let selectedWidgets = await miro.board.selection.get() }This code works fine first time, but when the app is launched again, it gives error: Uncaught (in Promise) TypeError: cannot read property 'selection’ of undefined. Anyone else faced this issue?
Hi, I’ve created a simple test plugin using one of the examples app as a scaffolding. The web plugin allows the user to roll a number of random dice. This is the installation link for the app (still in development of course) https://miro.com/oauth/authorize/?response_type=token&client_id=3074457350145576827&redirect_uri=https://miro-rory-story-cubes-prod.herokuapp.com/auth-success.htmlThe app seems to work fine most of the time but for some users and on some teams, it works just once. After first usage we get this error:Uncaught Error: processCommandFromIFrame:: iframe channel not found, plugin = 3074457350145576827, cmd = .board.viewport.getViewportIf we reload the board and use it, it works the first time and triggers the error from then on.The issue seems to be consistent for certain combination of user/team/browser. EgI can use it on Team A, always I can use it on Team B, always, using firefox I can use it on Team B, only once, using chrome A teamamate can use it on Team B
I am using Angular 6 , and when I tried to embed the below link <iframe [src]='https://miro.com/app/board/o9J_ldxFWKw=/'></iframe> I am getting the below error in console.Refused to display 'https://miro.com/app/board/o9J_ldxFWKw=/' in a frame because it set 'X-Frame-Options' to 'sameorigin'. any help would be highly appreciated.
We try to add labels to widgets via the API (as you can do in Miro UI) but we fail to find out to do this via the REST API. Could you point to docu how to do this? PS: Our use case is to set the labels during createWidget request.
We have two main issues integrating with Miro: App URL + BoardPicker AllowList: since every single user in our app has a workspace URL subdomain, we need that Miro accepts a wildcard name here. Like *.domain.com Enabling boardPicker: by default, this feature is disabled, and Miro's users should submit a form to activate it. We have submitted that form twice, months ago, and didn't get any response from them. Can someone from the team please help us out with these?Regards,Mike
Hey Friends,I am creating data visualizations on different domain data.Normally I am using Google Sheets for No Code add-on for this purpose.I have more knowledge about Excel & Office 365 use code free add-in for data visualization purpose.Recently created Sankey chart (Users Search Terms Flow in running campaign) with these add-ins. Image is attached. How I can import this chart in miro for data story telling purpose.Thanks--CF
Hi,When selecting widgets with Miro SDK, widgets get selected as expected but they don’t allow regular keyboard edit options like delete or arrow keys for nudging. The same work as expected when widgets are selected manually.miro.board.selection.selectWidgets([...selectableWidgets]);Regards,Ramkumar
Hi there, I am trying to transfer an app that was created from a developer that used to work with us under my account. Apparently, I am listed as a team member in this app, but it’s nowhere to be seen under the apps that I can see in my dashboard. Who should I reach out to? Thanks,Iraklis
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.