Skip to content
← Community packages

Read and update Trello boards, lists, cards, and comments with dry-run mutations.

Browse files

  • Other
  • trello
  • boards
  • lists
  • cards
  • comments
  • oauth
  • api-key
  • token
  • dry-run
License
MIT
Published
August 22, 2026
Pinned commit
7c3a6db
Rating
No ratings yet
Forks
0
Stars
0
Adaptation effort

README

@kody/trello

community-icon.svg is Trello's official logomark from the Wikimedia Commons Trello logo (Atlassian product mark, Pacific Bridge gradient #0052CC#2684FF). Trello® is a trademark of Atlassian. This package is not affiliated with or endorsed by Atlassian.

Intent

Reusable Trello helpers so Kody agents can list and update the caller's boards, lists, cards, and comments. Reads are free-form. Mutations support dryRun: true and require confirm: true.

This listing is meant to be forked. After you fork, connect your Trello account. No board ids, list names, or workspace ids are baked in.

Share this package as https://kody.codes/@kody/trello (never a /community/{listing_id} URL).

Agent setup

Trello has no built-in Kody OAuth app. Trello REST still authenticates with an API key + user token (query key and token). Trello OAuth 2 is not generally available; Kody can still use a saved trello / trello-* integration when one exists.

LaneWhen to useCredential
API key + token (recommended)Personal automation, Power-Up keyUser secrets trelloApiKey + trelloToken (or trelloApiKey-<purpose> / trelloToken-<purpose>)
OAuth integrationSaved trello / trello-* connectioncreateAuthenticatedFetch via integrationName

Required API host: api.trello.com. Approve it in the account secrets UI. Saving a secret does not approve hosts by itself. Never paste keys or tokens into chat.

Lane A — API key + token

  1. Create a Power-Up and API key at Trello Power-Ups admin
  2. Save the API key (do not paste the value in chat):

https://kody.codes/account/secrets/new?name=trelloApiKey&description=Trello%20API%20key%20for%20boards%2C%20lists%2C%20cards%2C%20and%20comments&allowedHosts=api.trello.com&scope=user

  1. Authorize a user token with that key (read,write; replace YOUR_API_KEY with the key you just created — in the Trello page, not in chat):

https://trello.com/1/authorize?expiration=never&name=Kody&scope=read%2Cwrite&response_type=token&key=YOUR_API_KEY

  1. Save the user token:

https://kody.codes/account/secrets/new?name=trelloToken&description=Trello%20user%20token%20for%20boards%2C%20lists%2C%20cards%2C%20and%20comments&allowedHosts=api.trello.com&scope=user

  1. Approve host api.trello.com
  2. Run the smoke test below

Lane B — Saved OAuth integration

Trello's live OAuth is 1.0 (/1/OAuthGetRequestToken, /1/OAuthAuthorizeToken, /1/OAuthGetAccessToken). Kody /connect/oauth is OAuth 2, so a first-time Trello OAuth 2 connect is not available until Atlassian ships those endpoints.

If a trello integration is already saved, reconnect while signed in to Kody:

https://kody.codes/connect/oauth?provider=trello

For a new BYO connection page (provider + API host prefilled; add authorize and token URLs when Trello documents OAuth 2):

https://kody.codes/connect/oauth?provider=trello&apiBaseUrl=https%3A%2F%2Fapi.trello.com%2F1&allowedHosts=api.trello.com&dashboardUrl=https%3A%2F%2Ftrello.com%2Fpower-ups%2Fadmin&flow=confidential

Redirect URI for any future Trello OAuth 2 app: https://kody.codes/connect/oauth.

To connect a second account, change provider (for example provider=trello-work) and pass account: 'work' or integrationName: 'trello-work' / secretName: 'trelloToken-work' / apiKeySecretName: 'trelloApiKey-work' on every call.

When To Use

  • List or inspect the caller's boards, lists, cards, and comments
  • Create or update boards, lists, cards, and comments after explicit confirmation
  • Call an unwrapped Trello REST path through ./request
  • Verify credentials with ./smoke-test before any write

Mutation safety

  • Pass dryRun: true on writes to return { dryRun: true, method, path, body } without contacting Trello.
  • Live writes throw unless confirm: true.
  • Board ids, list ids, and card ids come from the call. This package has no default board.
import trello from 'kody:@kody/trello'
import { createCard } from 'kody:@kody/trello/cards'

const preview = await createCard({
	listId: 'list-id-from-caller',
	name: 'Write the release notes',
	dryRun: true,
})

const smoke = await trello({ action: 'smoke-test' })

Multiple accounts

Every export accepts:

  • accountwork → integration trello-work, secrets trelloApiKey-work + trelloToken-work
  • integrationName / integration — saved OAuth name (trello or trello-*)
  • secretName — token secret override (default trelloToken)
  • apiKeySecretName — API key secret override (default trelloApiKey)
  • auth'keyToken' or 'oauth' when both lanes exist

Exports

ExportPurpose
.Dispatcher. Defaults to smoke-test.
./accountsResolve integration + secret names and setup URLs
./viewerGET /members/me
./boardslist / get / create / update boards
./listslist / get / create / update lists
./cardslist / get / create / update cards
./commentslist comments / add comment
./requestRaw api.trello.com path
./smoke-testDry-run self-check + optional live member/boards read
./scheduled-account-healthNo-arg read-only wrapper; job disabled by default

Jobs

account-health is declared with "enabled": false. Do not enable it until a representative invoke of ./scheduled-account-health succeeds.

Auth docs

https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/

Report this listing

Log in to report this listing.