Skip to content
Docs
Project management

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:

  1. Open Trello's Power-Ups page and create a Power-Up (any name, like Roster, in your workspace), or open one you have.
  2. On its API key tab, click Generate a new API key and copy the key.
  3. 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

  1. Open Integrations → Tools → Add a tool, search for Trello and choose it.
  2. API key and Token: paste both.
  3. 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

Trello connection fields
FieldWhat to provide
API key
apiKey
Optional
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.
Token
token
Optional · 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.

Trello per-hire limits
FieldWhat to provide
Boards
boards
Optional
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.

Arguments for list_lists
ArgumentTypeDetails
boardRequiredstringboard 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.

Arguments for list_cards
ArgumentTypeDetails
boardRequiredstringboard name or short link
listOptionalstringa list's name
limitOptionalintegerSee 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.

Arguments for search_cards
ArgumentTypeDetails
textRequiredstringSee input schema below.
boardOptionalstringboard 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.

Arguments for get_card
ArgumentTypeDetails
cardRequiredstringthe 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.

Arguments for create_card
ArgumentTypeDetails
boardRequiredstringboard name or short link
listRequiredstringthe list's name
titleRequiredstringSee input schema below.
descriptionOptionalstringplain textDefault: ""
dueOptionalstringdue 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.

Arguments for update_card
ArgumentTypeDetails
cardRequiredstringthe card's link or short link (the code after /c/)
titleOptionalstringSee input schema below.
descriptionOptionalstringreplaces the description
dueOptionalstringdue date like 2026-11-30, or "none" to clear it
listOptionalstringmove 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.

Arguments for complete_card
ArgumentTypeDetails
cardRequiredstringthe card's link or short link (the code after /c/)
doneOptionalbooleanSee 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.

Arguments for comment
ArgumentTypeDetails
cardRequiredstringthe card's link or short link (the code after /c/)
textRequiredstringplain 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.

Arguments for add_checklist
ArgumentTypeDetails
cardRequiredstringthe card's link or short link (the code after /c/)
nameOptionalstringSee input schema below.Default: "Checklist"
itemsRequiredstring[]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.

Arguments for check_item
ArgumentTypeDetails
cardRequiredstringthe card's link or short link (the code after /c/)
itemRequiredstringSee input schema below.
doneOptionalbooleanSee 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.

Service documentation · Integration source reference

On this page