Beta: Miro Pack

I wanted to visually depict table rows so I decided to tackle the Miro Pack.

Overview
There are 12 “sync” actions which will either create or update an item if given the item id. If an item id is not provided, it will create a new object. If it is provided, it will update that item. Instead of creating create and update actions for each item, “Sync” is used in its place. There are also dedicated actions to update an items parent and position. You’ll also find actions to manage boards, members, tags, and connectors.

I’ve provided sync tables for Boards, Connectors, Items, Members, Tags, and Webhook Subscriptions.

Using formulas you can convert several miro ids into rich objects: Board, Connector, Item, Member, Members, Tag, Tags, Webhook Subscription

If you are constructing an App Card, you can use the Item Field in the additional options field to construct an array of preview fields.

Screenshot 2023-03-02 at 10.27.07 AM

No Miro Enterprise features are supported at this time.

Example Execution: A bar chart made from synced shapes forms this Emoji Vote board:

Example Docs:
Company Org Chart Card: Board · Company Org Chart with Miro
Emoji Voting: Vote · Emoji Vote with the Miro Pack for Coda

Hi Vinny,
I looked at the documentation in the pack page and it was incomplete, I believe you are still developing so I will not bother you asking for it at this moment.
I was just hoping you could answer me if this pack would be able to do what I’ll describe below.

  1. Imagine I make templates for dashboards in Miro, using the primitive shapes offered by the tool, anything that could be manipulated by the pack. (shapes, text, cards, etc.)
  2. Then I identify each piece with an ID by writing in them (like writing the ID inside a rectangle.)
  3. I import the template in Coda table using “Retrieves all items” table, where I can access them through their ID, capturing all shapes and position information.
  4. Create buttons inside Coda and place them on top of an embed of the Miro board of a user
  5. The user can use those buttons to render Miro dashboards based on our templates, modified by our data. (like a stylized Gantt or a Hierarchy Tree of Tasks, for example)

Thanks for the pack, I’ll test it, by trial and error, as soon as I have time.

You’ll definitely be able to do this. Create a board to act as your template template, pull in all items to Coda, create a column for sync buttons for each type, and then a push button that triggers them all.

Your source board can be responsible for a destination’s board’s items.

The image below shows how a push button can generate the contents of a destination board with a source board. I can share the doc with your privately.

1 Like

@Vinny_Green1 I have a table in Coda (called ‘Objects Table’) which I sync to Miro using the Sync Card button. The items in Miro need to be updated whenever I make an update to the table in Coda.

The way I achieve this is with another table in Coda (called ‘Miro Items Table’) which brings all the items back into Coda with the Item ID. I use the ‘Retrieve all items’ table in the pack to do this.

The two tables are then joined with a Lookup based on the Titles in the Object and Item Tables.

But, as you would guess if I change the Title of the object in the Objects Table then the join between the two tables is lost.

So my way around this to create a unique Object ID in the Objects Table for the join between the two. Standard practice I hear you say.

It becomes tricky to send this Object ID to said item in Miro, but it is managed by adding to the end of the Description and then bringing it back into the Items Table where it gets extracted with a calculation.

Works fine, but it’s messy and open to an error if a change in incorrectly made in the Description field.

What I’d really like is to create a custom field in the Miro item to store the Object ID.

My question is “How do I create a custom field” in Miro with the Miro Pack?”

I see there is a Sync AppCard button with the option to send the parameters of a custom field but I can not get it work. I put in the name of the field into the Name option and the field contents into the Field option. But it just errors out and the data isn’t passed to Miro.

It would be great if you could help with this query.

Many thanks

Adding custom fields requires you to pass in the results of an ItemField() formula. The name field is just to describe the field.

Here is the formula:

Here is what it looks like:

Screenshot 2023-09-21 at 9.52.37 AM

And here are the custom fields:

As an alternative, when creating an item with a button, the results column will store the item id. You can use the item id that is returned along with the item formula to pull in the latest object. If your value doesn’t match the object value, use the sync button with that item id to update it with the new value.