Miro
Also an agent toolMiro integration (REST API v2 — boards, board members, typed items (app_card, card, document, doc, embed, frame, image, shape, sticky_note, text), generic items, connectors, tags, groups). OAuth 2.0. Polling trigger on board items — Miro removed its experimental webhook API (Dec 2025), so there is no signed webhook in v1.
76 actions · 1 triggers
The Miro integration lets you connect Miro to your automations with 76 actions and 1 triggers — and every action is also a tool an AI agent can call. Examples: Get Token Context, List Boards, Get Board, Create Board, Update Board. No blank-canvas wiring — connect it and use it in your workflows.
Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.
Triggers 1
Events in Miro that can start a workflow.
Miro board item changed
Polls a board's items; compares modifiedAt with the last run to detect new/updated items. Requires a board_id (Miro has no account-wide change feed).
Actions 76
What Zervanor can do in Miro.
Boards75
List Boards
List the current user's boards (Miro: GET /v2/boards). Offset/limit paginated; optional filters team_id, project_id, query, owner, sort.
Get Board
Retrieve a specific board's details (Miro: GET /v2/boards/{board_id}).
Create Board
Create a new board (Miro: POST /v2/boards). All fields optional; a bare {} creates an empty default board. Returns BoardWithLinks with top-level id. WRITE test target (paired with delete_board cleanup).
Update Board
Update a board's name, description, policy, or sharing settings (Miro: PATCH /v2/boards/{board_id}).
Copy Board
Create a copy of an existing board (Miro: PUT /v2/boards). The source board is supplied via the copy_from query parameter; body fields (name, description, policy) apply to the new copy.
Delete Board
Delete a board (Miro: DELETE /v2/boards/{board_id}). CLEANUP test target for create_board.
Share Board
Share a board by inviting members via email and role (Miro: POST /v2/boards/{board_id}/members).
List Board Members
Get all members of a board (Miro: GET /v2/boards/{board_id}/members).
Get Board Member
Get a specific board member (Miro: GET /v2/boards/{board_id}/members/{board_member_id}).
Update Board Member
Update a board member's role (Miro: PATCH /v2/boards/{board_id}/members/{board_member_id}).
Remove Board Member
Remove a member from a board (Miro: DELETE /v2/boards/{board_id}/members/{board_member_id}).
List Items
Get items on a board (Miro: GET /v2/boards/{board_id}/items). Cursor paginated; optional type and parent_item_id filters. Polling source for the board-item-changed trigger.
Get Item
Get a specific item of any type (Miro: GET /v2/boards/{board_id}/items/{item_id}).
Update Item
Update an item's position or parent (Miro: PATCH /v2/boards/{board_id}/items/{item_id}).
Delete Item
Delete an item of any type (Miro: DELETE /v2/boards/{board_id}/items/{item_id}). Also the delete path for sticky notes and texts (no dedicated typed delete).
Create Items (Bulk)
Create multiple items of mixed types in one call (Miro: POST /v2/boards/{board_id}/items/bulk).
Create Sticky Note
Create a sticky note item (Miro: POST /v2/boards/{board_id}/sticky_notes). Returns top-level id.
Get Sticky Note
Get a sticky note item (Miro: GET /v2/boards/{board_id}/sticky_notes/{item_id}).
Update Sticky Note
Update a sticky note item (Miro: PATCH /v2/boards/{board_id}/sticky_notes/{item_id}).
Delete Sticky Note
Delete a sticky note via the generic items endpoint (Miro: DELETE /v2/boards/{board_id}/items/{item_id} — sticky notes have no dedicated typed delete).
Create Card
Create a card item (Miro: POST /v2/boards/{board_id}/cards).
Get Card
Get a card item (Miro: GET /v2/boards/{board_id}/cards/{item_id}).
Update Card
Update a card item (Miro: PATCH /v2/boards/{board_id}/cards/{item_id}).
Delete Card
Delete a card item (Miro: DELETE /v2/boards/{board_id}/cards/{item_id}).
Create Shape
Create a shape item (Miro: POST /v2/boards/{board_id}/shapes).
Get Shape
Get a shape item (Miro: GET /v2/boards/{board_id}/shapes/{item_id}).
Update Shape
Update a shape item (Miro: PATCH /v2/boards/{board_id}/shapes/{item_id}).
Delete Shape
Delete a shape item (Miro: DELETE /v2/boards/{board_id}/shapes/{item_id}).
Create Text
Create a text item (Miro: POST /v2/boards/{board_id}/texts).
Get Text
Get a text item (Miro: GET /v2/boards/{board_id}/texts/{item_id}).
Update Text
Update a text item (Miro: PATCH /v2/boards/{board_id}/texts/{item_id}).
Delete Text
Delete a text item via the generic items endpoint (Miro: DELETE /v2/boards/{board_id}/items/{item_id} — texts have no dedicated typed delete).
Create Frame
Create a frame (Miro: POST /v2/boards/{board_id}/frames).
Get Frame
Get a frame (Miro: GET /v2/boards/{board_id}/frames/{item_id}).
Update Frame
Update a frame (Miro: PATCH /v2/boards/{board_id}/frames/{item_id}).
Delete Frame
Delete a frame (Miro: DELETE /v2/boards/{board_id}/frames/{item_id}).
Create Image (by URL)
Create an image item from a URL (Miro: POST /v2/boards/{board_id}/images). Multipart/local-file image upload is deferred for v1.
Get Image
Get an image item (Miro: GET /v2/boards/{board_id}/images/{item_id}).
Update Image (by URL)
Update an image item from a URL (Miro: PATCH /v2/boards/{board_id}/images/{item_id}). Multipart/local-file update is deferred for v1.
Delete Image
Delete an image item (Miro: DELETE /v2/boards/{board_id}/images/{item_id}).
Create Document (by URL)
Create a document item from a URL (Miro: POST /v2/boards/{board_id}/documents). Multipart/local-file upload is deferred for v1.
Get Document
Get a document item (Miro: GET /v2/boards/{board_id}/documents/{item_id}).
Update Document (by URL)
Update a document item from a URL (Miro: PATCH /v2/boards/{board_id}/documents/{item_id}). Multipart/local-file update is deferred for v1.
Delete Document
Delete a document item (Miro: DELETE /v2/boards/{board_id}/documents/{item_id}).
Create Embed
Create an embed item (Miro: POST /v2/boards/{board_id}/embeds).
Get Embed
Get an embed item (Miro: GET /v2/boards/{board_id}/embeds/{item_id}).
Update Embed
Update an embed item (Miro: PATCH /v2/boards/{board_id}/embeds/{item_id}).
Delete Embed
Delete an embed item (Miro: DELETE /v2/boards/{board_id}/embeds/{item_id}).
Create App Card
Create an app card item (Miro: POST /v2/boards/{board_id}/app_cards).
Get App Card
Get an app card item (Miro: GET /v2/boards/{board_id}/app_cards/{item_id}).
Update App Card
Update an app card item (Miro: PATCH /v2/boards/{board_id}/app_cards/{item_id}).
Delete App Card
Delete an app card item (Miro: DELETE /v2/boards/{board_id}/app_cards/{item_id}).
Create Doc
Create a doc-format item (Miro: POST /v2/boards/{board_id}/docs). Distinct from documents; create/get/delete only (no update).
Get Doc
Get a doc-format item (Miro: GET /v2/boards/{board_id}/docs/{item_id}).
Delete Doc
Delete a doc-format item (Miro: DELETE /v2/boards/{board_id}/docs/{item_id}).
Create Connector
Create a connector line linking two items on a board (Miro: POST /v2/boards/{board_id}/connectors).
List Connectors
Get all connectors on a board (Miro: GET /v2/boards/{board_id}/connectors). Cursor paginated.
Get Connector
Get a specific connector (Miro: GET /v2/boards/{board_id}/connectors/{connector_id}).
Update Connector
Update a connector (Miro: PATCH /v2/boards/{board_id}/connectors/{connector_id}).
Delete Connector
Delete a connector (Miro: DELETE /v2/boards/{board_id}/connectors/{connector_id}).
Create Tag
Create a tag on a board (Miro: POST /v2/boards/{board_id}/tags).
List Tags
Get all tags from a board (Miro: GET /v2/boards/{board_id}/tags).
Get Tag
Get a specific tag (Miro: GET /v2/boards/{board_id}/tags/{tag_id}).
Update Tag
Update a tag (Miro: PATCH /v2/boards/{board_id}/tags/{tag_id}).
Delete Tag
Delete a tag (Miro: DELETE /v2/boards/{board_id}/tags/{tag_id}).
Get Tags From Item
Get all tags attached to an item (Miro: GET /v2/boards/{board_id}/items/{item_id}/tags).
Get Items By Tag
Get items on a board that carry a given tag (Miro: GET /v2/boards/{board_id}/items?tag_id=).
Attach Tag To Item
Attach a tag to an item (Miro: POST /v2/boards/{board_id}/items/{item_id}?tag_id=).
Remove Tag From Item
Remove a tag from an item (Miro: DELETE /v2/boards/{board_id}/items/{item_id}?tag_id=).
Create Group
Create a group of items on a board (Miro: POST /v2/boards/{board_id}/groups).
List Groups
Get all groups on a board (Miro: GET /v2/boards/{board_id}/groups).
Get Group
Get a group by ID (Miro: GET /v2/boards/{board_id}/groups/{group_id}).
Get Group Items
Get the items of a group by ID (Miro: GET /v2/boards/{board_id}/groups/items?group_id=).
Update Group
Update a group with a new set of items (Miro: PUT /v2/boards/{board_id}/groups/{group_id}).
Delete / Ungroup Group
Ungroup items (default) or delete the group and its items when delete_items=true (Miro: DELETE /v2/boards/{board_id}/groups/{group_id}).
Oauth Token1
Get Token Context
Return the access token's context (associated user, team, scopes, token type) via token introspection. Safe identity GET used as the connector READ test target (Miro: GET /v1/oauth-token).
Nothing matches your search.
Automations using Miro
Build your own automation with Miro in the visual builder.
Frequently asked questions
What can I automate with Miro?
76 actions are available — for example: Get Token Context, List Boards, Get Board, Create Board, Update Board, and more.
Which Miro events can start a workflow?
1 triggers — for example: Miro board item changed.
Can Miro be used as an AI agent tool?
Yes. Every Miro action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.
How is the Miro integration modelled?
Miro is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.