🏆 Make your 2026 football predictions with Miro — + win $400 in our June Challenge
Discuss everything related to Miro API, SDK, embedding and Miro Platform apps development.
Recently active
Hi,I am developing a web plugin for Miro. I want to select text inside a TextWidget. (As shown below)Couldn’t find any documentation if it possible to highlight text inside a widgetAny suggestions? Best,Abhijeet
When I install an new app from the marketplace ( in this case https://miro.com/marketplace/undraw/ ) it once says something like “this app will have permission to read and write all your boards”.is it normal for an app that “only” inserts clip art to a board to get these permissions? Shouldn’t it be the other way round: the app only provides the image and trusted Miro adds it to the board? How can I see / compare permissions of the apps I installed / on the marketplace? ie. how does https://miro.com/marketplace/unsplash/ with similar functionality behave? where can I find the EULA / privacy for apps on the miro marketplace? cf. Atlassian Marketplacehttps://www.atlassian.com/licensing/marketplace/termsofusehttps://www.atlassian.com/legal/privacy-policy#how-we-use-information-we-collect
Is there any way to retrieve current user name with web plugin API, I see that there is an interface IUserInfo for user data, but not seeing how it can be fetched with API.
Hi!I created an app and I’m trying to set the Web-plugin url but I’m getting the error “Bad request. Deserialization Error”. I tried changing the url to the one used by one app that is live now and I get the same. If I go back and open the app again the URL is saved but when I try to use the app in a board it’s not loading.Does someone have this issue or can help please?Thanks
Hello,I'm having an issue when listening for the WIDGETS_TRANSFORMATION_UPDATED event.All widgets trigger this event on change (shapes, text, stickers, etc) except for the LINES.If you update a line alone, it does not trigger this event, however, if you update together a line and a shape, it does show the line on the data array.Example of the event working for a TEXT widget.
Hi, I’m referring to this command https://developers.miro.com/docs/interface-iboardwidgetscommands#section-update I’m currently using it with single id’s but since it says there is a option to call it with multiple id’s I’d like to utilize this, since I’m exepriencing board freeze / syncing with higher volumes of requests made to the API. I can’t see a example on how to utilize with for example a array of id’s. What I have been using so far:await miro.board.widgets.update({ "id" : widgetID2, "clientVisible" : false }) Tried replacing my widgetID2 variable with a array but the API returned “Wrong argument passed to miro.board.widgets.update(widgets: {id: string; [index: string]: any}[]).” I’m experiencing syncing times of up to 1 minute of the board when sending lets say 100 requests to the API to make 100 widgets invisible and want to prevent this ofcourse.
Is it possible to export table data, including the contents of each cell, using either the web SDK or REST API? I can see it is possible through the UI but I can’t figure out a way to do it programmatically.I can get back a list of all the widgets but there’s no explicit information about which cell they belong to. I guess it may be possible to calculate which cell each widget belongs to by using the table’s bounds and the widget’s co-ordinates but I haven’t looked into that yet. To give an example I would like to be able to programmatically determine that the “Whiskers” sticky belongs to the “Cats” column and “Names” row.
I beleive I am getting the above error because I am not authorizing the app to work with the Miro REST API. However, I am not sure how to do this as I was confused by the documentation on the website. I would appreciate any advice to go about fixing this.
Hello,New problem with plugin authorization, we are using token authentication to get around the webplugin problem with the new method.The plugin constantly asks to be authorised, and the error below appears every time it loads.But a bigger problem, any action done in the APP Manager results in an error :The problem persists since yesterday, do you have any idea of how to fix it? Thank you,Regards,
Hello, When shape widget is transformed into sticky, card or a different widget type it looses the original ID as well as metadata stored in them. Ideally conversion should retain all attributes but it seems that’s not happening. Could this be considered as bug and fixed?
Hi Miro Team,I was looking to create an app that will allow to create cards automatically from a CSV file. And looking at the API docs I saw that card got only these fields: title, desc, date, assignee. Can Tag field be added to a cardusing the API?
Hi, Is it possible to create image widget with data URL such as data:image/jpeg;base64,/9j/4…When I attempt to do so it throws error Error: 'url' field is required for ImageWidget Regards,Ram
I am trying to add a button to the context menu for widgets, here is the code: miro.onReady(async (): Promise<void> => { miro.initialize({ extensionPoints: { getWidgetMenuItems: (widgets) => { if (widgets[0]['type'] === 'CARD') return [{ tooltip: 'Estimate', svgIcon: '<circle cx="12" cy="12" r="9" fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="2"/>', onClick: async (widgets) => { await jiraCard() } }] } }, });})Unfortunately, this gives me the error TS2322: Type '(widgets: IWidget[]) => { tooltip: string; svgIcon: string; onClick: (widgets: any) => Promise<void>; }[] | undefined' is not assignable to type '(widgets: IWidget[], editMode: boolean) => Promise<IWi
Resolved.
Is there a way to restrict the widgets that getWidgetContextMenu applies to? I’m adding a new button, and I’d only like this button to show up for kanban.
Hello,We want to integrate MIRO in our product. In order to do that, we want to use the boards picker API. For this, we submitted the necessary form on the 29th of April 2021.To date we have not received any answer regarding our request. I sent multiple messages on this topic to the support team but have not received any answer. Has anyone gone through the same process or can give us some tips and tricks on how to get things moving? The deadline we set for this integration is coming soon and time is of the essence.Thank you in advance for your support!
Hi! Is there a way to find out, if a widget is in front of another widget? ThanksFalk
I am trying to integrate miro in my react app. And I am currently facing these errors,“SDK Loaded” message is being printed on the console, but miro.onReady() function is not getting called. And if I try to call miro.isAuthorized() or miro.requestAuthorization(), then it’s showing me error (“is not a funtion” for both), even if “miro” as a variable is defined. From one conversation in the community, I found that we can put the ReactDOM.render function inside the miro.onReady function, but now even “SDK Loaded” is not being printed, and React app is also not being rendered.
Hello, I am trying to add a custom icon to the menu for a given widget, this is the code for doing so:function jiraCard() { miro.board.ui.openModal('modal.html',{ width: 400, height: 600 }).then(() => { miro.showNotification("modal closed"); });}miro.onReady(() => { miro.initialize({ extensionPoints:{ getWidgetMenuItems: (widgets) => { return{ tooltip: 'Estimate', svgIcon: '<circle cx="12" cy="12" r="9" fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="2"/>', onClick: async (widgets) => { jiraCard() } } } } })})The problem is that this code makes all the default widgets disappear, so that the only button the menu is the custom widget that I am defining. Is there anyway to prevent this problem?
Hi.I got an access token to use Api for collecting Audit logs.My account has the role of company administrator.If my account is deprived of the administrator role, will the token work? for getting logs?Thank you.
Hi!I’m wondering if there’s a way to add thumbnail for my custom iframe code? I noticed that some popular embed providers like Youtube and Soundcloud have thumbnails, but if would be cool if I can somehow enable thumbnails (preferably using some kind of API) for my own iframe.How come some iframes have thumbnails and some don’t? Does Miro use Embed.ly behind the scene to get extra data to display?
I'm developing a webapp where I listen to the selected event on any board component and update the state on the react component, however, after each request, the listener is being triggered 2x compared to the last selection event.The code is as follows:function myComponent() { const [counter, updateCounter] = useState(0); miro.onReady(() => { miro.addListener("SELECTION_UPDATED", () => { console.log("selection updated triggered"); updateCounter((counter) => counter + 1); }) }) return ( <div>{counter}</div> )} The counter values is doubling the values like follow: 0, 1, 3, 7, 15, 31…Can someone help me understand what's going on?
I need to sync between access in MS teams and Miro. My use case is similar to this link : Add and remove users (miro.com), but the endpoints are deprecated now.I just wanted to check, if there an endpoint to remove the users from a board, if so could I please get the details of that .
Dear All As far as i know is it only possible to choose from three kinds of text-block styles. I was wondering if there is a work-around to manually make block texts (the vey square ones), like the ones you can select in Word for instance. Would be very Thankful for any advice,Dustin
Hello,There seems to be a problem with the update of the metadata. After an update, the metadata are reset to their creation values when the board is refresh.Is the problem known? If so, do you have any idea how long it will take to fix? Our plugins are all broken :) Thank you!
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.