Looking around on the forum I could not find an answer to my question, so allow me to explain.
For multiple groups of users we want to use miro boards for guiding their projects. In each step of the project, some data needs to be updated in a central database, to track the progress of the different projects. Since having all information in one place is benificial, we would like to have an interactive (excel-like) table, that on opening of the Miro board loads data from a (company) server, and allows people to enter/change information in the table. The information should then be updated on the server.
Is this possible, even in a non-native way? If anything about my question is unclear, feel free to ask for more details.
Thanks for reaching out and for sharing your use case!
Based on what you’re describing, it sounds like you’d like to have a sort of 2-Way Sync between your Miro account and your server or external source. Some version of this is certainly possible through either 1) existing apps on the Miro Marketplace, or 2) Developing your own integration.
The first option would be easiest, but you would need to confirm if there is an existing integration that you could work with. Some popular ones include Airtable and Google Sheets.
If you need to specifically work with a custom flow based on your external data source, a custom app or integration will likely be necessary. This could be accomplished with a combination of our Web SDK and/or REST API.
In short, what you’re looking to accomplish is possible. But would likely require custom development.
Let me know if this helps!
Thank you for the quick and elaborate reply. Since the data will be residing on a company server, and that data will be used to create an interactive dashboard on the company intranet (e.g. how many projects are in which stage of development, distribution of time between project steps, succes rates per project step, etc.), Airtable and Google Sheets are probably not usable, meaning option 2) is likely the way to go.
Could you maybe provide a high-level overview of what would be needed to accomplish this with Miro, so I can relay this information to asses the viability of this option? Thank you.
Happy to help!
From a high level, for any kind of 2-Way Sync between Miro and another source, you’ll primarily leverage our REST API to translate/create items from your external data source into Miro. (E.g., Create Shape, Create Text endpoints, etc.).
Once you’ve imported external items into Miro by creating them via our REST API, you can manage and manipulate board items via either our Web SDK or REST API.
To keep data in your external source up to date when they’re updated on Miro, you would typically leverage an API for managing your database or external source.
So, there’s two parts here: 1) creating/managing items in Miro using our APIs, and 2) leveraging an API or similar for keeping your own database up to date.
While this is a bit more complex, this tutorial covers a 2-Way Sync integration from an architectural level.
I hope it helps!
Again thanks for the informative answer. The first part of the 2-way sync is clear; write code which uses the Miro REST API to create/edit content on the Miro board. As an example; it could automatically create a table with text inside it. Examples of this are provided in the Miro REST API documentation it seems.
The second part is not clear to me yet: if, sticking to the above example, I change the text in the table, how do I get it to execute code that it sents data to the company server? Writing a company REST API is not the problem (fairly simple data to exchange), but how do I make that e.g. editing text in a table on Miro executes codes that contains the company REST API? I hope I made my question clear.
My apologies if all this is covered in a documentation, after a (brief) search I could not find the right documentation.
It’s a good question — in order to understand when changes are made on a Miro board so that you can update your external data source, you could use the API to check changes.
In other words, you could consistently poll the Miro API to detect deltas on the board for items that have been updated/removed or otherwise modified.
In the future we plan to support webhooks for this exact use case, which will make this a lot easier and near-instantaneous. We hope to support this early next year (stay tuned to our Roadmap!).
I hope it helps, but let me know if you still have questions. Happy to help out however I can!