Trello
Let hires find, add, move and complete cards on your Trello boards, comment, and work through checklists.
Explore 11 actions and their permissionsExact inputs, sign-in scopes, access limits and approval rules.
With Trello, a hire can:
- list the boards it can use and their lists,
- list a board's open cards (or one list's), and search cards by the words in them,
- read a card with its description, members, labels, checklists and latest comments,
- add cards to a list, with a description and due date,
- change a card's title, description or due date, move it to another list, and mark it complete,
- comment, add a checklist, and tick checklist items.
1. Get an API key and a token
Straight there: Trello's Power-Up admin, where the API key is; the Token link beside the key makes the token.
Trello connects with a key and a token made together:
- Open Trello's Power-Ups page and create a Power-Up
(any name, like
Roster, in your workspace), or open one you have. - On its API key tab, click Generate a new API key and copy the key.
- Click the Token link beside the key, allow it, and copy the token Trello shows.
What hires do shows as the account that made the token, so you may want a Trello member just for Roster, on the boards hires work on.
2. Connect it in Roster
- Open Integrations → Tools → Add a tool, search for Trello and choose it.
- API key and Token: paste both.
- Click Connect.
Roster checks the key when you click Connect. Once it's accepted, the connection shows Connected as the Trello member the token belongs to. If it's refused, Roster says what to fix (a mistyped key, a missing permission) and saves nothing.
3. Give hires access
On the hire's Tools tab, click Give access on Trello:
- Read only: it can list boards, lists and cards, search and read cards, and nothing else.
- Read and write: it can also add, change, move and complete cards, comment and work with checklists.
- Boards: board names or short links (the code after
/b/in a board's address), one per line. Leave it empty for every board the account can see. Cards on any other board are refused, searches included.
Hires refer to cards by their link or short link (the code after /c/), and to lists and
checklist items by name.
Watching for changes
A hire's responsibility can watch Trello: when cards on its boards are added, moved, commented on or ticked off, the hire is woken with what happened. With no boards listed it watches the first 20 it can see, so list the ones that matter.
If something goes wrong
- "Didn't accept the connection's credential": the token was revoked, or the key and token don't belong together. Make a new token from the same key.
- "Rate limit is used up": Trello allows 100 requests every 10 seconds per token. The hire waits and tries again.
Tools and permissions reference
This reference is built from the same definitions Roster uses to connect Trello and give hires access. It updates with each release.
Authentication and requested permissions
The account or app you connect sets the outer limit. Each hire's access can narrow it further. Connecting a tool gives it to no hire until you give access on that hire's Tools tab.
User name and password or key pair
At trello.com/power-ups/admin: make a Power-Up (or open yours) → API key → Generate. Then follow the Token link beside the key and allow it.
No fixed permission list is declared for this connection. Review the sign-in consent screen, the account's roles, and the service's own documentation before connecting.
Connection fields
| Field | What to provide |
|---|---|
API keyapiKeyOptional | At trello.com/power-ups/admin: make a Power-Up (or open yours) → API key → Generate. Then follow the Token link beside the key and allow it. |
TokentokenOptional · sealed secret | Use the value for your account or connection. |
Per-hire limits
Read-only hires receive only actions that read. Read-and-write access also allows actions that change things, where the connection itself permits them. An empty resource allowlist usually means everything the connected account can reach; each field below explains its meaning.
| Field | What to provide |
|---|---|
BoardsboardsOptional | Board names or short links (the code after /b/ in a board's address). Leave empty for every board the account can see. |
Actions
11 actions: 5 only read and 6 change something. A read action may still need approval when your workspace or hire is set to ask. A locked approval requirement always applies.
11 of 11 actions. Open an action for its arguments and full input schema.
list_boardsRead only
The Trello boards this hire can use.
Approval: Uses your workspace and hire approval settings.
This action takes no arguments.
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
}list_listsRead only
A board's lists (its columns), in order.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
boardRequired | string | board name or short link |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"board": {
"type": "string",
"minLength": 1,
"description": "board name or short link"
}
},
"required": [
"board"
]
}list_cardsRead only
A board's open cards, optionally only one list's.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
boardRequired | string | board name or short link |
listOptional | string | a list's name |
limitOptional | integer | See input schema below.Default: 50 |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"board": {
"type": "string",
"minLength": 1,
"description": "board name or short link"
},
"list": {
"description": "a list's name",
"type": "string"
},
"limit": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"board"
]
}search_cardsRead only
Find cards by words in their name or description, on the hire's boards (or one of them).
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
textRequired | string | See input schema below. |
boardOptional | string | board name or short link |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1
},
"board": {
"type": "string",
"minLength": 1,
"description": "board name or short link"
}
},
"required": [
"text"
]
}get_cardRead only
A card's description, list, due date, members, labels, checklists and latest comments.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
cardRequired | string | the card's link or short link (the code after /c/) |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"card": {
"type": "string",
"minLength": 1,
"description": "the card's link or short link (the code after /c/)"
}
},
"required": [
"card"
]
}create_cardRead and write
Add a card to a list on a board, with a description and due date if given.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
boardRequired | string | board name or short link |
listRequired | string | the list's name |
titleRequired | string | See input schema below. |
descriptionOptional | string | plain textDefault: "" |
dueOptional | string | due date like 2026-11-30, or "none" to clear it |
positionOptional | "top" | "bottom" | See input schema below.Default: "bottom" |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"board": {
"type": "string",
"minLength": 1,
"description": "board name or short link"
},
"list": {
"type": "string",
"minLength": 1,
"description": "the list's name"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"description": {
"default": "",
"type": "string",
"description": "plain text"
},
"due": {
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2}|none)$",
"description": "due date like 2026-11-30, or \"none\" to clear it"
},
"position": {
"default": "bottom",
"type": "string",
"enum": [
"top",
"bottom"
]
}
},
"required": [
"board",
"list",
"title"
]
}update_cardRead and write
Change a card's title, description or due date, or move it to another list on its board by name. Only what's given changes.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
cardRequired | string | the card's link or short link (the code after /c/) |
titleOptional | string | See input schema below. |
descriptionOptional | string | replaces the description |
dueOptional | string | due date like 2026-11-30, or "none" to clear it |
listOptional | string | move it to this list |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"card": {
"type": "string",
"minLength": 1,
"description": "the card's link or short link (the code after /c/)"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"description": {
"description": "replaces the description",
"type": "string"
},
"due": {
"type": "string",
"pattern": "^(\\d{4}-\\d{2}-\\d{2}|none)$",
"description": "due date like 2026-11-30, or \"none\" to clear it"
},
"list": {
"description": "move it to this list",
"type": "string"
}
},
"required": [
"card"
]
}complete_cardRead and write
Mark a card's due date complete (or not). To move it to a Done list, use update_card.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
cardRequired | string | the card's link or short link (the code after /c/) |
doneOptional | boolean | See input schema below.Default: true |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"card": {
"type": "string",
"minLength": 1,
"description": "the card's link or short link (the code after /c/)"
},
"done": {
"default": true,
"type": "boolean"
}
},
"required": [
"card"
]
}commentRead and write
Comment on a card.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
cardRequired | string | the card's link or short link (the code after /c/) |
textRequired | string | plain text |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"card": {
"type": "string",
"minLength": 1,
"description": "the card's link or short link (the code after /c/)"
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 16384,
"description": "plain text"
}
},
"required": [
"card",
"text"
]
}add_checklistRead and write
Add a checklist with items to a card.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
cardRequired | string | the card's link or short link (the code after /c/) |
nameOptional | string | See input schema below.Default: "Checklist" |
itemsRequired | string[] | See input schema below. |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"card": {
"type": "string",
"minLength": 1,
"description": "the card's link or short link (the code after /c/)"
},
"name": {
"default": "Checklist",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"items": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
}
},
"required": [
"card",
"items"
]
}check_itemRead and write
Tick (or untick) a checklist item on a card, by the item's text.
Approval: Uses your workspace and hire approval settings.
| Argument | Type | Details |
|---|---|---|
cardRequired | string | the card's link or short link (the code after /c/) |
itemRequired | string | See input schema below. |
doneOptional | boolean | See input schema below.Default: true |
Full input schema (JSON)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"card": {
"type": "string",
"minLength": 1,
"description": "the card's link or short link (the code after /c/)"
},
"item": {
"type": "string",
"minLength": 1
},
"done": {
"default": true,
"type": "boolean"
}
},
"required": [
"card",
"item"
]
}Watches and incoming events
- This integration supports a responsibility that watches for changes. The guide above explains what it checks and how to limit it.
- No incoming webhook handler is declared for this integration.
Limits and troubleshooting
- Permission errors: check both the connected account's rights and the hire's resource and read/write limits.
- Expired or revoked access: reconnect or replace the key on the connection.
- Rate limits and unavailable services can interrupt work. The hire's timecard records the outcome.
- The action schema describes accepted inputs. It does not grant additional access or bypass approvals.