Buildwithclaude trello-automation
Automate Trello boards, cards, and workflows via Rube MCP (Composio). Create cards, manage lists, assign members, and search across boards programmatically.
git clone https://github.com/davepoon/buildwithclaude
T=$(mktemp -d) && git clone --depth=1 https://github.com/davepoon/buildwithclaude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/all-skills/skills/trello-automation" ~/.claude/skills/davepoon-buildwithclaude-trello-automation && rm -rf "$T"
plugins/all-skills/skills/trello-automation/SKILL.mdTrello Automation via Rube MCP
Automate Trello board management, card creation, and team workflows through Composio's Rube MCP integration.
Toolkit docs: composio.dev/toolkits/trello
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Trello connection via
with toolkitRUBE_MANAGE_CONNECTIONStrello - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
Setup
Get Rube MCP: Add
https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONStrello - If connection is not ACTIVE, follow the returned auth link to complete Trello auth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create a Card on a Board
When to use: User wants to add a new card/task to a Trello board
Tool sequence:
- List boards to find target board ID [Prerequisite]TRELLO_GET_MEMBERS_BOARDS_BY_ID_MEMBER
- Get lists on board to find target list ID [Prerequisite]TRELLO_GET_BOARDS_LISTS_BY_ID_BOARD
- Create the card on the resolved list [Required]TRELLO_ADD_CARDS
- Add a checklist to the card [Optional]TRELLO_ADD_CARDS_CHECKLISTS_BY_ID_CARD
- Add items to the checklist [Optional]TRELLO_ADD_CARDS_CHECKLIST_CHECK_ITEM_BY_ID_CARD_BY_ID_CHECKLIST
Key parameters:
: 24-char hex ID (NOT list name)idList
: Card titlename
: Card description (supports Markdown)desc
: Position ('top'/'bottom')pos
: Due date (ISO 8601 format)due
Pitfalls:
- Store returned id (idCard) immediately; downstream checklist operations fail without it
- Checklist payload may be nested (data.data); extract idChecklist from inner object
- One API call per checklist item; large checklists can trigger rate limits
2. Manage Boards and Lists
When to use: User wants to view, browse, or restructure board layout
Tool sequence:
- List all boards for the user [Required]TRELLO_GET_MEMBERS_BOARDS_BY_ID_MEMBER
- Get detailed board info [Required]TRELLO_GET_BOARDS_BY_ID_BOARD
- Get lists (columns) on the board [Optional]TRELLO_GET_BOARDS_LISTS_BY_ID_BOARD
- Get board members [Optional]TRELLO_GET_BOARDS_MEMBERS_BY_ID_BOARD
- Get labels on the board [Optional]TRELLO_GET_BOARDS_LABELS_BY_ID_BOARD
Key parameters:
: Use 'me' for authenticated useridMember
: 'open', 'starred', or 'all'filter
: 24-char hex or 8-char shortLink (NOT board name)idBoard
Pitfalls:
- Some runs return boards under response.data.details[]—don't assume flat top-level array
- Lists may be nested under results[0].response.data.details—parse defensively
- ISO 8601 timestamps with trailing 'Z' must be parsed as timezone-aware
3. Move Cards Between Lists
When to use: User wants to change a card's status by moving it to another list
Tool sequence:
- Find the card by name or keyword [Prerequisite]TRELLO_GET_SEARCH
- Get destination list ID [Prerequisite]TRELLO_GET_BOARDS_LISTS_BY_ID_BOARD
- Update card's idList to move it [Required]TRELLO_UPDATE_CARDS_BY_ID_CARD
Key parameters:
: Card ID from searchidCard
: Destination list IDidList
: Optional ordering within new listpos
Pitfalls:
- Search returns partial matches; verify card name before updating
- Moving doesn't update position within new list; set pos if ordering matters
4. Assign Members to Cards
When to use: User wants to assign team members to cards
Tool sequence:
- Get member IDs from the board [Prerequisite]TRELLO_GET_BOARDS_MEMBERS_BY_ID_BOARD
- Add a member to the card [Required]TRELLO_ADD_CARDS_ID_MEMBERS_BY_ID_CARD
Key parameters:
: Target card IDidCard
: Member ID to assignvalue
Pitfalls:
- UPDATE_CARDS_ID_MEMBERS replaces entire member list; use ADD_CARDS_ID_MEMBERS to append
- Member must have board permissions
5. Search and Filter Cards
When to use: User wants to find specific cards across boards
Tool sequence:
- Search by query string [Required]TRELLO_GET_SEARCH
Key parameters:
: Search string (supports board:, list:, label:, is:open/archived operators)query
: Set to 'cards'modelTypes
: Set to 'true' for prefix matchingpartial
Pitfalls:
- Search indexing has delay; newly created cards may not appear for several minutes
- For exact name matching, use TRELLO_GET_BOARDS_CARDS_BY_ID_BOARD and filter locally
- Query uses word tokenization; common words may be ignored as stop words
6. Add Comments and Attachments
When to use: User wants to add context to an existing card
Tool sequence:
- Post a comment on the card [Required]TRELLO_ADD_CARDS_ACTIONS_COMMENTS_BY_ID_CARD
- Attach a file or URL [Optional]TRELLO_ADD_CARDS_ATTACHMENTS_BY_ID_CARD
Key parameters:
: Comment text (1-16384 chars, supports Markdown and @mentions)text
ORurl
: Attachment source (not both)file
: Attachment display namename
: File MIME typemimeType
Pitfalls:
- Comments don't support file attachments; use the attachment tool separately
- Attachment deletion is irreversible
Common Patterns
ID Resolution
Always resolve display names to IDs before operations:
- Board name → Board ID:
with idMember='me'TRELLO_GET_MEMBERS_BOARDS_BY_ID_MEMBER - List name → List ID:
with resolved board IDTRELLO_GET_BOARDS_LISTS_BY_ID_BOARD - Card name → Card ID:
with query stringTRELLO_GET_SEARCH - Member name → Member ID:
TRELLO_GET_BOARDS_MEMBERS_BY_ID_BOARD
Pagination
Most list endpoints return all items. For boards with 1000+ cards, use
limit and before parameters on card listing endpoints.
Rate Limits
300 requests per 10 seconds per token. Use
TRELLO_GET_BATCH for bulk read operations to stay within limits.
Known Pitfalls
- ID Requirements: Nearly every tool requires IDs, not display names. Always resolve names to IDs first.
- Board ID Format: Board IDs must be 24-char hex or 8-char shortLink. URL slugs like 'my-board' are NOT valid.
- Search Delays: Search indexing has delays; newly created/updated cards may not appear immediately.
- Nested Responses: Response data is often nested (data.data or data.details[]); parse defensively.
- Rate Limiting: 300 req/10s per token. Batch reads with TRELLO_GET_BATCH.
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List user's boards | TRELLO_GET_MEMBERS_BOARDS_BY_ID_MEMBER | idMember='me', filter='open' |
| Get board details | TRELLO_GET_BOARDS_BY_ID_BOARD | idBoard (24-char hex) |
| List board lists | TRELLO_GET_BOARDS_LISTS_BY_ID_BOARD | idBoard |
| Create card | TRELLO_ADD_CARDS | idList, name, desc, pos, due |
| Update card | TRELLO_UPDATE_CARDS_BY_ID_CARD | idCard, idList (to move) |
| Search cards | TRELLO_GET_SEARCH | query, modelTypes='cards' |
| Add checklist | TRELLO_ADD_CARDS_CHECKLISTS_BY_ID_CARD | idCard, name |
| Add comment | TRELLO_ADD_CARDS_ACTIONS_COMMENTS_BY_ID_CARD | idCard, text |
| Assign member | TRELLO_ADD_CARDS_ID_MEMBERS_BY_ID_CARD | idCard, value (member ID) |
| Attach file/URL | TRELLO_ADD_CARDS_ATTACHMENTS_BY_ID_CARD | idCard, url OR file |
| Get board members | TRELLO_GET_BOARDS_MEMBERS_BY_ID_BOARD | idBoard |
| Batch read | TRELLO_GET_BATCH | urls (comma-separated paths) |
Powered by Composio