FreeProductivityv1.0.0

Trello v1

Full Trello management — boards, lists, cards, labels, checklists, search. Create/update/delete cards; add comments; labels; checklists. Uses Trello token auth (API key + user token via 1/authorize).

Published bySai KoSai Ko
Sign in to rate

How to install

Point your Sulala Agent at this store, then install this skill.

  1. Set the registry URL (e.g. in .env):
SKILLS_REGISTRY_URL=https://hub.sulala.ai/api/sulalahub/registry

Then run: sulala skill install trello or install from the dashboard Skills page. This installs the latest version (currently v1.0.0); you can pin a specific version in your skill config if needed.

Skill files

README.md

---
name: Trello v1
description: Full Trello management — boards, lists, cards, labels, checklists, search. Create/update/delete cards; add comments; labels; checklists. Uses Trello token auth (API key + user token via 1/authorize).
credentials:
  - TRELLO_API_KEY
metadata:
  sulala:
    emoji: "📋"
    requires:
      bins:
        - node
---

# Trello — Boards, Lists, Cards, Labels, Checklists (v1)

List, create, and manage boards, lists, cards, labels, and checklists; search; add comments; move or delete cards. Auth is API key + user token (Trello’s 1/authorize flow).

## When to use

- List, get, or create boards; search Trello (cards/boards)
- List lists on a board; create a new list
- List cards (by board or list); get/update/move/delete a card; add comments
- List or create labels on a board; add or remove labels on a card
- Create checklists on a card; list checklists; add check items; mark items complete/incomplete

## Setup

1. Get an API key from [Trello Power-Ups admin](https://trello.com/power-ups/admin): open your Power-Up → API Key tab → Generate a new API Key.
2. **Required:** Add your callback origin to the API key’s **Allowed origins** (same page). For the default redirect use `http://localhost:8093`. If you see "Invalid return_url. The return URL should match the application’s allowed origins", add that origin (no path) under Power-Ups admin → your app → API Key → Allowed origins.
3. In the skill config set `TRELLO_API_KEY`. Optionally set `TRELLO_REDIRECT_URI` (default `http://localhost:8093/callback`).
4. Install deps from the skill folder: `npm install`
5. (Auth) Run the login script once per user (from an environment where a browser can open):

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_auth_login.js"
}
```

   The script opens the Trello authorize page; after you allow, the token is saved to `scripts/token.json`. Alternatively you can set `TRELLO_TOKEN` in the skill config instead of using the file.

## List boards (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_list_boards.js"
}
```

## List lists on a board (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_list_lists.js <boardId>"
}
```

- `boardId`: from list boards (each board’s `id`).

## List cards (exec)

By board (all cards on the board):

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_list_cards.js --board <boardId>"
}
```

By list:

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_list_cards.js --list <listId>"
}
```

- `listId`: from list lists (each list’s `id`).

## Create card (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_create_card.js <listId> 'Card title' 'Optional description'"
}
```

- Use a single dash for no description: `'Card title' -`

## Get card (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_get_card.js <cardId>"
}
```

- `cardId`: from list cards or create card response.

## Update card (exec)

Update name, description, list (move card), or due date. Pass only the options you want to change.

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_update_card.js <cardId> --name 'New title'"
}
```

- `--name "Title"` — set card title
- `--desc "Text"` or `-` — set or clear description
- `--list <listId>` — move card to this list
- `--due <ISO date>` or `-` — set or clear due date (e.g. `2025-12-31` or `2025-12-31T17:00:00.000Z`)

## Move card (exec)

Move a card to another list (same as update with `--list`):

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_update_card.js <cardId> --list <listId>"
}
```

## Add comment to card (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_add_comment.js <cardId> 'Comment text'"
}
```

## Delete card (exec)

Archives the card.

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_delete_card.js <cardId>"
}
```

## Create list (exec)

Create a new list on a board.

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_create_list.js <boardId> 'List name'"
}
```

- `boardId`: from list boards.

## Search (exec)

Search for cards and/or boards.

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_search.js 'query'"
}
```

- Optional: `--cards-only`, `--boards-only`, `--limit N` (default 20).

## Get board (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_get_board.js <boardId>"
}
```

## Create board (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_create_board.js 'Board name'"
}
```

- Optional: `--default-lists` to create default To Do / Doing / Done lists.

## List labels (exec)

List labels on a board (ids needed to add labels to cards).

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_list_labels.js <boardId>"
}
```

## Create label (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_create_label.js <boardId> 'Label name' [color]"
}
```

- `color`: green, yellow, orange, red, purple, blue, sky, lime, pink, black (default blue).

## Add label to card (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_add_label_to_card.js <cardId> <labelId>"
}
```

- `labelId`: from list labels.

## Remove label from card (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_remove_label_from_card.js <cardId> <labelId>"
}
```

## Create checklist (exec)

Create a checklist on a card.

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_create_checklist.js <cardId> 'Checklist name'"
}
```

## List checklists (exec)

List checklists on a card (includes checkItems with id, name, state).

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_list_checklists.js <cardId>"
}
```

## Add check item (exec)

Add an item to a checklist.

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_add_checkitem.js <checklistId> 'Item name'"
}
```

- `checklistId`: from create checklist response or list checklists (each checklist’s `id`).

## Set check item complete/incomplete (exec)

```json
{
  "skill_id": "trello",
  "command": "node scripts/trello_set_checkitem.js <cardId> <checkItemId> [true|false]"
}
```

- `checkItemId`: from list checklists (each checkItem in `checkItems` has `id`). Default: true (mark complete).

## Scripts

- `scripts/trello_token_utils.js` — load token from `token.json`
- `scripts/trello_auth_login.js` — browser authorize, save token
- `scripts/trello_list_boards.js` — list boards
- `scripts/trello_get_board.js` — get single board
- `scripts/trello_create_board.js` — create board
- `scripts/trello_list_lists.js` — list lists on a board
- `scripts/trello_list_cards.js` — list cards (by board or list)
- `scripts/trello_create_card.js` — create card in a list
- `scripts/trello_get_card.js` — get single card details
- `scripts/trello_update_card.js` — update card (name, desc, list, due)
- `scripts/trello_add_comment.js` — add comment to a card
- `scripts/trello_delete_card.js` — delete (archive) a card
- `scripts/trello_create_list.js` — create list on a board
- `scripts/trello_search.js` — search cards and boards
- `scripts/trello_list_labels.js` — list labels on a board
- `scripts/trello_create_label.js` — create label on board
- `scripts/trello_add_label_to_card.js` — add label to card
- `scripts/trello_remove_label_from_card.js` — remove label from card
- `scripts/trello_create_checklist.js` — create checklist on card
- `scripts/trello_list_checklists.js` — list checklists on card
- `scripts/trello_add_checkitem.js` — add check item to checklist
- `scripts/trello_set_checkitem.js` — set check item complete/incomplete

Comments

Sign in to leave a comment.

Loading comments…