The Miro connector lets your AI agent act in each user's Miro account. Each user signs in to Miro once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 115 tools.
- Tools
- 115
- What they doRead · write · destructive
- 48 · 45 · 2248 read45 write22 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Miro app
What you can do
- Manage boards: create, copy, update, and delete boards, and share them with members
- Add board content: create and edit sticky notes, shapes, text, cards, frames, images, and connectors
- Read board items: list and fetch everything on a board, including tags and grouped items
- Build mind maps: add, read, and remove mind map nodes on a board
- Organize teams and projects: create teams and projects, invite members, and update their settings
- Export boards: start board export jobs and fetch the finished results
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Miro connection
In AgentKit > Connections, create a Miro connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Miro connections use your own OAuth app. Register one with Miro and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Miro connection.
Console steps with screenshots
Register your Scalekit environment with the Miro connector so Scalekit handles the OAuth flow and token lifecycle for your users. Follow every step below from start to finish — by the end you will have a working connection.
-
Create a Miro app
You need a Miro OAuth app to get the Client ID and Client Secret that Scalekit will use to authorize your users.
Go to the Miro Developer Portal:
- Open miro.com/app/settings/user-profile/apps in your browser.
- Sign in with the Miro account you use to manage your integration.
- After signing in, you land on the My Apps page.
Create a new app:
-
Click Create New App (top right of the page).
-
Fill in the form:
Field What to enter App Name A recognizable name, e.g. My AI Collaboration AgentApp Description Brief description, e.g. AI agent for managing Miro boardsHomepage URL Your app’s public URL. For testing you can use https://localhostGrant Type Select Authorization Code — this is required for OAuth 2.0 -
Leave Redirect URIs blank for now. You will add it in the next step.
-
Click Create App.
After the app is created, Miro takes you to the app’s OAuth Settings page. Keep this tab open.

-
Copy the redirect URI from Scalekit
Scalekit gives you a callback URL that Miro will redirect users back to after they authorize your app. You need to register this URL in your Miro app.
In the Scalekit dashboard:
- Go to app.scalekit.com and sign in.
- In the left sidebar, click AgentKit.
- Click Create Connection.
- Search for Miro and click Create.
- A connection details panel opens. Find the Redirect URI field — it looks like:
https://<YOUR_ENV>.scalekit.cloud/sso/v1/oauth/conn_<ID>/callback
- Click the copy icon next to the Redirect URI to copy it to your clipboard.

-
Register the redirect URI and copy credentials
Switch back to the Miro Developer Portal tab.
- Make sure you are on the OAuth Settings page of your app.
- Scroll to the Redirect URIs section.
- Paste the redirect URI you copied from Scalekit into the input box and click Add URI.
- Click Save Changes at the bottom of the page.
Copy your credentials:
- Scroll to OAuth Credentials at the top of the page.
- Client ID — shown in plain text. Click Copy ID to copy it.
- Client Secret — click Reveal to show the secret, then copy it.
Keep both values in a password manager or secrets vault. You will enter them into Scalekit in the next step.

-
Configure permissions (scopes)
Scopes control which Miro resources your app can access on behalf of each user. You select the scopes in Scalekit when saving your credentials.
Scope Access granted Plan required boards:readRead boards, members, and all board items All plans boards:writeCreate, update, and delete boards, members, and items All plans identity:readRead current user profile including email All plans team:readRead current team information All plans auditlogs:readRead audit logs for the organization Enterprise only organizations:readRead organization information Enterprise only organizations:teams:readRead teams within an organization Enterprise only organizations:teams:writeCreate and manage teams within an organization Enterprise only projects:readRead projects within teams Enterprise only projects:writeCreate and manage projects within teams Enterprise only For most integrations,
boards:readandboards:writeare sufficient. -
Add credentials in Scalekit
Switch back to the Scalekit dashboard tab.
-
Go to AgentKit > Connections and open the Miro connection you created in step 2.
-
Fill in the credentials form:
Field Value Client ID Paste the Client ID from step 3 Client Secret Paste the Client Secret from step 3 Permissions Enter the scopes your app needs, e.g. boards:read boards:write -
Click Save.

