Trello MCP logo

Integrate Trello MCP with your AI CRM

Atlassian's official Trello MCP server lets agents work with Trello boards, lists, cards, the member Inbox, and Planner while respecting the connected user's Trello permissions.

Explore Triggers and Actions

Trelloreadboard

Read Trello boards. Supports listing boards the authenticated user is a member of, listing all boards a user can access within a specific workspace (regardless of membership), fetching a single board by ARI or URL, listing labels on a board, listing a board's custom field definitions, and listing a board's action/history.

ActionTry it

Trelloreadcard

Fetch a Trello card's full details, or list cards across a board or list to surface open work items. Use this tool when you know the specific board, list, or card you want to inspect. For keyword-based discovery across all boards/cards, use trelloSearch instead. Actions: - "get": fetch a single card by id or card URL (cardIdOrUrl required). Returns core card fields, labels (up to 25; truncation signalled via labelsHasMore), and comments (up to 25; truncation signalled via commentsHasMore). - "list_by_board": fetch all cards for a board grouped by list (boardIdOrUrl required). Response: { lists: [{ id, name, cards: [...] }], hasNextPage, nextCursor }. Each page contains up to 5 lists (configurable via limit); each list contains all its cards. Filter by card state: "open" (default), "archived", or "all". Use cursor/limit to paginate over lists (max 50 lists per page). - "list_by_list": fetch cards in a Trello list (listId required) with cursor-based pagination. Use this when the user asks for cards in a list or all cards from a specific list. Response: { cards: [...], pageInfo: { hasNextPage, endCursor } }. Filter by card state: "open" (default), "archived", or "all". Use cursor/limit to paginate (max 50 cards per page). - "get_comment": fetch a single comment on a card by its action ID (cardIdOrUrl and commentId required). For this action, cardIdOrUrl must be a Trello card ARI so the workspace is explicit for authorization. Response: { id, text, createdAt, lastEditedAt, creator, cardId }. - "list_comments": list comments on a card, newest first (cardIdOrUrl required). Response: { comments: [{ id, text, createdAt, lastEditedAt, creator }], pageInfo: { hasNextPage, endCursor } }. Use cursor/limit to paginate (default 25, max 50 comments per page). - "list_attachments": list files and links attached to a card (cardIdOrUrl required). Response: { attachments: [{ id, name, fileName, url, mimeType, bytes, createdAt, isUpload, isMalicious }], pageInfo: { hasNextPage, endCursor } }. Use cursor/limit to paginate (default 25, max 50 attachments per page). - "list_custom_field_items": list the custom field values set on a card (cardIdOrUrl required). Pairs with trelloReadBoard "list_custom_fields" for the field definitions these values belong to. Response: { customFieldItems: [{ id, customField: { id, name, type }, value: { text, number, date, checked, optionId } }], pageInfo: { hasNextPage, endCursor } }. Only the value field matching the customField.type is populated (e.g. text fields set value.text). optionId references a customField option for list/dropdown fields. Use cursor/limit to paginate (default 25, max 50 items per page). - "list_activity": list a card's full activity history, newest first (cardIdOrUrl required). Unlike "list_comments" this is unfiltered: comments, moves between lists, member add/remove, due-date changes, attachments and checklist item state changes all appear in one feed. Response: { activity: [{ id, type, displayKey, date, creator, ...typeSpecificFields }], pageInfo: { hasNextPage, endCursor } }. Every entry has id, type, displayKey, date and creator. Type-specific fields are present only for their own action type and omitted otherwise: commentText/commentLastEditedAt, listBefore/listAfter, member, attachment, dueDate, checkItem. Other action types appear with the common fields alone. Trello reuses "type" across different edits (a list move and a due-date change are both "updateCard"), so branch on "displayKey" or on which type-specific field is present, rather than on "type" alone. Same entry shape as trelloReadBoard "list_activity", minus its "card" field. Every entry is an action on the card you asked for; name that entity type when you report one. Use "list_comments" when the user only wants the discussion; use "list_activity" for "what happened to this card" or "who changed this and when". Use cursor/limit to paginate (default 25, max 50 entries per page). Due date timezone handling: Card due dates (due.date) are stored as UTC ISO 8601 timestamps. For "today" or date-based due-date requests, first call trelloReadMember (get_me) for prefs.timezone and interpret due dates in the user's local time.

ActionTry it

Trelloreadchecklist

