Monday#
Monday is registered for API sync with sync-coupled user import. It pulls items from one configured monday.com board into a reviewable import session, proposes TeamBoost user mappings from referenced Monday users, and projects each item into the internal integrations task-create draft for operator review.
| Capability | Method | Status |
|---|---|---|
CSV_IMPORT |
— | Not built |
SYNC |
Pull items from the monday.com GraphQL API | ✅ Built |
USER_IMPORT |
Board users imported during sync | ✅ Built |
WEBHOOK |
— | Not built |
The endpoints below live under /api/v1/providers/monday/.... They are generic -
the same routes serve any registered provider by substituting the {provider} path
segment. All routes require an organization-scoped user token (see
Authentication).
Credential Verification#
Monday personal API tokens can be stored and verified for board-scoped API sync:
PUT /api/v1/providers/monday/credentials?organization_id=<id>
POST /api/v1/providers/monday/credentials/verify?organization_id=<id>
The stored secret is encrypted at rest and must be a JSON object:
{
"token": "<monday-personal-token>",
"board_id": "<board-id>",
"api_version": "2026-04"
}
Verification sends the token in monday.com's raw Authorization header, sends the
explicit API-Version header from the credential JSON, and probes me plus
boards(ids: ...). A malformed JSON secret, missing field, invalid API-version
format, rejected token, or unreadable configured board returns invalid_api_key.
Importing From the Monday API#
POST /api/v1/providers/monday/imports/sync?organization_id=<id>
Uses the stored encrypted credential to fetch the configured board only. The
current generic sync endpoint has no provider-specific request body, so the target
board is selected by the stored board_id.
The adapter calls monday.com's GraphQL API at https://api.monday.com/v2,
requests board metadata and items_page(limit: 500), then follows
next_items_page(cursor: ...) until the cursor is empty. It maps documented item
fields and typed column values into the shared import shape:
- item id, name, URL, created/updated timestamps, creator, parent item, group, and board/workspace context;
- status columns, including
is_doneas a completion hint; - priority-like columns whose id/title includes priority;
- people columns for the first person owner candidate;
- tags columns as labels;
- timeline and dependency columns as preserved provider context.
USER_IMPORT rides this sync. Proposed users come from board owners, board
subscribers, item creators, and people-column person entries. Team and agent
entries in people columns are preserved in provider context but are not mapped to
TeamBoost ownership.
Projection Field Coverage#
| Monday source | TeamBoost draft field | Notes |
|---|---|---|
Item name |
title |
Error if shorter than 2 characters |
| Monday item row | type |
Items are generic rows. Labels such as bug, feature, story, review, docs, release, refactor, security, and performance can map type; otherwise defaults to OTHER with a mapping note. |
| Description/notes-like column text | description |
Used when present; unknown columns are preserved in descriptionJson. |
| Status column | status |
Common to-do/in-progress/done/canceled labels map to TeamBoost statuses. Unknown labels are left unset with a mapping note. |
| Priority-like column | priority |
urgent/critical/high/medium/normal/low map to TeamBoost priority values; missing/unknown priority becomes UNKNOWN. |
| Creator | creatorId |
Resolved through the user mapping. If unmapped, creatorId is left unset with a mapping note; no fallback id is invented. |
| First people-column person | ownerId |
Present-but-unmapped owner is a blocking projectionError. Multiple people or team/agent entries become mapping notes. |
| Tags column | labels |
Pass-through; TeamBoost creates/maps labels server-side. |
| Board name | projectTitle |
|
| Group title | taskGroupTitle |
|
| Timeline and dependency columns | descriptionJson |
Preserved as context; schedule and dependency wiring require operator review. |
| Item URL, board/group/workspace refs, parent item, raw column context | descriptionJson |
Provider trace and review context only. |
requestedById is not populated from Monday creator or owner data. Requester is
reserved for an explicit requester/stakeholder column or future operator-approved
board convention.
Not Built Yet#
- CSV import. monday.com's documented board export produces Excel files; CSV support waits for a representative export saved as CSV or a cross-provider XLSX ingestion decision.
- Webhook registration and Authorization JWT verification.
- OAuth app install flow.
- Standalone user-directory import before sync.