enhancementgood first issueintegrationnew-featurenew-integration
Repository-Metriken
- Stars
- (1.930 Sterne)
- PR-Merge-Metriken
- (PR-Metriken ausstehend)
Beschreibung
Description
Add Miro integration to sync visual collaboration data including boards, items, comments, tags, and team activity into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/notion/- Similar collaboration/content systemintegrations/linear/- Project management integrationintegrations/slack/- For reference
Required Files Structure
integrations/miro/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Miro API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Miro API Integration
OAuth Setup
- Use OAuth 2.0 authorization code flow
- RESTful API with predictable, resource-oriented URLs
- Standard HTTP response codes for error reporting
- Base URL:
https://api.miro.com/v2 - Developer docs: https://developers.miro.com/
Key Endpoints
GET /boards- List boardsGET /boards/{board_id}- Get board detailsGET /boards/{board_id}/items- List board itemsPOST /boards/{board_id}/sticky_notes- Create sticky notePOST /boards/{board_id}/cards- Create cardPOST /boards/{board_id}/shapes- Create shapePOST /boards/{board_id}/connectors- Create connectorGET /boards/{board_id}/tags- List tagsGET /boards/{board_id}/members- List board membersPOST /webhooks/board_subscriptions- Subscribe to board webhooks
Events to Track
- Boards - Board created, updated, shared, archived, deleted
- Items - Sticky note created, card added, shape drawn, text edited, item moved
- Collaboration - Member added, member removed, comment posted
- Webhooks - Real-time board and item notifications (new in v2)
- Tags - Tag created, applied, removed
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts - Create API utilities in
utils.tsfor Miro REST API v2 calls - Implement sync logic in
schedule.tsfor boards, items, and members - Convert board events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- V2 API replaced polymorphic Widget API with specific endpoints per item type (sticky notes, cards, shapes, etc.)
- Webhooks introduced in v2 (not available in v1) for board and item notifications
- V1 to V2 migration guide available for reference
- Interactive API playground available in documentation
- Consider using webhooks for real-time sync rather than polling
Resources
- Miro Developer Platform
- REST API Reference Guide
- Miro REST API Introduction
- Getting Started with OAuth
- REST API Quickstart
Labels
enhancement, integration, new-feature