Your Miro connection is now configured. Scalekit will use these credentials to run the OAuth flow whenever a user connects their Miro account.
-
-
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'miro'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Miro:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'miro_boards_list',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "miro"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Miro:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="miro_boards_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolmiro_app_card_getRetrieves an app card item from a Miro board.Read-onlyGet App Card
Retrieves an app card item from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_audit_logs_getRetrieves audit logs for the organization (Enterprise only).Read-onlyGet Audit Logs
Retrieves audit logs for the organization (Enterprise only). Returns events for the specified date range (max 90 days).
Inputs
created_afterstringrequired- Start of date range in ISO 8601.
created_beforestringrequired- End of date range in ISO 8601.
cursorstring- Pagination cursor.
limitinteger- Max results per page (1-100).
sortingstring- Sort order: asc | desc.
miro_board_export_job_getGets the status of a board export job (Enterprise only).Read-onlyGet Board Export Job Status
Gets the status of a board export job (Enterprise only).
Inputs
job_idstringrequired- Export job ID.
org_idstringrequired- Organization ID.
miro_board_export_job_results_getRetrieves the results/download URLs of a completed board export job (Enterprise only).Read-onlyGet Board Export Job Results
Retrieves the results/download URLs of a completed board export job (Enterprise only).
Inputs
job_idstringrequired- Export job ID.
org_idstringrequired- Organization ID.
miro_board_export_jobs_listLists all board export jobs for an organization (Enterprise only).Read-onlyList Board Export Jobs
Lists all board export jobs for an organization (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
cursorstring- Pagination cursor.
limitinteger- Max results.
miro_board_getRetrieves details of a specific Miro board by its ID.Read-onlyGet Board
Retrieves details of a specific Miro board by its ID.
Inputs
board_idstringrequired- Unique identifier of the Miro board.
miro_board_member_getRetrieves details of a specific member on a Miro board.Read-onlyGet Board Member
Retrieves details of a specific member on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
member_idstringrequired- Unique identifier of the board member.
miro_board_members_listReturns a list of members on a Miro board.Read-onlyList Board Members
Returns a list of members on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
miro_boards_listReturns a list of Miro boards the authenticated user has access to.Read-onlyList Boards
Returns a list of Miro boards the authenticated user has access to. Supports filtering by team, project, owner, and search query.
Inputs
This tool takes no inputs.
miro_card_getRetrieves details of a specific card item on a Miro board.Read-onlyGet Card
Retrieves details of a specific card item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the card item.
miro_connector_getRetrieves details of a specific connector (line/arrow) on a Miro board.Read-onlyGet Connector
Retrieves details of a specific connector (line/arrow) on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
connector_idstringrequired- Unique identifier of the connector.
miro_connectors_listReturns all connector (line/arrow) items on a Miro board.Read-onlyList Connectors
Returns all connector (line/arrow) items on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
cursorstring- Cursor token from a previous response for pagination.
miro_data_classification_board_getRetrieves the data classification label for a specific board (Enterprise only).Read-onlyGet Board Data Classification
Retrieves the data classification label for a specific board (Enterprise only).
Inputs
board_idstringrequired- Unique identifier of the board.
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_data_classification_org_getRetrieves data classification label settings for the organization (Enterprise only).Read-onlyGet Org Data Classification Settings
Retrieves data classification label settings for the organization (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
miro_data_classification_team_getRetrieves data classification settings for a team (Enterprise only).Read-onlyGet Team Data Classification Settings
Retrieves data classification settings for a team (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_doc_item_getRetrieves a specific doc format item from a Miro board.Read-onlyGet Doc Item
Retrieves a specific doc format item from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the doc item to retrieve.
text_content_typestring- Controls the content type of the returned doc's content: html or markdown.one of
htmlmarkdown
miro_document_getRetrieves a document item from a Miro board.Read-onlyGet Document Item
Retrieves a document item from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_embed_getRetrieves an embed item from a Miro board.Read-onlyGet Embed Item
Retrieves an embed item from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_frame_getRetrieves details of a specific frame item on a Miro board.Read-onlyGet Frame
Retrieves details of a specific frame item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the frame item.
miro_group_items_getRetrieves a group and its items from a Miro board.Read-onlyGet Group Items
Retrieves a group and its items from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
group_idstringrequired- Unique identifier of the group.
miro_group_items_lookupGiven the ID of any item that belongs to a group, returns all items that are part of that same group on the board.Read-onlyLook Up Group By Item
Given the ID of any item that belongs to a group, returns all items that are part of that same group on the board.
Inputs
board_idstringrequired- Unique identifier of the board.
group_item_idstringrequired- The ID of any item that belongs to the group you want to look up.
cursorstring- Cursor from a previous response, used to fetch the next page of results.
limitinteger- Maximum number of items to return (default 10, max 50).
miro_groups_listLists all item groups on a Miro board.Read-onlyList Item Groups
Lists all item groups on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
cursorstring- Pagination cursor from previous response.
miro_image_getRetrieves details of a specific image item on a Miro board.Read-onlyGet Image
Retrieves details of a specific image item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the image item.
miro_item_getRetrieves details of a specific item on a Miro board by its item ID.Read-onlyGet Board Item
Retrieves details of a specific item on a Miro board by its item ID.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_items_listReturns all items on a Miro board.Read-onlyList Board Items
Returns all items on a Miro board. Optionally filter by item type.
Inputs
board_idstringrequired- Unique identifier of the board.
miro_mindmap_node_getRetrieves a specific mind map node from a Miro board (experimental API).Read-onlyGet Mind Map Node
Retrieves a specific mind map node from a Miro board (experimental API).
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_mindmap_nodes_listLists all mind map nodes on a Miro board (experimental API).Read-onlyList Mind Map Nodes
Lists all mind map nodes on a Miro board (experimental API).
Inputs
board_idstringrequired- Unique identifier of the board.
cursorstring- Pagination cursor from previous response.
miro_oembed_getReturns oEmbed data for a Miro board URL so it can be embedded as a live iframe in external sites.Read-onlyGet oEmbed Data
Returns oEmbed data for a Miro board URL so it can be embedded as a live iframe in external sites.
Inputs
urlstringrequired- Full URL of the Miro board.
formatstring- Response format: json (default) or xml.
maxheightinteger- Maximum embed height in pixels.
maxwidthinteger- Maximum embed width in pixels.
miro_org_getRetrieves information about the organization (Enterprise only).Read-onlyGet Organization
Retrieves information about the organization (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
miro_org_member_getRetrieves a specific member of an organization (Enterprise only).Read-onlyGet Organization Member
Retrieves a specific member of an organization (Enterprise only).
Inputs
member_idstringrequired- Member ID.
org_idstringrequired- Organization ID.
miro_org_members_listLists all members of an organization (Enterprise only).Read-onlyList Organization Members
Lists all members of an organization (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
cursorstring- Pagination cursor.
emailsstring- Comma-separated list of emails to filter by.
limitinteger- Max results per page.
rolestring- Filter by role: admin | member.
miro_project_getRetrieves a specific project (Enterprise only).Read-onlyGet Project
Retrieves a specific project (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
project_idstringrequired- Project ID.
team_idstringrequired- Team ID.
miro_project_member_getRetrieves information about a specific member of a project.Read-onlyGet Project Member
Retrieves information about a specific member of a project. Enterprise plan only.
Inputs
member_idstringrequired- The ID of the member to retrieve.
org_idstringrequired- The ID of the organization.
project_idstringrequired- The ID of the project.
team_idstringrequired- The ID of the team.
miro_project_members_listLists members of a project (Enterprise only).Read-onlyList Project Members
Lists members of a project (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
project_idstringrequired- Project ID.
team_idstringrequired- Team ID.
cursorstring- Pagination cursor.
limitinteger- Max results.
miro_project_settings_getRetrieves the sharing and access settings for a project.Read-onlyGet Project Settings
Retrieves the sharing and access settings for a project. Enterprise plan only.
Inputs
org_idstringrequired- The ID of the organization.
project_idstringrequired- The ID of the project.
team_idstringrequired- The ID of the team.
miro_projects_listLists all projects in a team (Enterprise only).Read-onlyList Projects
Lists all projects in a team (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
cursorstring- Pagination cursor.
limitinteger- Max results.
miro_shape_getRetrieves details of a specific shape item on a Miro board.Read-onlyGet Shape
Retrieves details of a specific shape item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the shape item.
miro_sticky_note_getRetrieves details of a specific sticky note on a Miro board.Read-onlyGet Sticky Note
Retrieves details of a specific sticky note on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the sticky note item.
miro_tag_getRetrieves details of a specific tag on a Miro board.Read-onlyGet Tag
Retrieves details of a specific tag on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
tag_idstringrequired- Unique identifier of the tag.
miro_team_getRetrieves a specific team in an organization (Enterprise only).Read-onlyGet Team
Retrieves a specific team in an organization (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_team_member_getRetrieves a specific member of a team (Enterprise only).Read-onlyGet Team Member
Retrieves a specific member of a team (Enterprise only).
Inputs
member_idstringrequired- Member ID.
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_team_members_listLists members of a team (Enterprise only).Read-onlyList Team Members
Lists members of a team (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
cursorstring- Pagination cursor.
limitinteger- Max results.
miro_team_settings_getRetrieves settings for a team (Enterprise only).Read-onlyGet Team Settings
Retrieves settings for a team (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_teams_listLists all teams in an organization (Enterprise only).Read-onlyList Teams
Lists all teams in an organization (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
cursorstring- Pagination cursor.
limitinteger- Max results per page.
miro_text_getRetrieves details of a specific text item on a Miro board.Read-onlyGet Text Item
Retrieves details of a specific text item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the text item.
miro_token_info_getReturns information about the current OAuth token including the authenticated user ID, name, team, and granted scopes.Read-onlyGet Token Info
Returns information about the current OAuth token including the authenticated user ID, name, team, and granted scopes.
Inputs
This tool takes no inputs.
miro_app_card_createCreates an app card item on a Miro board.WriteCreate App Card
Creates an app card item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
descriptionstring- Description of the app card.
parent_idstring- ID of parent frame to nest this item inside.
position_xnumber- X coordinate on the board.
position_ynumber- Y coordinate on the board.
statusstring- Status: disconnected | connected | disabled.
titlestring- Title of the app card.
widthnumber- Width in board units.
miro_app_card_updateUpdates an existing app card item on a Miro board.WriteUpdate App Card
Updates an existing app card item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
descriptionstring- Description of the app card.
parent_idstring- ID of parent frame to nest this item inside.
position_xnumber- X coordinate on the board.
position_ynumber- Y coordinate on the board.
statusstring- Status: disconnected | connected | disabled.
titlestring- Title of the app card.
widthnumber- Width in board units.
miro_board_copyCreates a copy of an existing Miro board, optionally in a different team.WriteCopy Board
Creates a copy of an existing Miro board, optionally in a different team.
Inputs
board_idstringrequired- Unique identifier of the board to copy.
team_idstring- Team ID to copy the board into. Defaults to the original board's team.
miro_board_createCreates a new Miro board.WriteCreate Board
Creates a new Miro board. If no name is provided, Miro defaults to 'Untitled'.
Inputs
descriptionstring- Board description (max 300 characters).
namestring- Board name (max 60 characters).
project_idstring- ID of the project/Space to add the board to.
team_idstring- ID of the team to create the board in.
miro_board_export_createCreates a board export job for eDiscovery (Enterprise only).WriteCreate Board Export Job
Creates a board export job for eDiscovery (Enterprise only). Returns a job ID to poll for status.
Inputs
board_idsstringrequired- JSON array of board IDs to export, e.g. ["id1","id2"]
org_idstringrequired- Organization ID.
request_idstringrequired- Unique request ID (UUID) to identify this export job.
formatstring- Export format: pdf | csv.
miro_board_member_updateUpdates the role of a member on a Miro board.WriteUpdate Board Member Role
Updates the role of a member on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
member_idstringrequired- Unique identifier of the board member to update.
rolestringrequired- New role for the member. Valid values: viewer, commenter, editor, coowner.
miro_board_updateUpdates the name or description of a Miro board.WriteUpdate Board
Updates the name or description of a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board to update.
descriptionstring- New board description (max 300 characters).
namestring- New board name (max 60 characters).
miro_card_createCreates a card item on a Miro board.WriteCreate Card
Creates a card item on a Miro board. Cards can have a title, description, assignee, and due date.
Inputs
board_idstringrequired- Unique identifier of the board.
assignee_idstring- User ID to assign the card to.
card_themestring- Card theme color as hex code (e.g. #2d9bf0).
descriptionstring- Description/body text of the card.
due_datestring- Due date in ISO 8601 format (e.g. 2024-12-31T23:59:59Z).
parent_idstring- ID of a parent frame to place the card inside.
position_xnumber- X coordinate on the board (0 = center).
position_ynumber- Y coordinate on the board (0 = center).
titlestring- Title of the card.
widthnumber- Width of the card in board units.
miro_card_updateUpdates the content, assignment, due date, or position of a card on a Miro board.WriteUpdate Card
Updates the content, assignment, due date, or position of a card on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the card to update.
assignee_idstring- Updated assignee user ID.
descriptionstring- Updated card description.
due_datestring- Updated due date in ISO 8601 format.
position_xnumber- Updated X coordinate on the board.
position_ynumber- Updated Y coordinate on the board.
titlestring- Updated card title.
miro_connector_createCreates a connector (line/arrow) between two existing items on a Miro board.WriteCreate Connector
Creates a connector (line/arrow) between two existing items on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
end_item_idstringrequired- ID of the item where the connector ends.
start_item_idstringrequired- ID of the item where the connector starts.
captionstring- Text label to display on the connector.
end_snap_tostring- Attachment point on the end item. Valid values: auto, top, right, bottom, left.
end_stroke_capstring- End endpoint cap style. Valid values: none, arrow, filled_arrow, circle, filled_circle, diamond, filled_diamond, bar, stealth.
shapestring- Connector line style. Valid values: straight, elbowed, curved.
start_snap_tostring- Attachment point on the start item. Valid values: auto, top, right, bottom, left.
start_stroke_capstring- Start endpoint cap style. Valid values: none, arrow, filled_arrow, circle, filled_circle, diamond, filled_diamond, bar, stealth.
stroke_colorstring- Line color as hex code.
stroke_widthstring- Line thickness as a string number.
miro_connector_updateUpdates the style, shape, or endpoints of a connector on a Miro board.WriteUpdate Connector
Updates the style, shape, or endpoints of a connector on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
connector_idstringrequired- Unique identifier of the connector to update.
captionstring- Updated text label on the connector.
end_stroke_capstring- Updated end endpoint cap style (e.g. arrow, none, filled_arrow).
shapestring- Updated line style. Valid values: straight, elbowed, curved.
stroke_colorstring- Updated line color as hex code.
stroke_widthstring- Updated line thickness as a string number.
miro_data_classification_board_setSets the data classification label for a specific board (Enterprise only).WriteSet Board Data Classification
Sets the data classification label for a specific board (Enterprise only).
Inputs
board_idstringrequired- Unique identifier of the board.
label_idstringrequired- Classification label ID.
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_doc_item_createCreates a doc format item (a native markdown text block) on a Miro board.WriteCreate Doc Item
Creates a doc format item (a native markdown text block) on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
contentstringrequired- Markdown text content of the doc item.
parent_idstring- ID of a parent frame to place the doc item inside.
position_xnumber- X coordinate on the board (0 = center).
position_ynumber- Y coordinate on the board (0 = center).
miro_document_createCreates a document item on a Miro board from a publicly accessible URL.WriteCreate Document Item
Creates a document item on a Miro board from a publicly accessible URL.
Inputs
board_idstringrequired- Unique identifier of the board.
urlstringrequired- Publicly accessible URL of the document.
heightnumber- Height in board units.
parent_idstring- ID of parent frame to nest this item inside.
position_xnumber- X coordinate on the board.
position_ynumber- Y coordinate on the board.
titlestring- Title of the document item.
widthnumber- Width in board units.
miro_document_updateUpdates an existing document item on a Miro board.WriteUpdate Document Item
Updates an existing document item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
heightnumber- Height in board units.
parent_idstring- ID of parent frame to nest this item inside.
position_xnumber- X coordinate on the board.
position_ynumber- Y coordinate on the board.
titlestring- Title of the document item.
urlstring- New URL for the document.
widthnumber- Width in board units.
miro_embed_createCreates an embed item on a Miro board from an oEmbed-compatible URL (YouTube, Vimeo, etc.).WriteCreate Embed Item
Creates an embed item on a Miro board from an oEmbed-compatible URL (YouTube, Vimeo, etc.).
Inputs
board_idstringrequired- Unique identifier of the board.
urlstringrequired- URL of the content to embed (oEmbed-compatible).
heightnumber- Height in board units.
modestring- Embed mode: inline | modal.
parent_idstring- ID of parent frame to nest this item inside.
position_xnumber- X coordinate on the board.
position_ynumber- Y coordinate on the board.
preview_urlstring- URL of preview image to display.
widthnumber- Width in board units.
miro_embed_updateUpdates an existing embed item on a Miro board.WriteUpdate Embed Item
Updates an existing embed item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
heightnumber- Height in board units.
modestring- Embed mode: inline | modal.
parent_idstring- ID of parent frame to nest this item inside.
position_xnumber- X coordinate on the board.
position_ynumber- Y coordinate on the board.
preview_urlstring- URL of preview image to display.
urlstring- New embed URL.
widthnumber- Width in board units.
miro_frame_createCreates a frame item on a Miro board.WriteCreate Frame
Creates a frame item on a Miro board. Frames group and organize other board items.
Inputs
board_idstringrequired- Unique identifier of the board.
fill_colorstring- Background fill color as hex code (e.g. #ffffffff for transparent).
heightnumber- Height of the frame in board units.
position_xnumber- X coordinate on the board (0 = center).
position_ynumber- Y coordinate on the board (0 = center).
titlestring- Title displayed at the top of the frame.
widthnumber- Width of the frame in board units.
miro_frame_updateUpdates the title, style, or position of a frame on a Miro board.WriteUpdate Frame
Updates the title, style, or position of a frame on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the frame to update.
fill_colorstring- Updated background fill color as hex code.
heightnumber- Updated height in board units.
position_xnumber- Updated X coordinate on the board.
position_ynumber- Updated Y coordinate on the board.
titlestring- Updated frame title.
widthnumber- Updated width in board units.
miro_group_createCreates a group of items on a Miro board.WriteCreate Item Group
Creates a group of items on a Miro board. Items in a group move together.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idsstringrequired- JSON array of item IDs to group, e.g. ["id1","id2"]
miro_group_updateReplaces the membership of an existing item group with a new set of items.WriteUpdate Item Group
Replaces the membership of an existing item group with a new set of items. The original group is replaced entirely and is assigned a new group ID.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
group_idstringrequired- Unique identifier of the group to update.
item_idsarrayrequired- Array of item IDs that should make up the group after the update.
miro_image_createCreates an image item on a Miro board from a publicly accessible URL.WriteCreate Image
Creates an image item on a Miro board from a publicly accessible URL.
Inputs
board_idstringrequired- Unique identifier of the board.
urlstringrequired- Publicly accessible URL of the image.
heightnumber- Height of the image in board units.
parent_idstring- ID of a parent frame to place the image inside.
position_xnumber- X coordinate on the board (0 = center).
position_ynumber- Y coordinate on the board (0 = center).
rotationnumber- Rotation angle in degrees.
titlestring- Display name/title for the image item.
widthnumber- Width of the image in board units.
miro_image_updateUpdates the URL, title, position, or size of an image item on a Miro board.WriteUpdate Image
Updates the URL, title, position, or size of an image item on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the image item to update.
position_xnumber- Updated X coordinate on the board.
position_ynumber- Updated Y coordinate on the board.
rotationnumber- Updated rotation angle in degrees.
titlestring- Updated title for the image.
urlstring- Updated image URL.
widthnumber- Updated width in board units.
miro_item_tag_attachAttaches an existing tag to a specific item on a Miro board.WriteAttach Tag to Item
Attaches an existing tag to a specific item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item to attach the tag to.
tag_idstringrequired- Unique identifier of the tag to attach.
miro_items_bulk_createCreates up to 20 board items in a single transactional request.WriteBulk Create Items
Creates up to 20 board items in a single transactional request. Pass a JSON array of item objects as `items`. Each object must have a `type` field (sticky_note, text, shape, card, image, frame, etc.) and appropriate data.
Inputs
board_idstringrequired- Unique identifier of the board.
itemsstringrequired- JSON array of item objects, each with "type" and item-specific fields.
miro_mindmap_node_createCreates a mind map node on a Miro board (experimental API).WriteCreate Mind Map Node
Creates a mind map node on a Miro board (experimental API). Omit parent_node_id for the root node.
Inputs
board_idstringrequired- Unique identifier of the board.
node_valuestringrequired- Text content of the mind map node.
parent_node_idstring- ID of parent mind map node (omit for root node).
miro_project_createCreates a project (space) in a team (Enterprise only).WriteCreate Project
Creates a project (space) in a team (Enterprise only).
Inputs
namestringrequired- Project name.
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
descriptionstring- Project description.
miro_project_member_addAdds a member to a project (Enterprise only).WriteAdd Project Member
Adds a member to a project (Enterprise only).
Inputs
member_idstringrequired- Member ID to add.
org_idstringrequired- Organization ID.
project_idstringrequired- Project ID.
team_idstringrequired- Team ID.
rolestring- Role: editor | commenter | viewer.
miro_project_member_updateUpdates the role of an existing project member.WriteUpdate Project Member
Updates the role of an existing project member. Enterprise plan only.
- Idempotent
Inputs
member_idstringrequired- The ID of the member to update.
org_idstringrequired- The ID of the organization.
project_idstringrequired- The ID of the project.
team_idstringrequired- The ID of the team.
rolestring- The new role for the member: owner, coowner, editor, commentator, or viewer.one of
ownereditorviewercommentatorcoowner
miro_project_settings_updateUpdates the sharing and access settings for a project, such as who can view or edit its boards by default.WriteUpdate Project Settings
Updates the sharing and access settings for a project, such as who can view or edit its boards by default. Enterprise plan only.
- Idempotent
Inputs
org_idstringrequired- The ID of the organization.
project_idstringrequired- The ID of the project.
team_idstringrequired- The ID of the team.
team_accessstring- Default access level for team members: private, view, edit, or comment.one of
privatevieweditcomment
miro_project_updateUpdates a project's (space's) name.WriteUpdate Project
Updates a project's (space's) name. Enterprise plan only; requires Company Admin or Team Admin permissions.
- Idempotent
Inputs
namestringrequired- The new name of the project.
org_idstringrequired- The ID of the organization.
project_idstringrequired- The ID of the project to update.
team_idstringrequired- The ID of the team.
miro_shape_createCreates a shape item on a Miro board.WriteCreate Shape
Creates a shape item on a Miro board. Shapes can contain text and support rich styling.
Inputs
board_idstringrequired- Unique identifier of the board.
shapestringrequired- Shape type. Valid values: rectangle, round_rectangle, circle, triangle, rhombus, parallelogram, trapezoid, pentagon, hexagon, octagon, star, cross, right_arrow, left_right_arrow, cloud.
contentstring- Text content inside the shape (supports simple HTML).
fill_colorstring- Background fill color as hex code (e.g. #ff0000) or name.
font_sizestring- Font size for text inside the shape as a string number.
heightnumber- Height of the shape in board units.
parent_idstring- ID of a parent frame to place the shape inside.
position_xnumber- X coordinate on the board (0 = center).
position_ynumber- Y coordinate on the board (0 = center).
rotationnumber- Rotation angle in degrees.
stroke_colorstring- Border/stroke color as hex code.
stroke_widthstring- Border stroke width as a string number.
text_alignstring- Horizontal text alignment. Valid values: left, center, right.
widthnumber- Width of the shape in board units.
miro_shape_updateUpdates the content, style, or position of a shape item on a Miro board.WriteUpdate Shape
Updates the content, style, or position of a shape item on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the shape to update.
contentstring- Updated text content inside the shape.
fill_colorstring- Updated fill color as hex code.
heightnumber- Updated height in board units.
parent_idstring- ID of a parent frame to move the shape into.
position_xnumber- Updated X coordinate on the board.
position_ynumber- Updated Y coordinate on the board.
shapestring- Updated shape type (e.g. rectangle, circle, triangle).
stroke_colorstring- Updated stroke/border color as hex code.
widthnumber- Updated width in board units.
miro_sticky_note_createCreates a sticky note item on a Miro board.WriteCreate Sticky Note
Creates a sticky note item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
contentstring- Text content of the sticky note (supports simple HTML tags).
fill_colorstring- Background color. Valid values: gray, light_yellow, yellow, orange, light_green, green, dark_green, cyan, light_pink, pink, violet, red, light_blue, blue, dark_blue, black, white.
parent_idstring- ID of a parent frame to place the sticky note inside.
position_xnumber- X coordinate on the board (0 = center).
position_ynumber- Y coordinate on the board (0 = center).
shapestring- Shape of the sticky note. Valid values: square, rectangle.
text_alignstring- Horizontal text alignment. Valid values: left, center, right.
text_align_verticalstring- Vertical text alignment. Valid values: top, middle, bottom.
widthnumber- Width of the sticky note in board units.
miro_sticky_note_updateUpdates the content, style, or position of a sticky note on a Miro board.WriteUpdate Sticky Note
Updates the content, style, or position of a sticky note on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the sticky note to update.
contentstring- Updated text content of the sticky note.
fill_colorstring- Updated background color (e.g. yellow, blue, pink).
parent_idstring- ID of a parent frame to move the sticky note into.
position_xnumber- Updated X coordinate on the board.
position_ynumber- Updated Y coordinate on the board.
shapestring- Updated shape. Valid values: square, rectangle.
text_alignstring- Updated horizontal text alignment: left, center, right.
widthnumber- Updated width of the sticky note.
miro_tag_createCreates a tag on a Miro board.WriteCreate Tag
Creates a tag on a Miro board. Tags can be attached to items to categorize them.
Inputs
board_idstringrequired- Unique identifier of the board.
titlestringrequired- Tag text (max 120 characters, must be unique on the board).
fill_colorstring- Tag color. Valid values: red, light_green, cyan, yellow, magenta, green, blue, gray, violet, dark_green, dark_blue, black.
miro_tag_updateUpdates the title or color of a tag on a Miro board.WriteUpdate Tag
Updates the title or color of a tag on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
tag_idstringrequired- Unique identifier of the tag to update.
fill_colorstring- Updated tag color (e.g. red, blue, green, yellow).
titlestring- Updated tag text (max 120 characters, must be unique on the board).
miro_team_createCreates a new team in an organization (Enterprise only).WriteCreate Team
Creates a new team in an organization (Enterprise only).
Inputs
namestringrequired- Team name.
org_idstringrequired- Organization ID.
descriptionstring- Team description.
miro_team_member_inviteInvites a user to a team by email (Enterprise only).WriteInvite Team Member
Invites a user to a team by email (Enterprise only).
Inputs
emailstringrequired- User email.
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
rolestring- Role: admin | member | guest.
miro_team_member_updateUpdates the role of a team member (Enterprise only).WriteUpdate Team Member Role
Updates the role of a team member (Enterprise only).
Inputs
member_idstringrequired- Member ID.
org_idstringrequired- Organization ID.
rolestringrequired- New role: admin | member | guest.
team_idstringrequired- Team ID.
miro_team_settings_updateUpdates settings for a team (Enterprise only).WriteUpdate Team Settings
Updates settings for a team (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
copy_access_levelstring- Who can copy boards: team_only | company | anyone.
sharing_policystring- Board sharing policy: team_only | company | public.
miro_team_updateUpdates a team's name or description (Enterprise only).WriteUpdate Team
Updates a team's name or description (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
descriptionstring- New description.
namestring- New team name.
miro_text_createCreates a text item on a Miro board.WriteCreate Text Item
Creates a text item on a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
contentstringrequired- Text content (supports HTML tags).
colorstring- Text color as hex code.
fill_colorstring- Background color as hex code.
font_sizestring- Font size as a string number (e.g. '14').
parent_idstring- ID of a parent frame to place the text inside.
position_xnumber- X coordinate on the board (0 = center).
position_ynumber- Y coordinate on the board (0 = center).
rotationnumber- Rotation angle in degrees.
text_alignstring- Text alignment. Valid values: left, center, right.
widthnumber- Width of the text box in board units.
miro_text_updateUpdates the content, style, or position of a text item on a Miro board.WriteUpdate Text Item
Updates the content, style, or position of a text item on a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the text item to update.
colorstring- Updated text color as hex code.
contentstring- Updated text content.
font_sizestring- Updated font size as a string number.
position_xnumber- Updated X coordinate on the board.
position_ynumber- Updated Y coordinate on the board.
widthnumber- Updated width in board units.
miro_app_card_deleteDeletes an app card item from a Miro board.DestructiveDelete App Card
Deletes an app card item from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_board_deletePermanently deletes a Miro board and all its contents.DestructiveDelete Board
Permanently deletes a Miro board and all its contents.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board to delete.
miro_board_member_removeRemoves a member from a Miro board.DestructiveRemove Board Member
Removes a member from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
member_idstringrequired- Unique identifier of the member to remove.
miro_card_deleteDeletes a card item from a Miro board.DestructiveDelete Card
Deletes a card item from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the card to delete.
miro_connector_deleteDeletes a connector (line/arrow) from a Miro board.DestructiveDelete Connector
Deletes a connector (line/arrow) from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
connector_idstringrequired- Unique identifier of the connector to delete.
miro_doc_item_deleteDeletes a doc format item from a Miro board.DestructiveDelete Doc Item
Deletes a doc format item from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the doc item to delete.
miro_document_deleteDeletes a document item from a Miro board.DestructiveDelete Document Item
Deletes a document item from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_embed_deleteDeletes an embed item from a Miro board.DestructiveDelete Embed Item
Deletes an embed item from a Miro board.
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_frame_deleteDeletes a frame item from a Miro board.DestructiveDelete Frame
Deletes a frame item from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the frame to delete.
miro_group_deleteDeletes a group from a Miro board (items remain but are ungrouped).DestructiveDelete Item Group
Deletes a group from a Miro board (items remain but are ungrouped).
Inputs
board_idstringrequired- Unique identifier of the board.
group_idstringrequired- Unique identifier of the group.
miro_image_deleteDeletes an image item from a Miro board.DestructiveDelete Image
Deletes an image item from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the image item to delete.
miro_item_deleteDeletes a specific item from a Miro board.DestructiveDelete Board Item
Deletes a specific item from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item to delete.
miro_item_tag_removeRemoves a tag from a specific item on a Miro board.DestructiveRemove Tag from Item
Removes a tag from a specific item on a Miro board. Does not delete the tag from the board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
tag_idstringrequired- Unique identifier of the tag to remove from the item.
miro_mindmap_node_deleteDeletes a mind map node and all its children from a Miro board (experimental API).DestructiveDelete Mind Map Node
Deletes a mind map node and all its children from a Miro board (experimental API).
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the item.
miro_project_deleteDeletes a project from a team (Enterprise only).DestructiveDelete Project
Deletes a project from a team (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
project_idstringrequired- Project ID.
team_idstringrequired- Team ID.
miro_project_member_deleteRemoves a member from a project (Enterprise only).DestructiveRemove Project Member
Removes a member from a project (Enterprise only).
Inputs
member_idstringrequired- Member ID.
org_idstringrequired- Organization ID.
project_idstringrequired- Project ID.
team_idstringrequired- Team ID.
miro_shape_deleteDeletes a shape item from a Miro board.DestructiveDelete Shape
Deletes a shape item from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the shape to delete.
miro_sticky_note_deleteDeletes a sticky note from a Miro board.DestructiveDelete Sticky Note
Deletes a sticky note from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the sticky note to delete.
miro_tag_deleteDeletes a tag from a Miro board.DestructiveDelete Tag
Deletes a tag from a Miro board. Detaches the tag from all items it was attached to.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
tag_idstringrequired- Unique identifier of the tag to delete.
miro_team_deleteDeletes a team from an organization (Enterprise only).DestructiveDelete Team
Deletes a team from an organization (Enterprise only).
Inputs
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_team_member_deleteRemoves a member from a team (Enterprise only).DestructiveRemove Team Member
Removes a member from a team (Enterprise only).
Inputs
member_idstringrequired- Member ID.
org_idstringrequired- Organization ID.
team_idstringrequired- Team ID.
miro_text_deleteDeletes a text item from a Miro board.DestructiveDelete Text Item
Deletes a text item from a Miro board.
- Idempotent
Inputs
board_idstringrequired- Unique identifier of the board.
item_idstringrequired- Unique identifier of the text item to delete.
No tools match.
Workflows
Proxy API call
// Example: list boardsconst boards = await actions.request({ connectionName: 'miro', identifier: 'user_123', path: '/v2/boards', method: 'GET',});console.log('Boards:', boards);
// Example: create a sticky note on a boardconst stickyNote = await actions.request({ connectionName: 'miro', identifier: 'user_123', path: '/v2/boards/YOUR_BOARD_ID/sticky_notes', method: 'POST', body: { data: { content: 'Hello from my AI agent!' }, style: { fillColor: 'yellow' }, },});console.log('Sticky note created:', stickyNote);# Example: list boardsboards = actions.request( connection_name='miro', identifier='user_123', path="/v2/boards", method="GET")print("Boards:", boards)
# Example: create a sticky note on a boardsticky_note = actions.request( connection_name='miro', identifier='user_123', path="/v2/boards/YOUR_BOARD_ID/sticky_notes", method="POST", body={ "data": {"content": "Hello from my AI agent!"}, "style": {"fillColor": "yellow"}, })print("Sticky note created:", sticky_note)Execute a tool
const result = await actions.executeTool({ connector: 'miro', identifier: 'user_123', toolName: 'miro_app_card_create', toolInput: {},});console.log(result);result = actions.execute_tool( connection_name='miro', identifier='user_123', tool_name='miro_app_card_create', tool_input={},)print(result)