<!-- Generated by `just docs` from catalog/toolkits/trello.yaml, catalog/expansions/trello.yaml, catalog/evals/scorecard.json. Edit the source, not this file. -->

# Trello

Boards, lists, and cards. Create and organize them, manage checklists, labels, members, and comments, and search a workspace.

| Property | Value |
| --- | --- |
| Slug | `trello` |
| Definition version | `0.1.0` |
| Base URL | `https://api.trello.com/1` |
| Auth schemes | `api_key` |
| Action tools | 40 |
| By class | 11 read, 21 write, 8 destructive |
| Triggers | 0 |
| Provider rate limit | not declared, so outbound calls are unpaced |

## Measured routing accuracy

73 golden cases replayed through the router over the whole index: measured over corpus `ea4f12ad2948` (65 toolkits, 2283 tools indexed and 13 declared uncallable), 40 cases written by hand and 33 cases from the paraphrase pass. A case counts as top-1 when its gold tool ranked first and top-8 when it reached the slate at all.

| Measure | Cases | Share |
| --- | --- | --- |
| top-1 | 25/73 | 34.2% |
| top-8 | 55/73 | 75.3% |

The sweep is offline: the reranker is a deterministic identity fake that returns candidates in the order retrieval produced them, so top-1 measures retrieval order rather than a reranked slate. `just eval-live` measures the same cases through the live reranker.

## Authentication

Connect an entity with `ConnectionsService.InitiateConnection`, naming this toolkit's slug. Credentials stay in the connections vault; callers hold connected-account ids only.

### `api_key`

| Property | Value |
| --- | --- |
| Placement | `query` |
| Name | `token` |
| Rendered as | `{key}` |

Submit the key with `ConnectionsService` rather than putting it in a request; it is sealed at rest and never returned.

## Tools

40 action tools. The catalog-wide slug is `trello.<tool>`, which is what `search_tools` returns and `call_tool` takes.

### `trello.list_boards`

List the boards the connected member belongs to. Use when the user asks what boards, projects, or workspaces exist in Trello, or wants to find a board's id for another tool. Filter to open, closed (archived), or all boards.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /members/me/boards`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `fields` | string | no | Comma-separated field names to return, e.g. "name,desc,closed". Omit for the default field set. |
| `filter` | string, one of open, closed, all | no | Which boards to include. Default open. |

Also retrieved by: "what boards do I have in trello", "show every trello board I belong to", "what trello boards exist", "find the id for a trello board", "what am I working on in trello".

### `trello.get_board`

