Can I show+edit widget ids+metadata within Miro?

  • 23 July 2021
  • 1 reply

I am trying to use Integromat to move data between Airtable and Miro. The hope is that I can do this without needing to write any code, which would mean my team can also setup their own workflows without needing any code.

The idea is to make a Miro board a template and then copy it and put some data into the board at specific locations. My team members would make and modify the template, and I need some way for them to identify where they want what data plugged in. the API requires me to know the precise widget ID of the widget that I want to update. I cannot see the id in the board, and I assume each copy of the template would create a separate widget id so I can’t rely on any particular one.

I see that it’s possible to put some metadata on a widget (again programmatically) and then I guess I would list all widgets and filter for those that have the metadata I want.

My question is - is there some visual way to change the metadata of the widget from within miro, that I can then use within Integromat or Zapier or similar? Has someone written an app that I can install that lets me do this? It would be a big help, thank you! (think of this like class names in CSS or something)

1 reply

Userlevel 7
Badge +5


I’ll make some assumptions into your finer details - doing this in order to propose something for you … forgive me for where I’m off course of your vision. 


I’d suggest using FRAME widgets in the Miro board template - and that those frames all have pre-known names ( TITLE ) - names that your Integromat scenario is already setup to scan for and that can be properly linked to your Airtable Base schema.   

What your team would then do, is select the frames of those various names from your template and configure them spatially on their board … then as they place widgets into those frames they will have indicated that they want those widgets’ data to be routed to that particular destination in Airtable.  

To accomplish this in Integromat … I believe you’d have to use a generic “Make an API call” to Miro (List all Widgets in Miro, has a query param widgetType you can set to “frame”)  and set it up to return frames -- I was able to get this to work, but stopped there… you’d have to perform the next set of Integromat processing from there. Filter that array of returned frames for those with names that match your predefined set, and then on that filtered array of frame objects, on each Frame object you’d get access the array with key of “children” - which is an array of frame child widget ids - then you’d go and GET those widgets with those ids using the API call get widget for each widget id in the array and iteratively translate/write their data over to Airtable.


Limit to this solution.

  • Widgets can only be children of one frame and in the scenario where people want to overlap frames and have items contained in the overlap space be children of both frames … the resulting data accessed from the ‘getWidgets()’ of Miro API will not conform to this expectation.  


You could use cards and have people use the ‘description’ inside the card (zooming in or the button top right on the card) - this would  distinguish the ‘description’ from ‘title’ which is visible on the exterior of the card .You could then have users set those values to pre-defined, filterable, routable names.



I don’t see that integromat is retrieving or granting access to metadata.  But I’ve only glanced for 15 minutes.  
A Miro SDK plugin for writing generic metadata would be simple to write. Let me know if you’ve found ‘metadata’ returned by integromat’s miro api calls. I could write you that simple plugin.  

PS - We also built a whole custom Miro<>Airtable app for a client this spring. Info on that app here. I realize you’re working for no-code, but if it would be of service to you, I’d be happy to chat with you about that ‘some-code’ solution.