Miro
Connect & Ingest data from Miro
Miro is a visual collaboration and online whiteboard platform used for brainstorming, planning, and project management. The Sling Miro connector extracts data from the Miro REST API v2, supporting boards, board items, members, tags, connectors, and groups.
CLI Pro Required: APIs require a CLI Pro token or Platform Plan.
Setup
The following credentials are accepted:
Secrets:
access_token(required) -> Your Miro OAuth access token
Getting Your Access Token
Log in to Miro
Go to Profile Settings > Your apps tab
Click Create new app
Enter an app name (e.g., "Sling Data Integration")
Under Permissions, enable the following scopes:
boards:readβ Read boards you have access toidentity:readβ Read profile informationteam:readβ Read team information
Click Install app and get OAuth token
Select your team and click Add
Copy the generated access token
Important: Keep your access token secure and never share it publicly. If you need to regenerate a token, repeat the installation step above.
Using sling conns
sling connsHere are examples of setting a connection named MIRO. We must provide the type=api property:
Environment Variable
See here to learn more about the .env.sling file.
Sling Env File YAML
See here to learn more about the sling env.yaml file.
Replication
Here's an example replication configuration to sync Miro data to a PostgreSQL database:
Incremental sync for boards, items, and connectors:
Endpoints
boards
All boards accessible to the authenticated user
Yes
β
board_members
All members/collaborators for each board
No
boards
board_items
All items (sticky notes, shapes, text, cards, images) on each board
Yes
boards
board_tags
All tags defined on each board
No
boards
board_connectors
All connectors (lines between items) on each board
Yes
boards
board_groups
All groups (collections of items) on each board
No
boards
The connector uses a queue-based architecture to handle parent-child relationships. The boards endpoint runs first and populates board IDs, which are used by board_members, board_items, board_tags, board_connectors, and board_groups.
To discover available endpoints:
Endpoint Details
boards β Returns all boards the authenticated user has access to. Includes board metadata such as name, description, owner, team, permissions, sharing policies, creation and modification timestamps. Board IDs are queued for all child endpoints.
board_members β Returns all members and collaborators for each board, including member name, role (owner, editor, viewer), and membership details.
board_items β Returns all items on each board, including sticky notes, shapes, text elements, cards, images, and other item types. Each item includes position, geometry, style, data content, and modification timestamps.
board_tags β Returns all tags defined on each board, including tag title and fill color.
board_connectors β Returns all connectors (lines/arrows between items) on each board, including start and end item references, style, and modification timestamps.
board_groups β Returns all groups (collections of items) on each board, including the list of grouped item IDs.
Rate Limiting
The Miro API enforces credit-based rate limits:
100,000 credits per minute per OAuth token
Different endpoints consume different credit amounts
The connector automatically:
Uses rate limiting (5 requests/second with concurrency of 3)
Retries with exponential backoff on 429 (rate limit) responses
Allows up to 5 retry attempts
Retries with exponential backoff on 5xx server errors
Common Use Cases
Sync All Miro Data
Sync Board Items Incrementally
Extract Board Structure and Members
If you are facing issues connecting, please reach out to us at [email protected], on discord or open a Github Issue here.
Last updated
Was this helpful?