Skip to content

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_done as 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.