Read Trello checklists (and their check items) attached to a card. Supported actions: "list_by_card" — list checklists on a card (cardId required); cursor/limit page the checklists. "get" — fetch a single checklist by id (checklistId required). In both actions each checklist is returned with its complete `items` list embedded.

ActionTry it

Trelloreadinbox

Triage and review the authenticated user's Trello Inbox — the personal quick-capture board where new cards and notifications land. Use this specifically for the user's Inbox board. For cards on other boards or lists, use trelloReadCard instead. Actions: "get" — return the Inbox board details (id, objectId, lastActivityAt). No additional arguments are needed. "list_cards" — list cards in the Inbox with optional filtering and pagination. Each card includes labels and up to 25 checklists (truncation signalled via checklistsHasMore). Filter by card state: "open" (default), "archived", or "all". Use cursor/limit to paginate (limit defaults to 25, max 50).

ActionTry it

Trelloreadlist

Read Trello lists. Supported actions: "list_by_board" — list the open lists on a board (id, name, position, objectId) with cursor-based pagination (limit defaults to 25, max 50); "get" — return a single list by id, including up to 25 nested cards (id, name). - "list_activity" — page through open cards currently in a list and return each card's recent activity. Only the cards are paginated (cursor/limit, defaults to 25 cards, max 50); each card returns its 25 most recent activity entries. Use trelloReadCard to get a single card's full history. Every entry is an action on the card it is grouped under; name that entity type when you report one.

ActionTry it

Trelloreadmember

Get a Trello member's profile. Call action="get_me" FIRST before any due-date query (e.g. "cards due today", "overdue cards") to get prefs.timezone (e.g. "America/Los_Angeles") so due dates can be interpreted in the user's local time rather than UTC. Also use action="get_me" to look up the current user's username, fullName, email, or avatarUrl. Supported actions: "get_me" — returns the authenticated user's Trello member profile (id, username, fullName, email, avatarUrl, url, prefs) via the Trello GraphQL API. "get" — returns another Trello member's profile (id, username, fullName, avatarUrl, url, prefs) by memberId. "list_by_board" — lists a board's members with their board role (admin, member, observer) by boardId, with cursor-based pagination (limit defaults to 25, max 100). "list_by_workspace" — lists a workspace's members with their workspace role (admin, member) by workspaceId, with the same cursor-based pagination. Workspace membership cannot be filtered by role. "list_by_card" — returns a paginated list of members assigned to a card, with nextCursor and hasMore.

ActionTry it

Trelloreadplanner

Read Trello Planner information for the authenticated user. Supported actions: "get" — returns the current member's planner (id, primaryAccountId, primaryCalendarId, primaryCalendar details); "list_events" — lists calendar events for a given planner calendar in a time window (plannerCalendarId, providerAccountId, start, end required; limit defaults to 25, max 50; cursor-based pagination supported); "get_event" — returns a single calendar event by provider event id (eventId, providerAccountId, plannerCalendarId required). Timezone handling: start and end must be UTC ISO 8601. For relative time queries like "today" or "this week", first use the "get" action to retrieve primaryCalendar.timezone, then convert to UTC before calling "list_events".

ActionTry it

Trelloreadworkspace

Read Trello workspaces (organizations) the current user has access to. Supported actions: "list" — list workspaces visible to the authenticated user (cursor-based pagination, limit defaults to 25, max 100); "get" — fetch detailed data for a single workspace by id (typically used after "list" to drill into a workspace).

ActionTry it

Trellosearch

Discover Trello boards or cards by keyword across all workspaces. Use this when the user wants to find something by name or content but does not know which board it is on. If the user already knows the board or list they want to browse, use trelloReadCard (list_by_board or list_by_list) instead — it is faster and returns richer grouped results. Supported actions: "search_boards" — search for boards by name, always include each board's `url` verbatim in the response; "search_cards" — search for cards by name/content. Both support optional workspace scoping and cursor-based pagination. Both actions return open (non-archived) results by default. To search archived items instead, include `is:archived` in the query. "search_cards" additionally supports boardIds scoping and qualifiers: label:, board:, list:, member:, due:, has:. For archived/closed cards, use `is:archived` or `is:closed` (they are equivalent for cards only). For archived boards, use `is:archived` only — boards do not support the `is:closed` alias. Due date timezone handling: Trello due-date search qualifiers use UTC boundaries. For "today" or date-based due-date queries, first call trelloReadMember (get_me) for prefs.timezone and account for the user's local timezone.

