RedPlanetHQ/core

New Integration: Trello

Open

#489 opened on Feb 24, 2026

 (0 comments) (0 reactions) (1 assignee)TypeScript (184 forks)auto 404
enhancementgood first issueintegrationnew-featurenew-integration

Repository metrics

Stars
 (1,930 stars)
PR merge metrics
 (PR metrics pending)

Description

Description

Add Trello integration to sync boards, cards, lists, and activity into CORE.

Reference Implementations

Existing Integrations (use as templates)

  • integrations/linear/ - Similar project management system
  • integrations/github/ - OAuth-based integration
  • integrations/slack/ - For reference

Required Files Structure

integrations/trello/
├── src/
│   ├── index.ts          # Main entry, OAuth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Trello API utilities
│   ├── account-create.ts # OAuth setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Trello API Integration

OAuth Setup

  • Use OAuth 1.0a (Trello uses legacy OAuth 1.0a) or API Key + Token
  • API Version: v1
  • Base URL: https://api.trello.com/1/
  • Authorization URL: https://trello.com/1/authorize
  • Request Token URL: https://trello.com/1/OAuthGetRequestToken
  • Access Token URL: https://trello.com/1/OAuthGetAccessToken
  • Required scopes:
    • read - Read access to boards, cards, lists, members
    • write - Write access to boards, cards, lists
    • account - Read access to member account information
  • Note: API keys are obtained by creating a Trello Power-Up

Key Endpoints

  • GET /1/members/me - Get current member info
  • GET /1/members/me/boards - Get member's boards
  • GET /1/boards/{id} - Get board details
  • GET /1/boards/{id}/lists - Get lists on a board
  • GET /1/boards/{id}/cards - Get cards on a board
  • GET /1/boards/{id}/actions - Get board activity/actions
  • GET /1/boards/{id}/members - Get board members
  • GET /1/cards/{id} - Get card details
  • GET /1/cards/{id}/actions - Get card activity
  • GET /1/lists/{id}/cards - Get cards in a list
  • GET /1/boards/{id}/checklists - Get board checklists
  • GET /1/boards/{id}/labels - Get board labels

Events to Track

  1. Cards

    • Card created, updated, moved between lists
    • Card archived/unarchived
    • Comments added to cards
    • Checklist items completed/uncompleted
    • Due date changes
    • Label additions/removals
  2. Boards & Lists

    • Board created/updated/closed
    • List created/moved/archived
    • Member added/removed from board
  3. Assignments & Activity

    • Member assigned/unassigned from cards
    • Attachment uploads
    • Custom field updates

Implementation Tasks

  • Set up basic integration structure following integrations/linear/src/index.ts pattern
  • Implement OAuth 1.0a or API Key + Token flow in account-create.ts
  • Create Trello API utilities in utils.ts
  • Implement sync logic in schedule.ts using board actions endpoint
  • Convert Trello actions/events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Trello uses OAuth 1.0a (not OAuth 2.0). Consider using a library like oauth-1.0a for Node.js.
  • Rate limit: 100 requests per 10-second window per API key, and 300 requests per 10 seconds per token.
  • Board actions endpoint supports since parameter for incremental sync.
  • Trello webhooks require a callback URL and are registered per model (board/card/etc.).
  • The API is owned by Atlassian; API keys are tied to Power-Up creation.
  • Pagination uses limit and before/since parameters on action endpoints.

Resources

Labels

enhancement, integration, new-feature

Contributor guide