> ## Documentation Index
> Fetch the complete documentation index at: https://squad.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Miro

> What agents can do in Miro at each access level, and how to connect, limit, and disconnect Miro.

Connect Miro so your agents can work in your Miro account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Miro account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                          | The connect window describes this level as | Actions agents can use |
| ------------------------------ | ------------------------------------------ | ---------------------- |
| **Read-only**                  | "Read board content."                      | 31 of 82               |
| **Read + write** (recommended) | "Read and edit boards."                    | 68 of 82               |
| **Full access**                | "Also manage team members and identity."   | 82 of 82               |

**Read + write** is the recommended level. The connect window selects it for you, and you can choose another level.

The Miro sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Miro account?" The agent can search the Miro actions for you.</Tip>

Each action shows its name, a one-line description where the Miro action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 31 of the 82 Miro actions at this level:

    * View board items
    * View boards
    * View tags
    * View groups
    * View members
    * View organizations
    * View resources

    All 31 actions at this level:

    <AccordionGroup>
      <Accordion title="Board items (15)">
        | Action                 | What it does                                                                | Slug                          |
        | ---------------------- | --------------------------------------------------------------------------- | ----------------------------- |
        | Get app card item2     | Retrieve a specific app card item by its ID from a Miro board.              | `MIRO_GET_APP_CARD_ITEM2`     |
        | Get board items        | List items on a Miro board (shapes, stickies, cards, etc.) with pagination. | `MIRO_GET_BOARD_ITEMS`        |
        | Get card item          | Retrieve a specific card item from a Miro board.                            | `MIRO_GET_CARD_ITEM`          |
        | Get connector          | Retrieve a specific connector by its ID.                                    | `MIRO_GET_CONNECTOR`          |
        | Get connectors         | Retrieve a list of connectors on a board.                                   | `MIRO_GET_CONNECTORS`         |
        | Get document item      | Retrieve a specific document item from a Miro board by its ID.              | `MIRO_GET_DOCUMENT_ITEM`      |
        | Get embed item         | Retrieve a specific embed item from a board by its ID.                      | `MIRO_GET_EMBED_ITEM`         |
        | Get frame item         | Retrieve a specific frame item from a Miro board.                           | `MIRO_GET_FRAME_ITEM`         |
        | Get image item         | Retrieve a specific image item from a board.                                | `MIRO_GET_IMAGE_ITEM`         |
        | Get items by group ID  |                                                                             | `MIRO_GET_ITEMS_BY_GROUP_ID`  |
        | Get items within frame |                                                                             | `MIRO_GET_ITEMS_WITHIN_FRAME` |
        | Get shape item         | Retrieve a specific shape item from a Miro board by its ID.                 | `MIRO_GET_SHAPE_ITEM`         |
        | Get specific item      | Retrieve a specific item from a Miro board by its ID.                       | `MIRO_GET_SPECIFIC_ITEM`      |
        | Get sticky note item   | Retrieve a specific sticky note item from a board by its ID.                | `MIRO_GET_STICKY_NOTE_ITEM`   |
        | Get text item          | Retrieve a specific text item from a Miro board by its ID.                  | `MIRO_GET_TEXT_ITEM`          |
      </Accordion>

      <Accordion title="Boards (4)">
        | Action             | What it does                                                    | Slug                      |
        | ------------------ | --------------------------------------------------------------- | ------------------------- |
        | Get board          | DEPRECATED: Use MIRO\_GET\_SPECIFIC\_BOARD instead.             | `MIRO_GET_BOARD`          |
        | Get boards         | DEPRECATED: Use MIRO\_MIRO\_GET\_BOARDS2 instead.               | `MIRO_GET_BOARDS`         |
        | Get boards2        | Retrieve accessible boards with optional filters.               | `MIRO_GET_BOARDS2`        |
        | Get specific board | Retrieve detailed information about a specific board by its ID. | `MIRO_GET_SPECIFIC_BOARD` |
      </Accordion>

      <Accordion title="Groups (2)">
        | Action          | What it does                                                      | Slug                   |
        | --------------- | ----------------------------------------------------------------- | ---------------------- |
        | Get all groups  | Retrieve all groups on a Miro board with cursor-based pagination. | `MIRO_GET_ALL_GROUPS`  |
        | Get group by ID | Retrieve a specific group by its ID.                              | `MIRO_GET_GROUP_BY_ID` |
      </Accordion>

      <Accordion title="Members (2)">
        | Action                    | What it does                                 | Slug                             |
        | ------------------------- | -------------------------------------------- | -------------------------------- |
        | Get board members         | Retrieve a list of members for a board.      | `MIRO_GET_BOARD_MEMBERS`         |
        | Get specific board member | Retrieve details of a specific board member. | `MIRO_GET_SPECIFIC_BOARD_MEMBER` |
      </Accordion>

      <Accordion title="Organizations (1)">
        | Action             | What it does                                                         | Slug                      |
        | ------------------ | -------------------------------------------------------------------- | ------------------------- |
        | List organizations | Retrieves the organization associated with the current access token. | `MIRO_LIST_ORGANIZATIONS` |
      </Accordion>

      <Accordion title="Resources (1)">
        | Action                  | What it does | Slug                           |
        | ----------------------- | ------------ | ------------------------------ |
        | Download image resource |              | `MIRO_DOWNLOAD_IMAGE_RESOURCE` |
      </Accordion>

      <Accordion title="Tags (3)">
        | Action          | What it does                                               | Slug                   |
        | --------------- | ---------------------------------------------------------- | ---------------------- |
        | Get item tags   | Retrieve tags attached to a specific item on a Miro board. | `MIRO_GET_ITEM_TAGS`   |
        | Get tag         | Retrieve details of a specific tag on a board.             | `MIRO_GET_TAG`         |
        | List board tags | List all tags on a Miro board.                             | `MIRO_LIST_BOARD_TAGS` |
      </Accordion>

      <Accordion title="Other actions (3)">
        | Action                         | What it does                                    | Slug                                  |
        | ------------------------------ | ----------------------------------------------- | ------------------------------------- |
        | Get mindmap node experimental  | Retrieve a specific mind map node from a board. | `MIRO_GET_MINDMAP_NODE_EXPERIMENTAL`  |
        | Get mindmap nodes experimental | Retrieve mind map nodes from a Miro board.      | `MIRO_GET_MINDMAP_NODES_EXPERIMENTAL` |
        | Get oembed                     | Retrieve oEmbed data for a Miro board.          | `MIRO_GET_OEMBED`                     |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Read + write (recommended)">
    Agents can use 68 of the 82 Miro actions at this level: everything in **Read-only**, plus:

    * Create and update board items
    * Create, update, and share boards
    * Create and update tags
    * Create files
    * Create and update groups
    * Update members

    The 37 actions that this level adds to **Read-only**:

    <AccordionGroup>
      <Accordion title="Board items (24)">
        | Action                         | What it does                                                                                               | Slug                                  |
        | ------------------------------ | ---------------------------------------------------------------------------------------------------------- | ------------------------------------- |
        | Create app card item           | Add an app card item to a board.                                                                           | `MIRO_CREATE_APP_CARD_ITEM`           |
        | Create card item               | Create a card item on a Miro board.                                                                        | `MIRO_CREATE_CARD_ITEM`               |
        | Create connector               | Create a connector (edge/arrow) that links two existing board items.                                       | `MIRO_CREATE_CONNECTOR`               |
        | Create document item           | Create a document item on a Miro board by providing a URL to the document.                                 | `MIRO_CREATE_DOCUMENT_ITEM`           |
        | Create embed item              | Create an embed item on a Miro board by providing a URL to embed content (YouTube videos, websites, etc.). | `MIRO_CREATE_EMBED_ITEM`              |
        | Create frame item              | Add a frame item to a Miro board.                                                                          | `MIRO_CREATE_FRAME_ITEM`              |
        | Create frame item2             | DEPRECATED: Use MIRO\_CREATE\_FRAME\_ITEM instead.                                                         | `MIRO_CREATE_FRAME_ITEM2`             |
        | Create image item from URL     |                                                                                                            | `MIRO_CREATE_IMAGE_ITEM_FROM_URL`     |
        | Create items in bulk           | Create multiple items on a Miro board in a single request.                                                 | `MIRO_CREATE_ITEMS_IN_BULK`           |
        | Create shape item              | DEPRECATED: Use MIRO\_MIRO\_CREATE\_SHAPE\_ITEM2 instead.                                                  | `MIRO_CREATE_SHAPE_ITEM`              |
        | Create shape item2             | Create a shape item on a Miro board.                                                                       | `MIRO_CREATE_SHAPE_ITEM2`             |
        | Create sticky note item        | Create a sticky note item on a Miro board.                                                                 | `MIRO_CREATE_STICKY_NOTE_ITEM`        |
        | Create text item               | Create a text item on a Miro board.                                                                        | `MIRO_CREATE_TEXT_ITEM`               |
        | Update app card item2          | Update an app card item on a Miro board.                                                                   | `MIRO_UPDATE_APP_CARD_ITEM2`          |
        | Update card item               | Update a card item on a Miro board.                                                                        | `MIRO_UPDATE_CARD_ITEM`               |
        | Update connector               | Update an existing connector on a Miro board.                                                              | `MIRO_UPDATE_CONNECTOR`               |
        | Update document item           | Update a document item on a Miro board.                                                                    | `MIRO_UPDATE_DOCUMENT_ITEM`           |
        | Update embed item              | Update an embed item on a board.                                                                           | `MIRO_UPDATE_EMBED_ITEM`              |
        | Update frame item              | Update a frame item on a Miro board.                                                                       | `MIRO_UPDATE_FRAME_ITEM`              |
        | Update image item              | Update an existing image item on a board.                                                                  | `MIRO_UPDATE_IMAGE_ITEM`              |
        | Update item position or parent | Update an item's position or parent frame on a Miro board.                                                 | `MIRO_UPDATE_ITEM_POSITION_OR_PARENT` |
        | Update shape item              | Update an existing shape item on a Miro board.                                                             | `MIRO_UPDATE_SHAPE_ITEM`              |
        | Update sticky note item        | Update a sticky note item on a Miro board.                                                                 | `MIRO_UPDATE_STICKY_NOTE_ITEM`        |
        | Update text item               | Update a text item on a Miro board.                                                                        | `MIRO_UPDATE_TEXT_ITEM`               |
      </Accordion>

      <Accordion title="Boards (3)">
        | Action       | What it does                               | Slug                |
        | ------------ | ------------------------------------------ | ------------------- |
        | Create board | Create a new board.                        | `MIRO_CREATE_BOARD` |
        | Share board  | Share a board by inviting users via email. | `MIRO_SHARE_BOARD`  |
        | Update board | Update properties of a specific board.     | `MIRO_UPDATE_BOARD` |
      </Accordion>

      <Accordion title="Files (2)">
        | Action                                      | What it does                                                          | Slug                                               |
        | ------------------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------- |
        | Create document item using file from device | Create a document item on a Miro board using a URL to the document.   | `MIRO_CREATE_DOCUMENT_ITEM_USING_FILE_FROM_DEVICE` |
        | Create image item using local file          | Create an image item on a Miro board by uploading a local image file. | `MIRO_CREATE_IMAGE_ITEM_USING_LOCAL_FILE`          |
      </Accordion>

      <Accordion title="Groups (2)">
        | Action       | What it does                                                        | Slug                |
        | ------------ | ------------------------------------------------------------------- | ------------------- |
        | Create group | Create a group on a Miro board by grouping multiple items together. | `MIRO_CREATE_GROUP` |
        | Update group | Update a group on a Miro board with new items.                      | `MIRO_UPDATE_GROUP` |
      </Accordion>

      <Accordion title="Members (1)">
        | Action              | What it does                                | Slug                       |
        | ------------------- | ------------------------------------------- | -------------------------- |
        | Update board member | Update the role of a specific board member. | `MIRO_UPDATE_BOARD_MEMBER` |
      </Accordion>

      <Accordion title="Tags (4)">
        | Action               | What it does                                               | Slug                        |
        | -------------------- | ---------------------------------------------------------- | --------------------------- |
        | Attach tag to item   | Attach an existing tag to a specific item on a Miro board. | `MIRO_ATTACH_TAG_TO_ITEM`   |
        | Create tag           | Create a new tag on a Miro board.                          | `MIRO_CREATE_TAG`           |
        | Remove tag from item |                                                            | `MIRO_REMOVE_TAG_FROM_ITEM` |
        | Update tag           | Update a tag on a board.                                   | `MIRO_UPDATE_TAG`           |
      </Accordion>

      <Accordion title="Other actions (1)">
        | Action                           | What it does                            | Slug                                    |
        | -------------------------------- | --------------------------------------- | --------------------------------------- |
        | Create mindmap node experimental | Create a mind map node on a Miro board. | `MIRO_CREATE_MINDMAP_NODE_EXPERIMENTAL` |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Full access">
    Agents can use 82 of the 82 Miro actions at this level: everything in **Read + write**, plus:

    * Delete board items
    * Delete groups
    * Delete tags

    The 14 actions that this level adds to **Read + write**:

    | Works on          | Action                           | What it does                              | Slug                                    |
    | ----------------- | -------------------------------- | ----------------------------------------- | --------------------------------------- |
    | **Board items**   | Delete app card item             | Delete an app card item from a board.     | `MIRO_DELETE_APP_CARD_ITEM`             |
    |                   | Delete card item                 | Delete a card item from a board.          | `MIRO_DELETE_CARD_ITEM`                 |
    |                   | Delete connector                 | Delete a specific connector from a board. | `MIRO_DELETE_CONNECTOR`                 |
    |                   | Delete document item             | Delete a document item from a board.      | `MIRO_DELETE_DOCUMENT_ITEM`             |
    |                   | Delete embed item                | Delete an embed item from a board.        | `MIRO_DELETE_EMBED_ITEM`                |
    |                   | Delete frame item                | Delete a frame item from a Miro board.    | `MIRO_DELETE_FRAME_ITEM`                |
    |                   | Delete image item                | Delete an image item from a board.        | `MIRO_DELETE_IMAGE_ITEM`                |
    |                   | Delete item                      | Delete a specific item from a board.      | `MIRO_DELETE_ITEM`                      |
    |                   | Delete shape item                | Delete a shape item from a board.         | `MIRO_DELETE_SHAPE_ITEM`                |
    |                   | Delete sticky note item          | Delete a sticky note item from a board.   | `MIRO_DELETE_STICKY_NOTE_ITEM`          |
    |                   | Delete text item                 | Delete a text item from a board.          | `MIRO_DELETE_TEXT_ITEM`                 |
    | **Groups**        | Delete group                     | Delete a group from a board.              | `MIRO_DELETE_GROUP`                     |
    | **Tags**          | Delete tag                       | Delete a specific tag from a board.       | `MIRO_DELETE_TAG`                       |
    | **Other actions** | Delete mindmap node experimental | Delete a mind map node from a board.      | `MIRO_DELETE_MINDMAP_NODE_EXPERIMENTAL` |
  </Accordion>
</AccordionGroup>

## Connect Miro

Before you start:

* You need a Miro account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Miro">
    Find **Miro** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Miro">
    Click **Connect Miro**. The Miro sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Miro">
    Sign in to Miro and approve the request.
  </Step>
</Steps>

Check that it works: Miro shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Miro account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Miro account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Miro account

Click **+ Account** on the Miro card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Miro side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Miro**.
3. Sign in to Miro and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Miro account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Miro account becomes primary.</Warning>

## Costs

Miro actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Miro, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Miro connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Miro?">
    Each Miro account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Miro account?">
    Click **+ Account** on the Miro card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Miro?">
    Open the account menu (⋯) on the Miro account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
