Skip to content

Monday.com

Monday.com is a Work OS that powers teams to run projects and workflows with confidence. It's a simple, yet powerful platform that enables people to manage work, meet deadlines, and build a culture of transparency.

URI format

The URI format for Monday.com is as follows:

monday://?api_token=<api_token>

URI parameters:

  • api_token is your Monday.com API token for authentication.

Setting up a Monday.com Integration

You can obtain an API token from the Monday.com Developer Console. For more information, see Monday.com authentication documentation.

To get your API token:

  1. Go to your Monday.com account
  2. Click on your profile picture in the top right corner
  3. Select "Admin" → "API"
  4. Generate a new API token

Example

Let's say you want to ingest all boards into a DuckDB database called monday.db. For this example the value of api_token will be fake_token.

You can run the following to achieve this:

sh
ingestr ingest \
  --source-uri "monday://?api_token=fake_token" \
  --source-table "boards" \
  --dest-uri "duckdb://./monday.db" \
  --dest-table "public.boards"

Tables

Monday.com source allows ingesting the following resources into separate tables:

TablePrimary/Merge KeyInc KeyInc StrategyDetails
account--replaceAccount information including name, slug, tier, and plan details. Full reload on each run.
account_roles--replaceAccount roles with their types and permissions. Full reload on each run.
users--replaceUsers in your Monday.com account with their profiles and permissions. Full reload on each run.
boardsidupdated_atmergeBoards with their metadata, state, and configuration. Incrementally loads only updated boards.
itemsid-replaceItems (rows) across all boards, including each cell's raw values as a JSON array in column_values. Full reload on each run.
workspaces--replaceWorkspaces containing boards and their settings. Full reload on each run.
webhooks--replaceWebhooks configured for boards with their events and configurations. Full reload on each run.
updatesidupdated_atmergeUpdates (comments) on items with their content and metadata, including the creator and item names. Incrementally loads only updated entries.
teams--replaceTeams in your account with their members. Full reload on each run.
tags--replaceTags used across your account for organizing items. Full reload on each run.
custom_activities--replaceCustom activity types defined in your account. Full reload on each run.
board_columns--replaceColumns defined in all boards with their types and settings. Full reload on each run.
board_views--replaceViews configured for boards with their filters and settings. Full reload on each run.

Use these as --source-table parameter in the ingestr ingest command.

Scoping to specific boards

items, boards, board_columns, board_views, and updates accept an optional :<board_id>[,<board_id>...] suffix to restrict the result to the listed boards. Without a suffix they behave as before (every board in the account).

sh
# Items on a single board
ingestr ingest --source-table "items:5091839751" ...

# board_columns from two boards
ingestr ingest --source-table "board_columns:5091839751,5091841857" ...

# Updates on items belonging to a single board
ingestr ingest --source-table "updates:5091841883" ...

items:<board_id>:linked

items additionally supports a :linked suffix that treats the given board as a "master" board and also pulls items from any sub-boards whose name matches one of the master's item titles. Useful for a "master board → linked sub-boards" fan-out pattern where the master's items name the sub-boards. Requires at least one master board id.

sh
ingestr ingest --source-table "items:5091839751:linked" ...

NOTE

:linked discovers sub-boards by the convention that an item on the master board has the same title as the sub-board's name. So if your master board has an item called Q1 Roadmap and you also have a board called Q1 Roadmap, that board is treated as a linked sub-board and its items are included in the result.

NOTE

Monday.com has rate limits for API requests. The source handles pagination automatically and respects the API's maximum page size of 100 items.