ActionTry it

Trellowriteboard

Create Trello boards. Supported actions: "create" — create a Trello board in a workspace with a name, visibility, and optional preferences.

ActionTry it

Trellowritecard

Create, update, move, archive, mark Trello cards done, or manage labels on cards. Supported actions: "create" — create a card on a list (listId and name required; desc, due, pos optional); "update" — update an existing card (cardId required; at least one of name, desc, due required); "move" — move a card to another list, optionally across boards (cardId and listId required, where listId is the destination list; boardId is optional and only needed when moving to a list on a different board; pos is optional and sets the card position in the destination list); "archive" — archive a card (cardId required); "mark_done" — mark a card as complete (cardId required); "attach_label" — attach a label to a card (cardId and labelId required); "detach_label" — detach a label from a card (cardId and labelId required). "add_comment" — post a comment on a card (cardId and text required); "update_comment" — replace the text of an existing comment on a card (cardId, commentId and text required).

ActionTry it

Trellowritechecklist

Write Trello checklists and their check items. Actions: "create" — add a new checklist to a card by cardId and name, optionally placed at "top", "bottom", or an explicit numeric position. Returns the created checklist as a TrelloChecklist (id, objectId, name, position, checkItems[]). "add_item" — append a new check item to an existing checklist by checklistId and text, optionally placed at "top", "bottom", or an explicit numeric position. Returns the created check item (id, name, state, position) using the same normalized shape as trelloReadChecklist. "update_item" — update an existing check item by checklistId and itemId; supports renaming (text), toggling completion (checked), repositioning (pos), and moving to another checklist on the same card (toChecklistId). Returns the updated check item. "update" — rename a checklist (`name`) and/or change its position on its card (`pos`) by checklistId. At least one of `name` or `pos` must be supplied. Returns the resulting checklist in the same normalized shape as trelloReadChecklist (id, name, position, checkItems[]).

ActionTry it

Trellowriteinbox

Write Trello Inbox cards. Supported actions: "create" — create a new card in the Trello Inbox (name required; desc and due are optional). The Inbox list is resolved automatically — no listId needed. "update" — update fields on an existing Inbox card (cardId required; at least one of name, desc, or due required). "move" — move an Inbox card to another list and board (cardId, listId, and boardId required; pos optional). "archive" — archive an existing Inbox card (cardId required; no other fields allowed). Returns the created, updated, moved, or archived card including its id.

ActionTry it

Trellowritelist

Create, update, archive, or move a Trello list. Supported actions: "create" — create a new list on a board (boardId and name required; pos optional); "update" — rename an existing list (listId and name required); "archive" — soft-delete (close) a list (listId required); "move" — reposition a list, optionally moving it to another board (listId and pos required; boardId is optional and only needed when moving the list to a different board).

ActionTry it

Trellowriteplanner

Create Trello Planner calendar events and manage card-event links. Supported actions: "create_event" — create a calendar event (title, start, and end required; if cardId is provided, the event is linked to that card and title defaults to the card name); "link_card_to_event" — link an existing card to an existing event (cardId and eventId required); "unlink_card_from_event" — unlink a card from an event (cardId and eventId required). providerAccountId and calendarId are optional for all actions; when omitted the user's primary calendar account is used.

ActionTry it

How the Trello MCP integration works

The Trello MCP integration connects your Dench AI CRM directly to Trello MCP, so agents can read and act on your Trello MCP data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

15 actions are available for agents to invoke on your behalf. Every call runs through Trello MCP's own authorization, scoped to the account you connect.

Set up Trello MCP in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Trello MCP and click Connect — you'll authorize access through Trello MCP's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Trello MCP in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Trello MCP integration work with Dench?

The Dench Trello MCP integration connects your AI CRM to Trello MCP, so AI agents can work with your Trello MCP data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Trello MCP via Dench?

The Trello MCP integration currently exposes 15 actions, including Trelloreadboard, Trelloreadcard, Trelloreadchecklist, Trelloreadinbox, Trelloreadlist, and Trelloreadmember. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect Trello MCP to Dench?

No. You connect Trello MCP from your Dench workspace using Trello MCP's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Trello MCP integration secure?

Connections are authorized through Trello MCP's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Trello MCP connection from your workspace settings at any time.

Trello MCP | Dench AI CRM