Get one board's detail by id: name, description, whether it's closed (archived), and its URL. Use when the user names a specific board. For the whole list of boards use list_boards.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /boards/{{params.board_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id, from list_boards. |
| `fields` | string | no | Comma-separated field names to return. Omit for the default field set. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `desc` | string |  |
| `id` | string |  |
| `idOrganization` | string |  |
| `name` | string |  |
| `url` | string |  |

Also retrieved by: "tell me about this trello board", "pull up the details for this trello board", "is this trello board archived".

### `trello.create_board`

Create a new board. Use when the user wants to start, set up, or spin up a new board, project, or workspace in Trello. Optional description and organization (Trello Workspace) to file it under.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /boards`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `desc` | string | no | Optional board description. |
| `idOrganization` | string | no | Id of the Trello Workspace (organization) to create the board under. Omit to create it under the member's personal boards. |
| `name` | string | **yes** | Board title. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `name` | string |  |
| `url` | string |  |

Also retrieved by: "start a new trello board", "set up a fresh trello board for this team", "spin up a new board in trello".

### `trello.update_board`

Rename a board or edit its description. Use when the user wants to edit, rename, or retitle a board itself, not its lists or cards.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /boards/{{params.board_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id to edit, from list_boards. |
| `desc` | string | no | New board description. |
| `name` | string | no | New board title. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `desc` | string |  |
| `id` | string |  |
| `name` | string |  |

Also retrieved by: "rename this trello board", "change the description on this trello board", "edit this board's own details in trello".

### `trello.close_board`

Archive (close) a board, hiding it from the active boards list. Use when the user wants to close, archive, or retire a whole board. Reverse with reopen_board; Trello does not expose permanent board deletion through the API.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `PUT /boards/{{params.board_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id to archive, from list_boards. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `id` | string |  |

Also retrieved by: "retire this trello board", "shut down this whole board in trello", "archive an entire trello board".

### `trello.reopen_board`

Reopen a board that was previously archived (closed). Use when the user wants to unarchive, restore, or bring back a closed board.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /boards/{{params.board_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id to reopen, from list_boards. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `id` | string |  |

Also retrieved by: "bring back a trello board I closed", "unarchive this board in trello", "restore a trello board that was retired".

### `trello.list_lists`

List the lists (columns) on a board, e.g. "To Do", "Doing", "Done". Use when the user wants to see a board's workflow stages or find a list's id for create_card or move_card. Filter to open, closed (archived), or all lists.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /boards/{{params.board_id}}/lists`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id, from list_boards. |
| `filter` | string, one of open, closed, all | no | Which lists to include. Default open. |

Also retrieved by: "what columns does this trello board have", "show me the stages on this trello workflow", "find the id for a column in trello", "what workflow stages exist on this trello board".

### `trello.create_list`

Create a new list (column, stage) on a board. Use when the user wants to add or start a new list, column, or workflow stage.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /lists`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id the list belongs to, from list_boards. |
| `name` | string | **yes** | List title, e.g. "In Review". |
| `pos` | string | no | Position: "top", "bottom", or a number. Optional. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `idBoard` | string |  |
| `name` | string |  |

Also retrieved by: "add a new column to this trello board", "set up a stage in the trello workflow", "start a fresh column on this trello board".

### `trello.update_list`

Rename a list or reorder it on the board. Use when the user wants to rename, retitle, or reposition a column or stage. For moving cards between lists use move_card instead.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /lists/{{params.list_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `list_id` | string | **yes** | List id to edit, from list_lists. |
| `name` | string | no | New list title. |
| `pos` | string | no | New position: "top", "bottom", or a number. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `name` | string |  |
| `pos` | number |  |

Also retrieved by: "rename this column on the trello board", "reposition this stage on the trello board", "retitle a workflow stage in trello".

### `trello.archive_list`

Archive (close) a list, removing it from the board's active view. Use when the user wants to archive, close, or remove a list, column, or stage. Its cards are archived along with it. Reverse with unarchive_list.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `PUT /lists/{{params.list_id}}/closed`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `list_id` | string | **yes** | List id to archive, from list_lists. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `id` | string |  |

Also retrieved by: "remove this column from the trello board", "close out this workflow stage in trello", "get rid of a column, we're done with it".

### `trello.unarchive_list`

Reopen a list that was previously archived (closed), bringing it back to the board's active view. Use when the user wants to unarchive, restore, or bring back a list, column, or stage.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /lists/{{params.list_id}}/closed`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `list_id` | string | **yes** | List id to reopen, from list_lists. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `id` | string |  |

Also retrieved by: "bring back a column I closed in trello", "restore this stage to the trello board", "reopen a workflow stage in trello".

### `trello.list_cards`

List the cards sitting in one list (column), e.g. everything in "Doing" right now. Use when the user asks what's in a specific list or stage on a board.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /lists/{{params.list_id}}/cards`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `fields` | string | no | Comma-separated field names to return. Omit for the default field set. |
| `list_id` | string | **yes** | List id, from list_lists. |

Also retrieved by: "what's sitting in this column right now", "show every trello card in this stage", "what's in the doing column on this trello board".

### `trello.get_card`

Get one card's full detail by id: title, description, due date, list, board, members, and labels. Use when the user names a specific card. For many cards at once use list_cards.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /cards/{{params.card_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |
| `fields` | string | no | Comma-separated field names to return. Omit for the default field set. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `desc` | string |  |
| `due` | string |  |
| `id` | string |  |
| `idBoard` | string |  |
| `idLabels` | array of string |  |
| `idList` | string |  |
| `idMembers` | array of string |  |
| `name` | string |  |
| `pos` | number |  |
| `shortUrl` | string |  |
| `url` | string |  |

Also retrieved by: "tell me about this trello card", "pull up the details on this trello card", "what does this card say in trello".

### `trello.create_card`

Create a new card in a list. Use when the user wants to add, open, or file a new task, item, or ticket onto a board. Requires a list and title; description, due date, members, and labels are optional.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /cards`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `desc` | string | no | Optional card description. |
| `due` | string (date-time) | no | Optional due date, ISO 8601. |
| `label_ids` | string | no | Comma-separated label ids to attach. Omit for none. |
| `list_id` | string | **yes** | List id the card is created into, from list_lists. |
| `member_ids` | string | no | Comma-separated member ids to assign, e.g. "abc123,def456". Omit for none. |
| `name` | string | **yes** | Card title. |
| `pos` | string | no | Position within the list: "top", "bottom", or a number. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `idList` | string |  |
| `name` | string |  |
| `url` | string |  |

Also retrieved by: "add a new trello card to this column", "file something onto this trello board", "open a new card in this stage".

### `trello.update_card`

Edit an existing card's title, description, or due date. Use when the user wants to rename, retitle, or update a card's own details. For changing which list it's in use move_card; for archiving use archive_card.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /cards/{{params.card_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id to edit, from list_cards or search. |
| `desc` | string | no | New card description. |
| `due` | string (date-time) | no | New due date, ISO 8601. Pass an empty string to clear it. |
| `name` | string | no | New card title. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `desc` | string |  |
| `due` | string |  |
| `id` | string |  |
| `name` | string |  |

Also retrieved by: "rename this trello card", "change the due date on this trello card", "edit the description of this card in trello".

### `trello.move_card`

Move a card to a different list, optionally a different board, and reposition it. Use when the user wants to move, drag, or shift a card to another list, column, or stage, e.g. from "Doing" to "Done".

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /cards/{{params.card_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | no | Destination board id, only needed to move across boards. |
| `card_id` | string | **yes** | Card id to move, from list_cards or search. |
| `list_id` | string | **yes** | Destination list id, from list_lists. |
| `pos` | string | no | Position within the destination list: "top", "bottom", or a number. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `idBoard` | string |  |
| `idList` | string |  |
| `pos` | number |  |

Also retrieved by: "drag this trello card into another column", "shift this card to the done stage", "send this trello card to a different board".

### `trello.archive_card`

Archive (close) a card, hiding it from the board without deleting it. Use when the user wants to archive or clear a card off the board while keeping it around. Reverse with unarchive_card; for permanent removal use delete_card.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `PUT /cards/{{params.card_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id to archive, from list_cards or search. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `id` | string |  |

Also retrieved by: "clear this trello card off the board", "hide this card without deleting it in trello", "close out a trello card for now".

### `trello.unarchive_card`

Reopen a card that was previously archived (closed), bringing it back to its board. Use when the user wants to unarchive, restore, or bring back a card.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /cards/{{params.card_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id to reopen, from list_cards or search. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `closed` | boolean |  |
| `id` | string |  |

Also retrieved by: "bring back a trello card I closed", "restore a card to the board in trello", "reopen a trello card I hid earlier".

### `trello.delete_card`

Permanently delete a card. Use when the user wants to delete or remove a card for good, not just archive it. Irreversible; prefer archive_card when the user might want it back.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /cards/{{params.card_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id to delete, from list_cards or search. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `deleted` | boolean |  |

Also retrieved by: "permanently remove this trello card", "get rid of this card for good in trello", "trash a card, it was made by mistake in trello".

### `trello.add_member_to_card`

Assign a member to a card. Use when the user wants to assign, add, or tag someone onto a card.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /cards/{{params.card_id}}/idMembers`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |
| `member_id` | string | **yes** | Member id to assign, from list_board_members or search. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `idMembers` | array of string |  |

Also retrieved by: "assign someone to this trello card", "put a teammate on this card in trello", "tag a person onto this trello card".

### `trello.remove_member_from_card`

Unassign a member from a card. Use when the user wants to remove, unassign, or take someone off a card, without removing them from the board itself.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `DELETE /cards/{{params.card_id}}/idMembers/{{params.member_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |
| `member_id` | string | **yes** | Member id to unassign, from get_card. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `removed` | boolean |  |

Also retrieved by: "take someone off this trello card", "unassign a teammate from this card in trello", "drop a person from this trello card".

### `trello.list_labels`

List the labels (color tags) defined on a board. Use when the user asks what labels or tags exist, or to find a label's id for add_label_to_card.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /boards/{{params.board_id}}/labels`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id, from list_boards. |
| `fields` | string | no | Comma-separated field names to return. Omit for the default field set. |

Also retrieved by: "what tags exist on this trello board", "show the color tags I can use in trello", "find the id for a tag on this trello board".

### `trello.create_label`

Create a new label (color tag) on a board. Use when the user wants to add or set up a new label or tag for categorizing cards.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /labels`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id the label belongs to, from list_boards. |
| `color` | string | no | One of Trello's label colors: green, yellow, orange, red, purple, blue, sky, lime, pink, black. Omit for no color. |
| `name` | string | **yes** | Label text, e.g. "Bug". |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `color` | string |  |
| `id` | string |  |
| `name` | string |  |

Also retrieved by: "set up a new tag for this trello board", "add a color category for cards in trello", "make a fresh tag on this trello board".

### `trello.add_label_to_card`

Attach an existing label to a card. Use when the user wants to label, tag, or categorize a card with a color tag that already exists on the board. To create a new label first use create_label.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /cards/{{params.card_id}}/idLabels`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |
| `label_id` | string | **yes** | Label id to attach, from list_labels. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `idLabels` | array of string |  |

Also retrieved by: "tag this trello card with an existing category", "put a color tag on this card in trello", "categorize this trello card".

### `trello.remove_label_from_card`

Remove a label from a card without deleting the label itself from the board. Use when the user wants to untag or unlabel a card.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `DELETE /cards/{{params.card_id}}/idLabels/{{params.label_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |
| `label_id` | string | **yes** | Label id to remove, from get_card. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `removed` | boolean |  |

Also retrieved by: "untag this trello card", "take a color tag off this card in trello", "remove a category from this trello card".

### `trello.add_checklist`

Add a new checklist to a card. Use when the user wants to break a card down into steps or sub-tasks. Add the individual steps afterward with add_checklist_item.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /checklists`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id the checklist is added to, from list_cards or search. |
| `name` | string | **yes** | Checklist title, e.g. "Launch steps". |
| `pos` | string | no | Position on the card: "top", "bottom", or a number. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `idCard` | string |  |
| `name` | string |  |

Also retrieved by: "break this trello card into steps", "add a set of sub-tasks to this card in trello", "start a to-do set on this trello card".

### `trello.list_checklists`

Get the checklists on a card, each with its steps and which are marked done. Use when the user asks what steps or sub-tasks a card has, or its progress.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /cards/{{params.card_id}}/checklists`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |
| `fields` | string | no | Comma-separated field names to return. Omit for the default field set. |

Also retrieved by: "what steps does this trello card have", "show the sub-tasks and progress on this trello card", "how far along is this trello card".

### `trello.add_checklist_item`

Add a new step (item) to an existing checklist. Use when the user wants to add a step, sub-task, or line to a checklist already on a card. To create the checklist itself first use add_checklist.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /checklists/{{params.checklist_id}}/checkItems`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `checked` | boolean | no | Start the step already marked done. Default false. |
| `checklist_id` | string | **yes** | Checklist id, from list_checklists. |
| `name` | string | **yes** | Step text. |
| `pos` | string | no | Position within the checklist: "top", "bottom", or a number. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `name` | string |  |
| `state` | string |  |

Also retrieved by: "add a step to this trello checklist", "put another sub-task on this trello card", "add a line to this to-do set in trello".

### `trello.check_checklist_item`

Mark a checklist step as done or not done. Use when the user wants to check off, complete, tick, or reopen one step of a card's checklist.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /cards/{{params.card_id}}/checkItem/{{params.checkitem_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card the checklist lives on, from list_cards or search. |
| `checkitem_id` | string | **yes** | Checklist item id, from list_checklists. |
| `state` | string, one of complete, incomplete | **yes** | New state for the step. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `state` | string |  |

Also retrieved by: "mark this step done on this trello card", "tick off a sub-task in trello", "reopen a step I finished by mistake in trello".

### `trello.delete_checklist_item`

Permanently delete one step from a checklist. Use when the user wants to delete or remove a single checklist step, not the whole checklist. Irreversible.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /checklists/{{params.checklist_id}}/checkItems/{{params.checkitem_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `checkitem_id` | string | **yes** | Checklist item id to delete, from list_checklists. |
| `checklist_id` | string | **yes** | Checklist id, from list_checklists. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `deleted` | boolean |  |

Also retrieved by: "remove one step from this trello checklist", "get rid of a single sub-task on this card", "delete one line from this to-do set in trello".

### `trello.delete_checklist`

Permanently delete a whole checklist from a card, steps included. Use when the user wants to delete or remove an entire checklist, not one step. Irreversible.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /checklists/{{params.checklist_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `checklist_id` | string | **yes** | Checklist id to delete, from list_checklists. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `deleted` | boolean |  |

Also retrieved by: "remove this whole set of steps from a trello card", "delete every sub-task on this trello card", "get rid of a to-do set entirely in trello".

### `trello.add_comment`

Post a new comment on a card. Use when the user wants to comment, note, or leave an update on a card.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `POST /cards/{{params.card_id}}/actions/comments`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |
| `text` | string | **yes** | Comment text. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `date` | string |  |
| `id` | string |  |

Also retrieved by: "leave a note on this trello card", "post an update on this card in trello", "reply on this trello card".

### `trello.list_comments`

List the comments posted on a card, newest first. Use when the user wants to read the discussion, notes, or history on a card.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /cards/{{params.card_id}}/actions`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `card_id` | string | **yes** | Card id, from list_cards or search. |

Also retrieved by: "what have people said on this trello card", "read the discussion on this card in trello", "show the history of notes on this trello card".

### `trello.update_comment`

Edit the text of a comment already posted on a card. Use when the user wants to fix, correct, or update something they wrote on a card.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /actions/{{params.action_id}}/comment`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `action_id` | string | **yes** | Comment's action id, from list_comments. |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `text` | string | **yes** | Replacement comment text. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `id` | string |  |
| `text` | string |  |

Also retrieved by: "fix a typo in my trello note", "correct what I wrote on this trello card", "edit my earlier update on this card in trello".

### `trello.delete_comment`

Permanently delete a comment from a card. Use when the user wants to delete or remove a comment, not the whole card. Irreversible.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /actions/{{params.action_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `action_id` | string | **yes** | Comment's action id to delete, from list_comments. |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `deleted` | boolean |  |

Also retrieved by: "remove that note I left on this trello card", "take down what I posted on this card in trello", "delete an update by mistake on a trello card".

### `trello.list_board_members`

List the people who belong to a board. Use when the user asks who's on a board, or wants to find a member's id for assigning a card.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /boards/{{params.board_id}}/members`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id, from list_boards. |
| `fields` | string | no | Comma-separated field names to return. Omit for the default field set. |

Also retrieved by: "who's on this trello board", "show everyone with access to this trello board", "find someone's id to assign them in trello".

### `trello.add_member_to_board`

Invite or add a person to a board. Use when the user wants to add, invite, or give someone access to a board. Not for assigning them to one card; use add_member_to_card for that.

Class `write` (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls `PUT /boards/{{params.board_id}}/members/{{params.member_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id, from list_boards. |
| `member_id` | string | **yes** | Member id to add, from get_member. |
| `type` | string, one of normal, admin, observer | no | Permission level to grant. Default normal. |

Also retrieved by: "invite someone to this trello board", "give a teammate access to this board in trello", "add a person to this trello board".

### `trello.remove_member_from_board`

Remove a person's access to a board entirely. Use when the user wants to remove, kick, or revoke someone from a board, not just one card.

Class `destructive` (held by the mutation gate until the call's own arguments carry `"confirm": true`). No scopes beyond the connection's defaults. Calls `DELETE /boards/{{params.board_id}}/members/{{params.member_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_id` | string | **yes** | Board id, from list_boards. |
| `member_id` | string | **yes** | Member id to remove, from list_board_members. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `removed` | boolean |  |

Also retrieved by: "kick someone off this trello board", "revoke access to this trello board", "take a person off this trello board entirely".

### `trello.get_member`

Get a person's profile: display name and username. Use "me" as the id to answer "who am I" for the connected account itself, or pass a specific member id or username to look someone up.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /members/{{params.member_id}}`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `member_id` | string | **yes** | Member id or username, or "me" for the connected account. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `fullName` | string |  |
| `id` | string |  |
| `username` | string |  |

Also retrieved by: "who am I logged in as in trello", "look up someone's trello profile", "what's my own trello account".

### `trello.search`

Search across the whole workspace for cards, boards, or people by keyword. Use for any query spanning more than one known board or card, e.g. finding a card by title or a board by name. For one known card or board by id use get_card or get_board.

Class `read` (reads only). No scopes beyond the connection's defaults. Calls `GET /search`.

Arguments:

| Argument | Type | Required | Notes |
| --- | --- | --- | --- |
| `app_key` | string | **yes** | Trello API key for the connected application (from trello.com/power-ups/admin). The same value on every call. |
| `board_ids` | string | no | Comma-separated board ids to restrict the search to. Optional. |
| `cards_limit` | integer | no | Maximum cards to return. Default 20. |
| `model_types` | string | no | Comma-separated result kinds to include: cards, boards, members. Default "cards,boards". |
| `query` | string | **yes** | Search text. |

Result fields (the payload is trimmed to these before it reaches the model):

| Field | Type | Notes |
| --- | --- | --- |
| `boards` | array of object |  |
| `boards[].id` | string |  |
| `boards[].name` | string |  |
| `boards[].url` | string |  |
| `cards` | array of object |  |
| `cards[].id` | string |  |
| `cards[].idBoard` | string |  |
| `cards[].idList` | string |  |
| `cards[].name` | string |  |
| `cards[].url` | string |  |
| `members` | array of object |  |
| `members[].fullName` | string |  |
| `members[].id` | string |  |
| `members[].username` | string |  |

Also retrieved by: "find a trello card by keyword", "dig up a trello board by name", "look for people across trello", "where is that card I'm thinking of in trello".
