Miro

Learn how to use Miro with Composio

Overview

SLUG: MIRO

Description

Miro is a collaborative online whiteboard enabling teams to brainstorm ideas, design wireframes, plan workflows, and manage projects visually

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to boards:export,boards:read,boards:write
bearer_token
string

Connecting to Miro

Create an auth config

Use the dashboard to create an auth config for the Miro toolkit. This allows you to connect multiple Miro accounts to Composio for agents to use.

1

Select App

Navigate to the Miro toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5miro_auth_config_id = "ac_YOUR_MIRO_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/application
7
8composio = Composio()
9
10
11def authenticate_toolkit(user_id: str, auth_config_id: str):
12 connection_request = composio.connected_accounts.initiate(
13 user_id=user_id,
14 auth_config_id=auth_config_id,
15 )
16
17 print(
18 f"Visit this URL to authenticate Miro: {connection_request.redirect_url}"
19 )
20
21 # This will wait for the auth flow to be completed
22 connection_request.wait_for_connection(timeout=15)
23 return connection_request.id
24
25
26connection_id = authenticate_toolkit(user_id, miro_auth_config_id)
27
28# You can also verify the connection status using:
29connected_account = composio.connected_accounts.get(connection_id)
30print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Miro toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["MIRO"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create App Card Item

Description

Tool to add an app card item to a board. use when you need to push a rich preview card with custom fields into a miro board (e.g., after assembling card data).

Action Parameters

board_id
stringRequired
data
objectRequired
geometry
object
parent
object
position
object
style
object

Action Response

createdAt
stringRequired
createdBy
objectRequired
data
objectRequired
error
string
geometry
object
id
stringRequired
links
objectRequired
modifiedAt
stringRequired
modifiedBy
objectRequired
parent
object
position
objectRequired
style
objectRequired
successful
booleanRequired

Tool Name: Create Board

Description

Tool to create a new board. use when you need to set up a board with a specific name, description, and policies. example: "create a new board named project plan".

Action Parameters

description
string
name
stringRequired
policy
object
projectId
string
teamId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete App Card Item

Description

Tool to delete an app card item from a board. use when you need to remove an app card item created by your app after it is no longer needed.

Action Parameters

board_id
stringRequired
item_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Document Item

Description

Tool to delete a document item from a board. use when you need to remove a document item (e.g., pdf or image) that is no longer relevant. example: "delete the document item with id 'item456' from board 'board123'."

Action Parameters

board_id
stringRequired
item_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Item

Description

Tool to delete a specific item from a board. use when you need to remove an item (e.g., shape, sticky note) after confirming its board and item ids.

Action Parameters

board_id
stringRequired
item_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get App Card Item

Description

Tool to retrieve a specific app card item by its id. use when you need the details of an existing app card item.

Action Parameters

board_id
stringRequired
item_id
stringRequired

Action Response

createdAt
stringRequired
createdBy
objectRequired
data
objectRequired
error
string
geometry
object
id
stringRequired
links
objectRequired
modifiedAt
stringRequired
modifiedBy
objectRequired
parent
object
position
objectRequired
style
objectRequired
successful
booleanRequired

Tool Name: Get Board

Description

Tool to retrieve details of a specific board. use when you have a board id and need to fetch its metadata.

Action Parameters

board_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Boards

Description

Tool to retrieve accessible boards with optional filters. use when you need to list or search boards by team, project, owner, or keywords.

Action Parameters

limit
integer
offset
integer
owner
string
project_id
string
query
string
sort
string
team_id
string

Action Response

data
arrayRequired
error
string
limit
integerRequired
offset
integerRequired
successful
booleanRequired
total
integerRequired

Tool Name: Get Board Members

Description

Tool to retrieve a list of members for a board. use when you need to list all users with access to a board after confirming its id.

Action Parameters

board_id
stringRequired
cursor
string
limit
integer

Action Response

cursor
string
data
arrayRequired
error
string
limit
integer
links
object
offset
integer
size
integerRequired
successful
booleanRequired
total
integerRequired
type
string

Tool Name: Get Connectors

Description

Tool to retrieve a list of connectors on a board. use after confirming the board id and when you need to page through connector items.

Action Parameters

board_id
stringRequired
cursor
string
limit
integer

Action Response

cursor
string
data
arrayRequired
error
string
limit
integerRequired
links
objectRequired
size
integerRequired
successful
booleanRequired
total
integerRequired

Tool Name: Get Tag

Description

Tool to retrieve details of a specific tag on a board. use when you have a board id and tag id and need its metadata.

Action Parameters

board_id
stringRequired
tag_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Organizations

Description

Tool to retrieve list of organizations accessible to the user. use when you need to view all available organizations.

Action Parameters

Action Response

data
arrayRequired
error
string
paging
object
successful
booleanRequired

Tool Name: Update App Card Item

Description

Tool to update an app card item on a board. use when you need to modify properties of an existing app card item. include only fields to change.

Action Parameters

board_id
stringRequired
data
object
geometry
object
item_id
stringRequired
parent
object
position
object
style
object

Action Response

createdAt
stringRequired
createdBy
objectRequired
data
objectRequired
error
string
geometry
object
id
stringRequired
links
objectRequired
modifiedAt
stringRequired
modifiedBy
objectRequired
parent
object
position
objectRequired
style
objectRequired
successful
booleanRequired

Tool Name: Update Board

Description

Tool to update properties of a specific board. use when you have a board id and need to modify its name, description, or permissions policy. use after confirming the board exists.

Action Parameters

board_id
stringRequired
description
string
name
string
policy
object
projectId
string
teamId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired