Skip to content

Updating visuals

If you see any images containing outdated UI, please bear with us.

We are updating all content as quickly as possible to mirror our new UI.

Monday.com integration

monday.com is a work management platform where teams organize work as boards of items with typed columns. This integration lets your WeWeb backend manage boards, groups, columns, items, subitems and updates (comments), use a board's items as a table data source, and react to board events (item created, column changed, item deleted…) via webhook triggers.

Use cases

  • Create monday.com items from your app (form submissions, orders, support requests → board items)
  • Update item statuses, dates and other column values from backend workflows
  • React to board events — item created, renamed, column changed, archived, deleted, update posted — with webhook triggers
  • Display and edit a board's items in your app through a WeWeb table
  • Post updates (comments) on items and manage boards, groups and columns programmatically

Setup

  1. In monday.com, click your profile avatar and open DevelopersMy Access Tokens. You can also go directly to https://your-account.monday.com/apps/manage/tokens (swap your-account for your account subdomain). Admins can also find the token under AdministrationConnectionsAPI (authentication docs).
  2. Copy the personal API token.
  3. In WeWeb, open the Data & API tab, then the Integrations subtab. Select Monday, then click Add Connection.
  4. Paste the Personal API Token. One connection serves all environments (Editor, Staging, Production) — use the environment selector on the connection form, or override the generated MONDAY_API_TOKEN environment variable, to set a different token per environment.
  5. Test with a simple action such as List Boards — if the token is valid, you get your boards back.

Enabling triggers (webhook)

The six triggers (see below) are fired by a webhook route on your project's backend. Unlike bot-style integrations, monday.com webhooks are registered per board, through the API itself:

  1. On the connection, set Monday Webhook to Enabled and keep the auto-generated Webhook Path — it is an unguessable random path, and its secrecy is part of the endpoint's protection, so avoid sharing it.
  2. Save the connection and publish your project — the webhook route must be publicly reachable, because monday verifies the URL with a challenge handshake at registration time.
  3. Copy the Webhook URL shown on the connection (each environment has its own URL — the copy button copies the URL of the environment you are viewing).
  4. Register a webhook on each board you want to watch with the Create Webhook action: pick the board, the event type (e.g. create_item), and paste the connection's webhook URL as the Target URL. Repeat per board, per event type, and per environment URL you want to receive events on.

THE TARGET URL MUST ANSWER MONDAY'S CHALLENGE

When you run Create Webhook, monday POSTs a { "challenge": "..." } body to the target URL and expects it echoed back. The connection's webhook URL handles this automatically — but if the URL is wrong, the project isn't published, or the webhook isn't enabled on the connection, monday fails the registration with an opaque Internal Server Error.

Deliveries for personal-token webhooks are unsigned — monday sends no signature header. Protection relies on the unguessable webhook path plus the challenge handshake proving URL ownership at registration time.

Triggers

With the webhook enabled and registered on a board, six backend triggers become available. A quirk worth knowing: the event name you subscribe with (in Create Webhook) differs from the legacy type name monday delivers inside the event payload. WeWeb maps both to its triggers — rely on the WeWeb trigger, never on event.type:

TriggerSubscribe with (event)Delivered as (event.type)Item id field
On item createdcreate_itemcreate_pulseevent.pulseId
On item name changedchange_nameupdate_nameevent.pulseId
On column value changedchange_column_valueupdate_column_valueevent.pulseId
On item archiveditem_archivedarchive_pulseevent.itemId
On item deleteditem_deleteddelete_pulseevent.itemId
On update createdcreate_updatecreate_updateevent.pulseId

Note the payload asymmetry: archive and delete events carry the item id as event.itemId, all the others as event.pulseId. The change_specific_column_value and change_status_column_value subscription variants fire the same On column value changed trigger. Other subscribable events (subitem events, item_moved_*, edit_update…) are acknowledged by the route but fire no trigger.

On item created

Runs when an item is created on a watched board. The item id is event.pulseId.

Example event

json
{
  "app": "monday",
  "type": "create_pulse",
  "triggerTime": "2026-09-01T12:00:00.000Z",
  "subscriptionId": 123456789,
  "isRetry": false,
  "userId": 12345678,
  "boardId": 1234567890,
  "pulseId": 9876543210,
  "pulseName": "New task",
  "groupId": "topics",
  "groupName": "Group Title",
  "groupColor": "#037f4c",
  "isTopGroup": true,
  "columnValues": {},
  "triggerUuid": "a1b2c3d4e5f6a1b2c3d4e5f6"
}

On item name changed

Runs when an item is renamed on a watched board. The new name is event.value.name, the previous one event.previousValue.name.

Example event

json
{
  "app": "monday",
  "type": "update_name",
  "triggerTime": "2026-09-01T12:00:00.000Z",
  "subscriptionId": 123456789,
  "isRetry": false,
  "userId": 12345678,
  "boardId": 1234567890,
  "groupId": "topics",
  "pulseId": 9876543210,
  "value": { "name": "Renamed task" },
  "previousValue": { "name": "New task" },
  "triggerUuid": "a1b2c3d4e5f6a1b2c3d4e5f6"
}

On column value changed

Runs when a column value changes on a watched board. The changed column is event.columnId, the new value event.value (a type-specific object). Subscribing with change_specific_column_value or change_status_column_value fires this same trigger.

Example event

json
{
  "app": "monday",
  "type": "update_column_value",
  "triggerTime": "2026-09-01T12:00:00.000Z",
  "subscriptionId": 123456789,
  "isRetry": false,
  "userId": 12345678,
  "boardId": 1234567890,
  "groupId": "topics",
  "pulseId": 9876543210,
  "pulseName": "New task",
  "columnId": "status",
  "columnType": "color",
  "columnTitle": "Status",
  "value": { "label": { "index": 1, "text": "Done", "style": { "color": "#00c875" } } },
  "previousValue": null,
  "changedAt": 1787574749,
  "isTopGroup": true,
  "triggerUuid": "a1b2c3d4e5f6a1b2c3d4e5f6"
}

On item archived

Runs when an item is archived on a watched board. Note the item id is event.itemId here (not pulseId).

Example event

json
{
  "app": "monday",
  "type": "archive_pulse",
  "triggerTime": "2026-09-01T12:00:00.000Z",
  "subscriptionId": 123456789,
  "isRetry": false,
  "userId": 12345678,
  "boardId": 1234567890,
  "itemId": 9876543210,
  "itemName": "New task",
  "triggerUuid": "a1b2c3d4e5f6a1b2c3d4e5f6"
}

On item deleted

Runs when an item is deleted from a watched board. Note the item id is event.itemId here (not pulseId).

Example event

json
{
  "app": "monday",
  "type": "delete_pulse",
  "triggerTime": "2026-09-01T12:00:00.000Z",
  "subscriptionId": 123456789,
  "isRetry": false,
  "userId": 12345678,
  "boardId": 1234567890,
  "itemId": 9876543210,
  "itemName": "New task",
  "triggerUuid": "a1b2c3d4e5f6a1b2c3d4e5f6"
}

On update created

Runs when an update (comment) is posted on an item of a watched board. The plain text is event.textBody, the item id event.pulseId, the update id event.updateId (event.replyId is set when the update is a reply).

Example event

json
{
  "app": "monday",
  "type": "create_update",
  "triggerTime": "2026-09-01T12:00:00.000Z",
  "subscriptionId": 123456789,
  "isRetry": false,
  "userId": 12345678,
  "boardId": 1234567890,
  "pulseId": 9876543210,
  "body": "<p>Looks good!</p>",
  "textBody": "Looks good!",
  "updateId": 1122334455,
  "replyId": null,
  "triggerUuid": "a1b2c3d4e5f6a1b2c3d4e5f6"
}

Using monday.com as a data source for tables

You can create WeWeb tables backed by a board's items: pick a Board in the table configuration and each item becomes a row.

Columns. The table exposes base columns — Item ID, Name, Group (the group title), State, URL, Created At, Updated At — plus one column per board column, keyed by the monday column id. Values are the column's display text; monday column types map to WeWeb types as follows: numbers, rating, auto_number and progress become numbers, checkbox becomes a boolean, date a date, creation_log and last_updated datetimes — everything else is text.

