Appearance
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), and use a board's items as a table data source.
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
- 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
- In monday.com, click your profile avatar and open Developers → My Access Tokens. You can also go directly to
https://your-account.monday.com/apps/manage/tokens(swapyour-accountfor your account subdomain). Admins can also find the token under Administration → Connections → API (authentication docs). - Copy the personal API token.
- In WeWeb, open the
Data & APItab, then theIntegrationssubtab. SelectMonday, then clickAdd Connection. - Paste the Personal API Token. One connection serves all environments (
Editor,Staging,Production) — use the environment selector on the connection form, or override the generatedMONDAY_API_TOKENenvironment variable, to set a different token per environment. - Test with a simple action such as List Boards — if the token is valid, you get your boards back.
NO TRIGGERS
The Monday integration only provides actions and a table data source. It has no triggers, so a change made directly in monday.com can't start a workflow in WeWeb.
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 viacontext.parametersfor a dynamic per-call group.Sort by—Name,Created atorUpdated at(empty keeps the board's own order).Sort direction—Ascending(default) orDescending; shown onceSort byis 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.
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 36 actions, all backed by the monday.com GraphQL API (POST https://api.monday.com/v2), grouped by resource.
Boards
| Action | Description |
|---|---|
| Create Board | Create a board, optionally in a workspace/folder, from a template, with owners and subscribers |
| Get Board | Get one or more boards by ID, including their columns and groups |
| List Boards | List the account's boards, page-numbered, with optional filters |
| Update Board | Update a board's name, description or communication value |
| Duplicate Board | Duplicate a board — structure only, with items, or with items and updates |
| Archive Board | Archive a board (recoverable) |
| Delete Board | Delete a board permanently |
Columns
| Action | Description |
|---|---|
| Create Column | Create a column on a board, optionally with type-specific defaults |
| List Columns | List a board's columns (id, title, type, settings) |
| Change Column Value | Set one column value of an item using the column type JSON format |
| Change Simple Column Value | Set one column value using the simple string format |
| Change Multiple Column Values | Set several column values of an item in one call |
| Change Column Title | Rename a column |
| Delete Column | Delete a column and all its values |
Groups
| Action | Description |
|---|---|
| Create Group | Create a group (row section) on a board |
| List Groups | List a board's groups |
| Update Group | Update a group's title, color or position |
| Duplicate Group | Duplicate a group with its items |
| Archive Group | Archive a group and its items (recoverable) |
| Delete Group | Delete a group and all its items permanently |
Items
| Action | Description |
|---|---|
| Create Item | Create an item (task/row) on a board, optionally with initial column values |
| Get Item | Get one or more items by ID with all their column values |
| List Items | List a board's items, cursor-paginated |
| Get Items By Column Value | Find items whose columns match given values, cursor-paginated |
| Change Item Name | Rename an item (via its name column) |
| Move Item To Group | Move an item to another group of the same board |
| Move Item To Board | Move an item to a group of another board, with optional column mapping |
| Archive Item | Archive an item (recoverable) |
| Duplicate Item | Duplicate an item, optionally with its updates |
| Delete Item | Delete an item permanently |
Subitems
| Action | Description |
|---|---|
| Create Subitem | Create a subitem under an item |
| List Subitems | List the subitems of an item |
Updates
| Action | Description |
|---|---|
| Create Update | Post an update (comment) on an item, optionally as a reply and with mentions |
| List Updates | List an item's updates, page-numbered |
| Edit Update | Edit the body of an update |
| Delete Update | Delete an update |
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 |
DescriptionOptional | "Tracks the Q4 launch tasks" | Description of the board. | String |
WorkspaceOptional | "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 IDOptional | "1234567" | Folder to place the board in (inside the selected workspace). In the Advanced subsection. | String |
Template IDOptional | "1234567890" | Board or template ID to create the board from. In Advanced. | String |
Board ownersOptional | — | Users to set as board owners, picked from your account users. In Advanced. | Design-time picker (multi) |
Board subscribersOptional | — | Users to subscribe to the board. In Advanced. | Design-time picker (multi) |
Owner team IDsOptional | ["1234567"] | Team IDs to set as board owners. In Advanced. | Array of strings |
Subscriber team IDsOptional | ["1234567"] | Team IDs to subscribe to the board. In Advanced. | Array of strings |
Create emptyOptional | true | Create 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Board IDs | ["1234567890"] | IDs of the boards to fetch. | Required; array of strings |
StateOptional | "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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
WorkspacesOptional | — | 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 kindOptional | "public" | Filter by board visibility. | Valid: public, private, share |
StateOptional | "active" | Filter boards by state. Defaults to active. | Valid: active, archived, deleted, all |
Order byOptional | "used_at" | Order boards by created_at or used_at (most recently used first). | Valid: created_at, used_at |
LimitOptional | 25 | Number of boards per page. | Number, default 25 |
PageOptional | 1 | Page 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 nameOptional | "Project tracker (copy)" | Name for the duplicated board. Defaults to Duplicate of .... | String |
WorkspaceOptional | "9876543" | Workspace to place the duplicate in. Leave empty to keep the original workspace. | Design-time picker |
Folder IDOptional | "1234567" | Folder to place the duplicated board in. | String |
Keep subscribersOptional | false | Copy 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 |
DescriptionOptional | "Current task priority" | Description of the column. | String |
Column IDOptional | "priority_level" | User-defined column id. In the Advanced subsection. | 1–20 chars, a-z and _ only, unique on the board |
DefaultsOptional | {"labels":{"1":"To do","2":"Done"}} | Type-specific default settings, e.g. status labels. Sent to monday as JSON. In Advanced. | Object |
After columnOptional | "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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Board | "1234567890" | The board to list columns from. | Required; design-time picker |
Column IDsOptional | ["status", "date4"] | Restrict the list to these column ids. | Array of strings |
Column typesOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Board | "1234567890" | The board the item belongs to. | Required; design-time picker |
Item ID | "9876543210" | ID of the item, from a create action result or a list action. | 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 missingOptional | false | Create 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 missingOptional | false | Create 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 missingOptional | false | Create 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 colorOptional | "#037f4c" | Hex color from monday's supported palette. Unsupported colors are rejected. | String |
Relative to groupOptional | "topics" | Position the new group relative to this group. | Shown once a Board is selected |
Position methodOptional | "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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Board | "1234567890" | The board to list groups from. | Required; design-time picker |
Group IDsOptional | ["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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 titleOptional | "Backlog (copy)" | Title for the duplicated group. Defaults to Duplicate of .... | String |
Add to topOptional | false | Place 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 |
GroupOptional | "topics" | The group to create the item in. Defaults to the first group of the board. | Shown once a Board is selected |
Column valuesOptional | {"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 missingOptional | false | Create missing status/dropdown labels on the fly instead of failing. Requires board owner permissions. | Boolean, default false |
Position methodOptional | "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 itemOptional | "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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Board | "1234567890" | The board to list items from. Ignored when a Cursor is set. | Required (first page); design-time picker |
LimitOptional | 25 | Maximum number of results per page. | Number, default 25, max 500 |
CursorOptional | "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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Board | "1234567890" | The board to search items on. | Required; design-time picker |
Column filtersOptional | [{"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 unless a Cursor is set; ignored when a Cursor is set |
LimitOptional | 25 | Maximum number of results per page. | Number, default 25, max 500 |
CursorOptional | "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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 mappingOptional | [{"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 mappingOptional | [{"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. The returned state can lag right after the call.
Inputs
| Display Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Board | "1234567890" | The board the item belongs to. | Required; design-time picker |
Item ID | "9876543210" | The item to duplicate. | Required |
Include updatesOptional | false | Also 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.
Inputs
| Display Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Parent item ID | "9876543210" | The item to create the subitem under. | Required |
Subitem name | "Write the copy" | Name of the new subitem. | Required |
Column valuesOptional | {"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 missingOptional | false | Create 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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.
Inputs
| Display Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 IDOptional | "1122334455" | Post this update as a reply to another update. | String |
MentionsOptional | [{"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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
Item ID | "9876543210" | The item to list updates from. | Required |
LimitOptional | 25 | Number of updates per page. | Number, default 25 |
PageOptional | 1 | Page 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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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 Key | Example Input | Description | Restrictions |
|---|---|---|---|
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)
Error handling
Errors come from two places: guards WeWeb raises before/around the call, and monday.com GraphQL errors passed through as-is.
| Error | Raised by | Reason |
|---|---|---|
Board <id> not found or not accessible with this connection | WeWeb | Thrown 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 configured | WeWeb | The table data source's board is missing, deleted, or not accessible with the connection's token. |
400 — { "code": "MISSING_API_TOKEN" } | WeWeb | The 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.com | Invalid, revoked or empty API token on an action — passed through from the GraphQL API. |
Column value errors, e.g. This status label doesn't exist, possible statuses are: ... | monday.com | An 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 errors | monday.com | The 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 Developers → My Access Tokens, or go to https://your-account.monday.com/apps/manage/tokens. Admins can also find it under Administration → Connections → API. It's a personal token — API calls act as that user.
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.
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).

