Trello#
Trello imports board cards and board members into TeamBoost from either a CSV export or the Trello REST API, and projects each card into a TeamBoost task-create draft for review.
| Capability | Method | Status |
|---|---|---|
CSV_IMPORT |
Upload a Trello board CSV export | Built |
SYNC |
Pull cards from the Trello REST API | Built |
USER_IMPORT |
Pull board members during sync | Built |
WEBHOOK |
- | Not built (see Roadmap) |
The endpoints below live under /api/v1/providers/trello/.... They are generic -
the same routes serve any registered provider by substituting the {provider} path
segment - but the request/response shapes shown here are what Trello returns today.
All routes require an organization-scoped user token (see
Authentication).
Credentials (for API sync)#
Trello API sync uses an encrypted per-organization JSON credential:
{ "key", "token", "board_id" }.
keyis the Trello app API key.tokenis the member token authorized for that app key.board_idis the Trello board id or short link to import.
CSV import needs no credential.
PUT /api/v1/providers/trello/credentials?organization_id=<id>
curl -X PUT "https://<host>/api/v1/providers/trello/credentials?organization_id=590789" \
-H "Authorization: Bearer <user-token>" \
-H "Content-Type: application/json" \
-d '{ "secret": "{\"key\":\"<trello-key>\",\"token\":\"<member-token>\",\"board_id\":\"<board-id>\"}" }'
POST /api/v1/providers/trello/credentials/verify live-tests the key/token with a
cheap /members/me probe and confirms the configured board is readable; DELETE
removes it.
Importing#
Both entry points produce the same reviewable import session. Each parsed card is projected into a TeamBoost task-create draft at import time. Nothing is written to TeamBoost yet - the session is for review, mapping, and confirmation.
From a CSV export#
Export a Trello board CSV from the board UI. The adapter currently supports this captured header:
Card ID,Card Name,Description,List,Labels,Members,Due Date,Start Date,Status,Created Date,Last Activity,Checklist Items,Comments,Attachments,Archived
Date cells may be date-only (YYYY-MM-DD) or ISO-8601 timestamps; date-only
values are interpreted as UTC midnight.
POST /api/v1/providers/trello/imports/csv?organization_id=<id>
curl -X POST "https://<host>/api/v1/providers/trello/imports/csv?organization_id=590789" \
-H "Authorization: Bearer <user-token>" \
-F "file=@trello-export.csv"
From the API (sync)#
POST /api/v1/providers/trello/imports/sync?organization_id=<id>
Uses the stored credential to pull the configured board, all of its cards (including closed/archived cards), lists, and board members. Board members become proposed user mappings; card member ids resolve owners when the mapping is known.
What Gets Projected#
| Trello source | TeamBoost draft field |
|---|---|
| Card Name | title (min length 2; shorter -> projection error) |
| Description | description |
| Card labels | labels; labels named Bug/Documentation can infer type with a mapping note |
| List name | taskGroupTitle and status hint |
| Due Date / Start Date | plannedEndDate / plannedStartDate |
| Member mapping | ownerId |
| Checklist/comment/attachment/archive/member refs | descriptionJson |
Trello cards have no native TeamBoost task type, so cards default to OTHER unless
a known label indicates a more specific type. Trello list names are customizable:
common names such as To Do, Doing, and Done map to TeamBoost status values;
unknown list names leave status unset with a mapping note.
CSV exports carry member display names, not stable Trello member ids. Those names are used as owner candidates and may need operator review. API sync carries Trello member ids, so owner resolution uses the stable id when available.
Reviewing, Editing, Confirming#
| Route | Purpose |
|---|---|
GET /api/v1/providers/trello/imports/{id} |
Fetch the session for review. |
PATCH /api/v1/providers/trello/imports/{id}/mappings |
Replace the user mapping; the session re-projects. Set confirm: true to confirm. |
PATCH /api/v1/providers/trello/imports/{id}/task-entries/{index} |
Replace one projected task draft by its 0-based index. |
Confirming is rejected with 409 projection_errors_remain while any entry still has
a projectionError; mapping notes alone do not block. The execute step that pushes
a confirmed session into TeamBoost is not built yet (see Roadmap).