View options. A view can optionally filter and sort:

  • Group — Only return items from one group (empty = all groups). This field is bindable, e.g. to a view parameter via context.parameters for a dynamic per-call group.
  • Sort byName, Created at Or Updated at (empty keeps the board's own order).
  • Sort directionAscending (Default) or Descending; shown once Sort by is set.

Pagination is cursor-based only: the offset is an opaque string cursor, with a default page size of 100 and a maximum of 500. The group filter and sort apply on the first page only — the returned cursor carries them forward, so subsequent pages stay filtered and sorted without re-passing them.

Row CRUD. The table ships four generated workflow templates mapping row operations to actions: Get → Get Item, Create → Create Item, Update → Change Multiple Column Values, Delete → Delete Item.

Common pitfalls (setup & usage)

Column values are typed JSON (one shape per column type)

Column values objects are keyed by column id, and the value shape depends on the column type: status { "status": { "label": "Done" } } — date { "date4": { "date": "2026-01-01" } } — people { "people": { "personsAndTeams": [{ "id": 12345678, "kind": "person" }] } } — timeline { "timeline": { "from": "2026-01-01", "to": "2026-01-31" } } — dropdown { "dropdown": { "labels": ["A", "B"] } } — checkbox { "checkbox": { "checked": "true" } } — link { "link": { "url": "https://...", "text": "Docs" } } — email { "email": { "email": "a@b.c", "text": "a@b.c" } } — text and numbers take plain strings ({ "text": "hello", "numbers": "42" }). When in doubt, Change Simple Column Value is the escape hatch: plain string values, and an empty string clears the column. See the column types reference.

monday silently drops unknown column ids and wrong value shapes

Writing column values with an unknown column id, or a value object in the wrong shape for the column type, does not error — the write succeeds and the column stays empty. Only invalid simple-string values fail loudly (e.g. This status label doesn't exist... on a status column). After a write with computed column ids or shapes, verify with Get Item before trusting it.

Renaming an item is a column write

monday has no rename mutation: Change Item Name writes the item's name column via change_simple_column_value — which is why it needs the Board on top of the Item ID. Renaming an item this way fires the On item name changed trigger, like a rename in the UI.

Cursors and filters are mutually exclusive

On List Items and Get Items By Column Value, the board scope and column filters apply on the first page only. When you pass a Cursor, the board/filter inputs are ignored — the cursor carries the whole query forward, so send only the cursor for subsequent pages. cursor: null in a result means the last page. Cursors expire after about 60 minutes.

Rate limits

monday enforces a complexity budget per account rather than a flat request count — heavy queries exhaust it faster. On top of that, Create Board and Duplicate Board are capped at 40 mutations per minute. See the rate limits docs.

The default "Main workspace" may be missing from workspace pickers

On some plans the workspaces API only returns explicitly created workspaces, so the default Main workspace doesn't appear in the Workspace dropdowns. Leaving the field empty targets the Main workspace — that's the way to create boards there.

Archive vs delete

Archiving (boards, groups, items) is recoverable from the monday.com UI; deleting is permanent. Prefer the archive actions unless permanent removal is intended. Also note the state/archived flags returned right after an archive call can lag behind the operation — don't build assertions on them immediately after the write.

Board pickers are design-time only

The Board, Column and Workspace dropdowns are not bindable — their values drive dependent dropdowns and field visibility, so workflows use ids picked (or pasted) at design time. You cannot bind a board id to a board created earlier in the same workflow. Group pickers, Item ID, Cursor and all value fields are bindable, so chaining a Create Group result into Create Item works fine.

All ids are strings

monday ids look numeric but the API treats them as strings — pass and compare them as strings ("1234567890"). Group ids are genuinely textual (e.g. topics).

A nonexistent board: empty result vs error

Get Board follows monday's list semantics and returns [] for a nonexistent or inaccessible board id — not an error. The board-scoped list actions (List Items, List Groups, List Columns) instead throw Board ... not found or not accessible, so an empty result from them always means a real, empty board.

All Actions

This integration provides 39 actions, all backed by the monday.com GraphQL API (POST https://api.monday.com/v2), grouped by resource.

Boards

ActionDescription
Create BoardCreate a board, optionally in a workspace/folder, from a template, with owners and subscribers
Get BoardGet one or more boards by ID, including their columns and groups
List BoardsList the account's boards, page-numbered, with optional filters
Update BoardUpdate a board's name, description or communication value
Duplicate BoardDuplicate a board — structure only, with items, or with items and updates
Archive BoardArchive a board (recoverable)
Delete BoardDelete a board permanently

Columns

ActionDescription
Create ColumnCreate a column on a board, optionally with type-specific defaults
List ColumnsList a board's columns (id, title, type, settings)
Change Column ValueSet one column value of an item using the column type JSON format
Change Simple Column ValueSet one column value using the simple string format
Change Multiple Column ValuesSet several column values of an item in one call
Change Column TitleRename a column
Delete ColumnDelete a column and all its values

Groups

ActionDescription
Create GroupCreate a group (row section) on a board
List GroupsList a board's groups
Update GroupUpdate a group's title, color or position
Duplicate GroupDuplicate a group with its items
Archive GroupArchive a group and its items (recoverable)
Delete GroupDelete a group and all its items permanently

Items

ActionDescription
Create ItemCreate an item (task/row) on a board, optionally with initial column values
Get ItemGet one or more items by ID with all their column values
List ItemsList a board's items, cursor-paginated
Get Items By Column ValueFind items whose columns match given values, cursor-paginated
Change Item NameRename an item (via its name column)
Move Item To GroupMove an item to another group of the same board
Move Item To BoardMove an item to a group of another board, with optional column mapping
Archive ItemArchive an item (recoverable)
Duplicate ItemDuplicate an item, optionally with its updates
Delete ItemDelete an item permanently

Subitems

ActionDescription
Create SubitemCreate a subitem under an item
List SubitemsList the subitems of an item

Updates

ActionDescription
Create UpdatePost an update (comment) on an item, optionally as a reply and with mentions
List UpdatesList an item's updates, page-numbered
Edit UpdateEdit the body of an update
Delete UpdateDelete an update

Webhooks

ActionDescription
Create WebhookSubscribe a URL to a board event (fires the WeWeb triggers)
List WebhooksList the webhooks registered on a board
Delete WebhookDelete a webhook subscription

Action details

Create Board

Create a monday.com board, optionally in a workspace/folder, from a template, with owners and subscribers. Rate limited to 40 board creations per minute.

Inputs

Display KeyExample InputDescriptionRestrictions
Board name"Project tracker"Name of the new board.Required
Board kind"public"Visibility of the board: public (to the account), private or share (shareable).Required; valid: public, private, share
Description
Optional
"Tracks the Q4 launch tasks"Description of the board.String
Workspace
Optional
"9876543"Workspace to place the board in, picked from your workspaces. Leave empty for the default Main workspace (the picker may not list it).Design-time picker
Folder ID
Optional
"1234567"Folder to place the board in (inside the selected workspace). In the Advanced subsection.String
Template ID
Optional
"1234567890"Board or template ID to create the board from. In Advanced.String
Board owners
Optional
Users to set as board owners, picked from your account users. In Advanced.Design-time picker (multi)
Board subscribers
Optional
Users to subscribe to the board. In Advanced.Design-time picker (multi)
Owner team IDs
Optional
["1234567"]Team IDs to set as board owners. In Advanced.Array of strings
Subscriber team IDs
Optional
["1234567"]Team IDs to subscribe to the board. In Advanced.Array of strings
Create empty
Optional
trueCreate the board without the default items monday adds to new boards. In Advanced.Boolean, default false

Example output

json
{
  "id": "1234567890",
  "name": "Project tracker",
  "description": "Tracks the Q4 launch tasks",
  "board_kind": "public",
  "state": "active",
  "board_folder_id": null,
  "workspace_id": "9876543",
  "url": "https://acme.monday.com/boards/1234567890"
}

Documentation of API endpoint that powers action: monday.com API – Boards (create_board)

Get Board

Get one or more boards by ID, including their columns and groups. Follows monday's list semantics: unknown or inaccessible ids are simply absent from the result (an all-unknown request returns [], not an error).

Inputs

Display KeyExample InputDescriptionRestrictions
Board IDs["1234567890"]IDs of the boards to fetch.Required; array of strings
State
Optional
"active"Filter boards by state. Defaults to active.Valid: active, archived, deleted, all

Example output

json
[
  {
    "id": "1234567890",
    "name": "Project tracker",
    "description": null,
    "board_kind": "public",
    "state": "active",
    "board_folder_id": null,
    "workspace_id": "9876543",
    "url": "https://acme.monday.com/boards/1234567890",
    "columns": [
      { "id": "name", "title": "Name", "type": "name", "description": null, "settings_str": "{}" },
      { "id": "status", "title": "Status", "type": "status", "description": null, "settings_str": "{\"labels\":{\"0\":\"Working on it\",\"1\":\"Done\"}}" }
    ],
    "groups": [
      { "id": "topics", "title": "Group Title", "color": "#037f4c", "position": "65536", "archived": false, "deleted": false }
    ]
  }
]

Documentation of API endpoint that powers action: monday.com API – Boards

List Boards

List the account's boards with page-based pagination and optional filters. Default ordering is not guaranteed — pass Order by explicitly when it matters.

Inputs

Display KeyExample InputDescriptionRestrictions
Workspaces
Optional
Restrict the list to these workspaces, picked from your account. The default Main workspace may be missing from the picker (API quirk).Design-time picker (multi)
Board kind
Optional
"public"Filter by board visibility.Valid: public, private, share
State
Optional
"active"Filter boards by state. Defaults to active.Valid: active, archived, deleted, all
Order by
Optional
"used_at"Order boards by created_at or used_at (most recently used first).Valid: created_at, used_at
Limit
Optional
25Number of boards per page.Number, default 25
Page
Optional
1Page number to fetch.Number, starting at 1

Example output

json
[
  { "id": "1234567890", "name": "Project tracker", "description": null, "board_kind": "public", "state": "active", "board_folder_id": null, "workspace_id": "9876543", "url": "https://acme.monday.com/boards/1234567890" },
  { "id": "1234567891", "name": "Roadmap", "description": null, "board_kind": "public", "state": "active", "board_folder_id": null, "workspace_id": "9876543", "url": "https://acme.monday.com/boards/1234567891" }
]

Documentation of API endpoint that powers action: monday.com API – Boards

Update Board

Update one board attribute: its name, description or communication value.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to update.Required; design-time picker
Attribute"name"The board attribute to update.Required; valid: name, description, communication
New value"Renamed board"The new value for the selected attribute.Required

Example output — note the result is a JSON string describing the applied change, not an object:

json
"{\"success\":true,\"undo_data\":{\"undo_record_id\":123456789,\"action_type\":\"modify_project\",\"entity_type\":\"Board\",\"original_value\":null,\"count\":1}}"

Documentation of API endpoint that powers action: monday.com API – Boards (update_board)

Duplicate Board

Duplicate a board — structure only, with items, or with items and updates. Rate limited to 40 duplications per minute.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to duplicate.Required; design-time picker
Duplicate type"duplicate_board_with_pulses"What to copy: structure only, structure + items, or structure + items + updates.Required; valid: duplicate_board_with_structure, duplicate_board_with_pulses, duplicate_board_with_pulses_and_updates
New board name
Optional
"Project tracker (copy)"Name for the duplicated board. Defaults to Duplicate of ....String
Workspace
Optional
"9876543"Workspace to place the duplicate in. Leave empty to keep the original workspace.Design-time picker
Folder ID
Optional
"1234567"Folder to place the duplicated board in.String
Keep subscribers
Optional
falseCopy the original board subscribers to the duplicate.Boolean, default false

Example output

json
{
  "id": "1234567892",
  "name": "Duplicate of Project tracker",
  "description": null,
  "board_kind": "public",
  "state": "active",
  "board_folder_id": null,
  "workspace_id": "9876543",
  "url": "https://acme.monday.com/boards/1234567892"
}

Documentation of API endpoint that powers action: monday.com API – Boards (duplicate_board)

Archive Board

Archive a board. Archived boards can be restored from monday.com — prefer this over Delete Board when in doubt.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to archive.Required; design-time picker

Example output

json
{ "id": "1234567890", "state": "archived" }

Documentation of API endpoint that powers action: monday.com API – Boards (archive_board)

Delete Board

Delete a board permanently. Use Archive Board to keep it recoverable.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to delete.Required; design-time picker

Example output

json
{ "id": "1234567890", "state": "deleted" }

Documentation of API endpoint that powers action: monday.com API – Boards (delete_board)

Create Column

Create a column on a board, optionally with type-specific defaults (e.g. status labels).

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to add the column to.Required; design-time picker
Title"Priority"Title of the new column.Required
Column type"status"Type of the new column — the common creatable types. Other types (e.g. board_relation, mirror, formula) exist but usually need extra configuration in monday.Required; valid: text, long_text, numbers, status, date, people, dropdown, email, phone, link, checkbox, rating, timeline, world_clock, country, color_picker, hour, week, tags, location, file
Description
Optional
"Current task priority"Description of the column.String
Column ID
Optional
"priority_level"User-defined column id. In the Advanced subsection.1–20 chars, a-z and _ only, unique on the board
Defaults
Optional
{"labels":{"1":"To do","2":"Done"}}Type-specific default settings, e.g. status labels. Sent to monday as JSON. In Advanced.Object
After column
Optional
"status"Place the new column right after this column. In Advanced.Design-time picker; shown once a Board is selected

Example output

json
{ "id": "priority_level", "title": "Priority", "type": "status", "description": "Current task priority", "settings_str": "{\"labels\":{\"1\":\"To do\",\"2\":\"Done\"}}" }

Documentation of API endpoint that powers action: monday.com API – Columns (create_column)

List Columns

List a board's columns (id, title, type, settings), optionally filtered by ids or types. Throws Board ... not found or not accessible for a nonexistent or inaccessible board id.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to list columns from.Required; design-time picker
Column IDs
Optional
["status", "date4"]Restrict the list to these column ids.Array of strings
Column types
Optional
["status"]Restrict the list to these column types (e.g. status, date, people).Array of strings

Example output

json
[
  { "id": "name", "title": "Name", "type": "name", "description": null, "settings_str": "{}" },
  { "id": "status", "title": "Status", "type": "status", "description": null, "settings_str": "{\"labels\":{\"0\":\"Working on it\",\"1\":\"Done\"}}" },
  { "id": "date4", "title": "Due date", "type": "date", "description": null, "settings_str": "{}" }
]

Documentation of API endpoint that powers action: monday.com API – Columns

Change Column Value

Set a single column value of an item using the column type JSON format (e.g. { "label": "Done" } for a status column). monday silently ignores wrongly-shaped value objects — verify with Get Item when unsure.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the item belongs to.Required; design-time picker
Item ID"9876543210"ID of the item, from a create action result, a list action or a trigger event (event.pulseId).Required
Column"status"The column to update.Required; design-time picker; shown once a Board is selected
Value{"label":"Done"}JSON value in the column type format, e.g. status: { "label": "Done" } — date: { "date": "2026-01-01" }.Required; object
Create labels if missing
Optional
falseCreate missing status/dropdown labels on the fly instead of failing. Requires board owner permissions.Boolean, default false

Example output

json
{
  "id": "9876543210",
  "name": "Design the landing page",
  "state": "active",
  "url": "https://acme.monday.com/boards/1234567890/pulses/9876543210",
  "created_at": "2026-09-01T10:12:33Z",
  "updated_at": "2026-09-01T10:15:02Z",
  "board": { "id": "1234567890", "name": "Project tracker" },
  "group": { "id": "topics", "title": "Group Title" },
  "column_values": [
    { "id": "status", "text": "Done", "value": "{\"index\":1,\"post_id\":null,\"changed_at\":\"2026-09-01T10:15:02.126Z\"}", "type": "status", "column": { "id": "status", "title": "Status" } }
  ]
}

Documentation of API endpoint that powers action: monday.com API – Columns (change_column_value)

Change Simple Column Value

Set a single column value of an item using the simple string format (e.g. Done for a status column, 2026-01-01 for a date). An empty value clears the column. Unlike JSON-format writes, invalid simple values fail loudly (e.g. This status label doesn't exist...).

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the item belongs to.Required; design-time picker
Item ID"9876543210"ID of the item to update.Required
Column"status"The column to update.Required; design-time picker; shown once a Board is selected
Value"Done"Simple string value, e.g. Done for a status column, 2026-01-01 for a date. An empty value clears the column.Required; string
Create labels if missing
Optional
falseCreate missing status/dropdown labels on the fly instead of failing. Requires board owner permissions.Boolean, default false

Example output: the full item object, as in Change Column Value.

Documentation of API endpoint that powers action: monday.com API – Columns (change_simple_column_value)

Change Multiple Column Values

Set several column values of an item in one call, keyed by column id in the column type JSON format. Remember: monday silently ignores unknown column ids and wrongly-shaped value objects — those columns just stay unchanged.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the item belongs to.Required; design-time picker
Item ID"9876543210"ID of the item to update.Required
Column values{"status":{"label":"Done"},"date4":{"date":"2026-01-01"}}Column values keyed by column id — the JSON shape depends on the column type (see the pitfall above).Required; object
Create labels if missing
Optional
falseCreate missing status/dropdown labels on the fly instead of failing. Requires board owner permissions.Boolean, default false

Example output: the full item object with the updated column_values, as in Change Column Value.

Documentation of API endpoint that powers action: monday.com API – Columns (change_multiple_column_values)

Change Column Title

Rename a column of a board.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the column belongs to.Required; design-time picker
Column"status"The column to rename.Required; design-time picker; shown once a Board is selected
New title"Priority"The new title of the column.Required

Example output

json
{ "id": "status", "title": "Priority", "type": "status", "description": null, "settings_str": "{\"labels\":{\"0\":\"Working on it\",\"1\":\"Done\"}}" }

Documentation of API endpoint that powers action: monday.com API – Columns (change_column_title)

Delete Column

Delete a column from a board. All values stored in the column are lost permanently.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the column belongs to.Required; design-time picker
Column"priority_level"The column to delete — its values are lost permanently.Required; design-time picker; shown once a Board is selected

Example output

json
{ "id": "priority_level" }

Documentation of API endpoint that powers action: monday.com API – Columns (delete_column)

Create Group

Create a group (row section) on a board. With no Relative to group, the new group is added at the top of the board; with a group selected but no position method, monday defaults to after_at (below it).

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to add the group to.Required; design-time picker
Group name"Backlog"Name of the new group.Required; max 255 characters
Group color
Optional
"#037f4c"Hex color from monday's supported palette. Unsupported colors are rejected.String
Relative to group
Optional
"topics"Position the new group relative to this group.Shown once a Board is selected
Position method
Optional
"after_at"Position the new group before_at or after_at the group in Relative to group. Ignored without one.Valid: before_at, after_at

Example output

json
{ "id": "group_mkt8xy2a", "title": "Backlog", "color": "#037f4c", "position": "98304", "archived": false, "deleted": false }

Documentation of API endpoint that powers action: monday.com API – Groups (create_group)

List Groups

List a board's groups. Throws Board ... not found or not accessible for a nonexistent or inaccessible board id.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to list groups from.Required; design-time picker
Group IDs
Optional
["topics"]Restrict the list to these group ids.Array of strings

Example output

json
[
  { "id": "topics", "title": "Group Title", "color": "#037f4c", "position": "65536", "archived": false, "deleted": false },
  { "id": "group_mkt8xy2a", "title": "Backlog", "color": "#579bfc", "position": "98304", "archived": false, "deleted": false }
]

Documentation of API endpoint that powers action: monday.com API – Groups

Update Group

Update one group attribute: title, color or (relative) position.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the group belongs to.Required; design-time picker
Group"topics"The group to update.Required; shown once a Board is selected
Attribute"title"The group attribute to update. relative_position_after/relative_position_before expect a group id as the new value; color expects a supported hex color.Required; valid: title, color, position (deprecated), relative_position_after, relative_position_before
New value"Done tasks"The new value: a title, a hex color (e.g. #037f4c), or a group id for the relative position attributes.Required

Example output

json
{ "id": "topics", "title": "Done tasks", "color": "#037f4c", "position": "65536", "archived": false, "deleted": false }

Documentation of API endpoint that powers action: monday.com API – Groups (update_group)

Duplicate Group

Duplicate a group of a board, including its items.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the group belongs to.Required; design-time picker
Group"topics"The group to duplicate.Required; shown once a Board is selected
New group title
Optional
"Backlog (copy)"Title for the duplicated group. Defaults to Duplicate of ....String
Add to top
Optional
falsePlace the duplicated group at the top of the board.Boolean, default false

Example output

json
{ "id": "duplicate_of_topics_1234", "title": "Duplicate of Group Title", "color": "#037f4c", "position": "131072", "archived": false, "deleted": false }

Documentation of API endpoint that powers action: monday.com API – Groups (duplicate_group)

Archive Group

Archive a group and its items. Archived groups can be restored from monday.com. The returned archived flag can lag right after the call.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the group belongs to.Required; design-time picker
Group"topics"The group to archive (with its items).Required; shown once a Board is selected

Example output

json
{ "id": "topics", "archived": true }

Documentation of API endpoint that powers action: monday.com API – Groups (archive_group)

Delete Group

Delete a group and all its items permanently. Use Archive Group to keep it recoverable.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the group belongs to.Required; design-time picker
Group"group_mkt8xy2a"The group to delete with all its items.Required; shown once a Board is selected

Example output

json
{ "id": "group_mkt8xy2a", "deleted": true }

Documentation of API endpoint that powers action: monday.com API – Groups (delete_group)

Create Item

Create an item (task/row) on a board, optionally in a specific group and with initial column values.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to create the item on.Required; design-time picker
Item name"Design the landing page"Name of the new item.Required
Group
Optional
"topics"The group to create the item in. Defaults to the first group of the board.Shown once a Board is selected
Column values
Optional
{"status":{"label":"Done"},"date4":{"date":"2026-01-01"}}Column values keyed by column id — the JSON shape depends on the column type. monday silently ignores unknown column ids and wrongly-shaped value objects.Object
Create labels if missing
Optional
falseCreate missing status/dropdown labels on the fly instead of failing. Requires board owner permissions.Boolean, default false
Position method
Optional
"after_at"Position the new item before_at or after_at the item in Relative to item; without one, the item is appended at the bottom of the group. In the Advanced subsection.Valid: before_at, after_at
Relative to item
Optional
"9876543209"Item to position the new item relative to. In Advanced.String

Example output

json
{
  "id": "9876543210",
  "name": "Design the landing page",
  "state": "active",
  "url": "https://acme.monday.com/boards/1234567890/pulses/9876543210",
  "created_at": "2026-09-01T10:12:33Z",
  "updated_at": "2026-09-01T10:12:33Z",
  "board": { "id": "1234567890", "name": "Project tracker" },
  "group": { "id": "topics", "title": "Group Title" },
  "column_values": [
    { "id": "status", "text": "Done", "value": "{\"index\":1}", "type": "status", "column": { "id": "status", "title": "Status" } },
    { "id": "date4", "text": "2026-01-01", "value": "{\"date\":\"2026-01-01\"}", "type": "date", "column": { "id": "date4", "title": "Due date" } }
  ]
}

Documentation of API endpoint that powers action: monday.com API – Items (create_item)

Get Item

Get one or more items by ID, with all their column values. Subitems come back with a non-null parent_item.

Inputs

Display KeyExample InputDescriptionRestrictions
Item IDs["9876543210"]IDs of the items to fetch.Required; array of strings, max 100

Example output

json
[
  {
    "id": "9876543210",
    "name": "Design the landing page",
    "state": "active",
    "url": "https://acme.monday.com/boards/1234567890/pulses/9876543210",
    "created_at": "2026-09-01T10:12:33Z",
    "updated_at": "2026-09-01T10:15:02Z",
    "board": { "id": "1234567890", "name": "Project tracker" },
    "group": { "id": "topics", "title": "Group Title" },
    "column_values": [
      { "id": "status", "text": "Done", "value": "{\"index\":1}", "type": "status", "column": { "id": "status", "title": "Status" } }
    ],
    "parent_item": null
  }
]

Documentation of API endpoint that powers action: monday.com API – Items

List Items

List a board's items with cursor pagination. Pass the returned cursor to get the next page — the cursor carries the board scope, so Board is ignored on cursor pages. cursor: null = last page. Throws Board ... not found or not accessible for a nonexistent or inaccessible board id.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to list items from. Ignored when a Cursor is set.Required (first page); design-time picker
Limit
Optional
25Maximum number of results per page.Number, default 25, max 500
Cursor
Optional
"MSw5NzI4..."Cursor returned by the previous page. Leave empty for the first page. Cursors expire after ~60 minutes.String

Example output

json
{
  "cursor": "MSw5NzI4NDcyLDJfMiw0MiwzNXw0MTk3ODA0NQ",
  "items": [
    {
      "id": "9876543210",
      "name": "Design the landing page",
      "state": "active",
      "url": "https://acme.monday.com/boards/1234567890/pulses/9876543210",
      "created_at": "2026-09-01T10:12:33Z",
      "updated_at": "2026-09-01T10:15:02Z",
      "board": { "id": "1234567890", "name": "Project tracker" },
      "group": { "id": "topics", "title": "Group Title" },
      "column_values": [
        { "id": "status", "text": "Done", "value": "{\"index\":1}", "type": "status", "column": { "id": "status", "title": "Status" } }
      ]
    }
  ]
}

Documentation of API endpoint that powers action: monday.com API – Items page (items_page / next_items_page)

Get Items By Column Value

Find items on a board whose column(s) match given values, cursor-paginated. Column filters and cursor are mutually exclusive: pass filters on the first page only — the returned cursor carries them forward.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to search items on.Required; design-time picker
Column filters[{"column_id":"status","column_values":["Done"]}]Filters: items match when the column holds one of the given values (in the column text format, e.g. a status label). Each filter row has a Column ID and Values. Supported column types only (status, text, numbers, date…).Required on the first page; ignored when a Cursor is set
Limit
Optional
25Maximum number of results per page.Number, default 25, max 500
Cursor
Optional
"MSw5NzI4..."Cursor returned by the previous page. When set, Column filters are ignored — the cursor carries the filter forward.String

Example output

json
{
  "cursor": null,
  "items": [
    {
      "id": "9876543210",
      "name": "Design the landing page",
      "state": "active",
      "url": "https://acme.monday.com/boards/1234567890/pulses/9876543210",
      "created_at": "2026-09-01T10:12:33Z",
      "updated_at": "2026-09-01T10:15:02Z",
      "board": { "id": "1234567890", "name": "Project tracker" },
      "group": { "id": "topics", "title": "Group Title" },
      "column_values": [
        { "id": "status", "text": "Done", "value": "{\"index\":1}", "type": "status", "column": { "id": "status", "title": "Status" } }
      ]
    }
  ]
}

Documentation of API endpoint that powers action: monday.com API – Items page by column values

Change Item Name

Rename an item. monday has no dedicated rename mutation — this action writes the item's name column via change_simple_column_value, which is why the Board is required on top of the Item ID.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the item belongs to.Required; design-time picker
Item ID"9876543210"The item to rename.Required
New name"Design the landing page v2"The new name of the item.Required

Example output: the full item object with the new name, as in Change Column Value.

Documentation of API endpoint that powers action: monday.com API – Columns (change_simple_column_value)

Move Item To Group

Move an item to another group of the same board.

Inputs

Display KeyExample InputDescriptionRestrictions
Item ID"9876543210"The item to move.Required
Group ID"topics"ID of the target group on the same board (use List Groups to find it). A plain text field — this action has no board input to drive a group dropdown.Required

Example output: the full item object with the new group, as in Change Column Value.

Documentation of API endpoint that powers action: monday.com API – Items (move_item_to_group)

Move Item To Board

Move an item to a group of another board, optionally mapping its columns (and its subitems' columns) onto the target board's columns. Unmapped columns lose their values.

Inputs

Display KeyExample InputDescriptionRestrictions
Item ID"9876543210"The item to move.Required
Target board"1234567891"The board to move the item to.Required; design-time picker
Target group"topics"The group of the target board to move the item into.Required; shown once a Target board is selected
Columns mapping
Optional
[{"source":"status","target":"status_1"}]Map source board columns onto target board columns. Each row has a Source column ID and a Target column ID (empty target = value dropped).Array of { source, target }
Subitems columns mapping
Optional
[{"source":"status","target":"status_1"}]Same as Columns mapping, for the subitems board columns.Array of { source, target }

Example output: the full item object on its new board and group, as in Change Column Value.

Documentation of API endpoint that powers action: monday.com API – Items (move_item_to_board)

Archive Item

Archive an item. Archived items can be restored from monday.com. Fires the On item archived trigger on watched boards. The returned state can lag right after the call.

Inputs

Display KeyExample InputDescriptionRestrictions
Item ID"9876543210"The item to archive.Required

Example output

json
{ "id": "9876543210", "state": "archived" }

Documentation of API endpoint that powers action: monday.com API – Items (archive_item)

Duplicate Item

Duplicate an item on its board, optionally with its updates (comments).

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board the item belongs to.Required; design-time picker
Item ID"9876543210"The item to duplicate.Required
Include updates
Optional
falseAlso copy the item updates (comments).Boolean, default false

Example output: the duplicated item object (new id), as in Change Column Value.

Documentation of API endpoint that powers action: monday.com API – Items (duplicate_item)

Delete Item

Delete an item permanently. Use Archive Item to keep it recoverable. Fires the On item deleted trigger on watched boards.

Inputs

Display KeyExample InputDescriptionRestrictions
Item ID"9876543210"The item to delete.Required

Example output

json
{ "id": "9876543210", "state": "deleted" }

Documentation of API endpoint that powers action: monday.com API – Items (delete_item)

Create Subitem

Create a subitem under an item. Subitems live on a separate hidden board — their column ids differ from the parent board's.

Inputs

Display KeyExample InputDescriptionRestrictions
Parent item ID"9876543210"The item to create the subitem under.Required
Subitem name"Write the copy"Name of the new subitem.Required
Column values
Optional
{"status":{"label":"Done"}}Column values keyed by column id of the subitems board (subitem columns differ from the parent board — list them via a subitem's board).Object
Create labels if missing
Optional
falseCreate missing status/dropdown labels on the fly instead of failing. Requires board owner permissions.Boolean, default false

Example output

json
{
  "id": "9876543211",
  "name": "Write the copy",
  "state": "active",
  "url": "https://acme.monday.com/boards/1234567899/pulses/9876543211",
  "created_at": "2026-09-01T10:20:00Z",
  "updated_at": "2026-09-01T10:20:00Z",
  "board": { "id": "1234567899", "name": "Subitems of Project tracker" },
  "group": { "id": "topics", "title": "Subitems" },
  "column_values": [],
  "parent_item": { "id": "9876543210", "name": "Design the landing page" }
}

Documentation of API endpoint that powers action: monday.com API – Subitems (create_subitem)

List Subitems

List the subitems of an item.

Inputs

Display KeyExample InputDescriptionRestrictions
Item ID"9876543210"The parent item to list subitems from.Required

Example output

json
[
  {
    "id": "9876543211",
    "name": "Write the copy",
    "state": "active",
    "url": "https://acme.monday.com/boards/1234567899/pulses/9876543211",
    "created_at": "2026-09-01T10:20:00Z",
    "updated_at": "2026-09-01T10:20:00Z",
    "board": { "id": "1234567899", "name": "Subitems of Project tracker" },
    "group": { "id": "topics", "title": "Subitems" },
    "column_values": []
  }
]

Documentation of API endpoint that powers action: monday.com API – Subitems

Create Update

Post an update (comment) on an item, optionally as a reply to another update and with user/team mentions. Fires the On update created trigger on watched boards.

Inputs

Display KeyExample InputDescriptionRestrictions
Item ID"9876543210"The item to post the update on.Required
Body"Shipped to staging"Text of the update. Supports simple HTML (<b>, <a>, lists…).Required
Reply to update ID
Optional
"1122334455"Post this update as a reply to another update.String
Mentions
Optional
[{"id":"12345678","type":"User"}]Users/teams to mention. Each row has an ID and a Type — usually User (also Team or Project).Array of { id, type }

Example output

json
{
  "id": "1122334455",
  "body": "<p>Shipped to <b>staging</b></p>",
  "text_body": "Shipped to staging",
  "created_at": "2026-09-01T10:30:00Z",
  "updated_at": "2026-09-01T10:30:00Z",
  "creator_id": "12345678",
  "item_id": "9876543210",
  "replies": []
}

Documentation of API endpoint that powers action: monday.com API – Updates (create_update)

List Updates

List an item's updates (comments), page-numbered. Replies come nested under their parent update.

Inputs

Display KeyExample InputDescriptionRestrictions
Item ID"9876543210"The item to list updates from.Required
Limit
Optional
25Number of updates per page.Number, default 25
Page
Optional
1Page number to fetch.Number, starting at 1

Example output

json
[
  {
    "id": "1122334455",
    "body": "<p>Shipped to <b>staging</b></p>",
    "text_body": "Shipped to staging",
    "created_at": "2026-09-01T10:30:00Z",
    "updated_at": "2026-09-01T10:32:00Z",
    "creator_id": "12345678",
    "item_id": "9876543210",
    "replies": [
      { "id": "1122334456", "body": "<p>Looks good!</p>", "text_body": "Looks good!", "created_at": "2026-09-01T10:32:00Z", "creator_id": "12345679" }
    ]
  }
]

Documentation of API endpoint that powers action: monday.com API – Updates

Edit Update

Edit the body of an existing update (comment).

Inputs

Display KeyExample InputDescriptionRestrictions
Update ID"1122334455"The update to edit (from Create Update or List Updates).Required
New body"Shipped to production"The new body of the update. Supports simple HTML.Required

Example output

json
{
  "id": "1122334455",
  "body": "<p>Shipped to <b>production</b></p>",
  "text_body": "Shipped to production",
  "created_at": "2026-09-01T10:30:00Z",
  "updated_at": "2026-09-01T11:00:00Z",
  "creator_id": "12345678",
  "item_id": "9876543210",
  "replies": []
}

Documentation of API endpoint that powers action: monday.com API – Updates (edit_update)

Delete Update

Delete an update (comment).

Inputs

Display KeyExample InputDescriptionRestrictions
Update ID"1122334455"The update to delete.Required

Example output

json
{ "id": "1122334455" }

Documentation of API endpoint that powers action: monday.com API – Updates (delete_update)

Create Webhook

Subscribe a URL to a board event. Point it at the connection's webhook URL (shown on the connection settings) to fire the WeWeb triggers — monday verifies the URL with a challenge handshake at creation, and fails with an opaque Internal Server Error if the URL doesn't echo the challenge.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to watch.Required; design-time picker
Target URL"https://myproject-server-editor.weweb-server.io/api/monday/webhook/abc123"URL monday will POST events to. It must echo back the JSON challenge monday sends at creation, or the call fails. Use the webhook URL shown on the connection settings.Required; HTTPS
Event"create_item"Board event to subscribe to. Note monday delivers legacy event type names (e.g. create_item arrives as create_pulse) — WeWeb maps both to its triggers.Required; valid: change_column_value, change_name, change_specific_column_value, change_status_column_value, change_subitem_column_value, change_subitem_name, create_column, create_item, create_subitem, create_subitem_update, create_update, delete_update, edit_update, item_archived, item_deleted, item_moved_to_any_group, item_moved_to_specific_group, item_restored, move_subitem, subitem_archived, subitem_deleted
Config
Optional
{"columnId":"status"}Event-specific config, e.g. { "columnId": "status" } for change_specific_column_value or { "groupId": "topics" } for item_moved_to_specific_group. Sent to monday as JSON.Object

Example output

json
{ "id": "123456", "board_id": "1234567890", "event": "create_item", "config": null }

Documentation of API endpoint that powers action: monday.com API – Webhooks (create_webhook)

List Webhooks

List the webhooks registered on a board.

Inputs

Display KeyExample InputDescriptionRestrictions
Board"1234567890"The board to list webhooks from.Required; design-time picker

Example output

json
[
  { "id": "123456", "board_id": "1234567890", "event": "create_item", "config": null }
]

Documentation of API endpoint that powers action: monday.com API – Webhooks

Delete Webhook

Delete a webhook subscription — the corresponding board events stop being delivered.

Inputs

Display KeyExample InputDescriptionRestrictions
Webhook ID"123456"The webhook to delete (from Create Webhook or List Webhooks).Required

Example output

json
{ "id": "123456", "board_id": "1234567890" }

Documentation of API endpoint that powers action: monday.com API – Webhooks (delete_webhook)

Error handling

Errors come from two places: guards WeWeb raises before/around the call, and monday.com GraphQL errors passed through as-is.

ErrorRaised byReason
Board <id> not found or not accessible with this connectionWeWebThrown by the board-scoped reads (List Items, List Groups, List Columns) when the board id doesn't exist or the token can't access it. (Get Board instead returns [], following monday's list semantics.)
monday table view: board <id> not found or not accessible / monday table view: board_id is not configuredWeWebThe table data source's board is missing, deleted, or not accessible with the connection's token.
400{ "code": "MISSING_API_TOKEN" }WeWebThe connection has no API token for the current environment — raised by the editor's dropdown/core functions (board, group, column, workspace, user pickers).
Authentication error (e.g. Not Authenticated)monday.comInvalid, revoked or empty API token on an action — passed through from the GraphQL API.
Internal Server Errormonday.comOpaque error returned by Create Webhook when the target URL does not echo the challenge handshake (URL wrong, webhook disabled on the connection, or project not published).
Column value errors, e.g. This status label doesn't exist, possible statuses are: ...monday.comAn invalid simple string value on a typed column. Note the asymmetry: wrongly-shaped value objects and unknown column ids do NOT error — they are silently ignored.
Complexity / rate-limit errorsmonday.comThe account's complexity budget is exhausted, or Create Board/Duplicate Board exceeded their 40 mutations/minute cap — wait for the window to reset and retry.

FAQs

Where do I find my monday.com API token?

Click your profile avatar in monday.com and open DevelopersMy Access Tokens, or go to https://your-account.monday.com/apps/manage/tokens. Admins can also find it under AdministrationConnectionsAPI. It's a personal token — API calls act as that user.

Why does Create Webhook fail with "Internal Server Error"?

monday returns this opaque error when the Target URL fails the challenge handshake — it POSTs { "challenge": "..." } at registration and expects it echoed back. Check, in order: the URL is the connection's webhook URL (copy it from the connection settings), Monday Webhook is Enabled on the connection, and the project has been published so the route is publicly reachable.

Why don't my triggers fire?

Triggers need three things: the webhook enabled on the connection, the project published, and a webhook registered on the specific board via Create Webhook with the right event type (one webhook per board per event). Use List Webhooks on the board to verify. Also remember each environment has its own webhook URL — a webhook registered against the Editor URL doesn't fire Production triggers.

Why did my column update succeed but change nothing?

monday silently ignores unknown column ids and wrongly-shaped value objects in Column values — the write succeeds and those columns stay empty. Double-check the column ids with List Columns and the value shape for the column type (see the pitfall cheat sheet), or use Change Simple Column Value, whose invalid values fail loudly. Verify with Get Item after computed writes.

How do I paginate through board items?

List Items and Get Items By Column Value are cursor-based: the first page takes the board (and filters); every subsequent call takes only the Cursor from the previous result — it carries the board scope and filters forward. cursor: null means the last page. Cursors expire after ~60 minutes, and the page size maxes out at 500.

How do I rename an item?

Use Change Item Name. monday has no rename mutation — the action writes the item's name column (via change_simple_column_value), which is why it asks for the Board as well as the Item ID. Renames done this way fire the On item name changed trigger like a manual rename.

Why is my Main workspace missing from the workspace dropdown?

On some plans the workspaces API only returns explicitly created workspaces, not the default Main workspace. Leave the Workspace field empty to target the Main workspace (e.g. in Create Board).