# Monday on boxd

> monday.com is a customizable work management platform for project planning, collaboration, and automation, supporting agile, sales, marketing, and more.

- Page: https://boxd.sh/integrations/monday/
- CLI: `run monday` (125 commands, 22 marked common)
- SDK: `import { monday } from "@boxd/run"`; every parameter and response type is at `@boxd/run/monday`
- Triggers: none
- Connect: `run auth monday` (Sign in with Monday), or https://app.boxd.sh/integrations/detail/monday
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth monday      # once: prints a link to connect your account
run monday           # list its commands
run monday list-users
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, monday } from "@boxd/run";

every("1 hour", async () => {
  const result = await monday.listUsers({});
  console.log(result);
});
```

Run it with `run monday.run.ts`. Monday has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run monday <command> --help` lists the optional ones. "common" marks what `run monday` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `account-trigger-statistics` | `monday.accountTriggerStatistics()` | — | 0 | Retrieve statistics about account-level triggers and automations |
| `activate-users` | `monday.activateUsers()` | `--user-ids` | 0 | Activate or reactivate users in a Monday.com account |
| `add-subscribers-to-board` | `monday.addSubscribersToBoard()` | `--board-id` `--user-ids` | 1 | Add users as subscribers to a Monday.com board |
| `add-subscribers-to-object` | `monday.addSubscribersToObject()` | `--id` `--user-ids` | 1 | Add subscribers or owners to a monday.com object |
| `add-teams-to-board` | `monday.addTeamsToBoard()` | `--board-id` `--team-ids` | 1 | Add teams to a Monday.com board with specified permission levels |
| `add-users-to-board` ·common | `monday.addUsersToBoard()` | `--board-id` `--user-ids` | 1 | Adds users to a Monday.com board with a specified role |
| `add-users-to-team` | `monday.addUsersToTeam()` | `--team-id` `--user-ids` | 0 | Add users to a Monday.com team |
| `add-users-to-workspace` | `monday.addUsersToWorkspace()` | `--user-ids` `--workspace-id` | 1 | Add one or more users to a workspace |
| `aggregate-data` | `monday.aggregateData()` | `--query` | 0 | Aggregate data across Monday.com boards using groupings and aggregation functions like COUNT, SUM, MEAN, MIN, MAX |
| `app-subscription` | `monday.appSubscription()` | — | 0 | Retrieve current app subscription data for the account |
| `archive-board` | `monday.archiveBoard()` | `--board-id` | 0 | Archives a specified, existing, and unarchived board in Monday.com; archived boards can typically be restored later |
| `archive-item` | `monday.archiveItem()` | `--item-id` | 0 | Archives an existing Monday.com item, moving it from active board views to the archive where it can be potentially restored |
| `archive-object` | `monday.archiveObject()` | `--id` | 0 | Archives a Monday.com object by changing its state to archived rather than permanently deleting it |
| `archive-workspace` | `monday.archiveWorkspace()` | `--workspace-id` | 0 | Archive a Monday.com workspace |
| `audit-logs` | `monday.auditLogs()` | — | 7 | Retrieve detailed security-related activity records for a Monday.com account |
| `blocks` | `monday.blocks()` | `--doc-ids` | 2 | Retrieve document block data from workdocs via the API |
| `boards` ·common | `monday.boards()` | — | 8 | Retrieve board data via the Monday.com API |
| `change-simple-column-value` ·common | `monday.changeSimpleColumnValue()` | `--board-id` `--column-id` `--item-id` `--value` | 1 | Changes a specific column's value for a Monday.com item using a simple string, suitable for Text, Status, or Dropdown columns; can create new labels if `create_labels_if_missing` is true for… |
| `columns` ·common | `monday.columns()` | `--board-ids` | 2 | Retrieve column metadata from boards via the GraphQL API |
| `connect-project-to-portfolio` ·common | `monday.connectProjectToPortfolio()` | `--portfolio-board-id` `--project-board-id` | 0 | Links an existing project board to a portfolio board for centralized management |
| `connection-board-ids` | `monday.connectionBoardIds()` | — | 2 | Retrieve board IDs associated with connection columns |
| `connections` | `monday.connections()` | — | 8 | Retrieve connection data for integrations with external services |
| `convert-board-to-project` ·common | `monday.convertBoardToProject()` | `--board-id` `--column-mappings` | 0 | Converts a regular Monday.com board into a project board with advanced project management features |
| `create-board` ·common | `monday.createBoard()` | `--board-kind` `--board-name` | 7 | Creates a Monday.com board; `template_id` if used must be accessible, and `folder_id` must be in `workspace_id` if both are provided |
| `create-column` ·common | `monday.createColumn()` | `--board-id` `--column-type` `--title` | 3 | Creates a new column with a specified type and title on a monday.com board |
| `create-custom-activity` | `monday.createCustomActivity()` | `--color` `--icon-id` `--name` | 0 | Create a custom activity in the Monday.com Emails & Activities app |
| `create-dashboard` | `monday.createDashboard()` | `--board-ids` `--name` `--workspace-id` | 2 | Create a Monday.com dashboard with associated boards |
| `create-doc` | `monday.createDoc()` | — | 5 | Create a new doc in Monday.com |
| `create-folder` | `monday.createFolder()` | `--name` `--workspace-id` | 2 | Create a new folder in a Monday.com workspace to organize boards |
| `create-group` | `monday.createGroup()` | `--board-id` `--group-name` | 0 | Creates a new group with the given `group_name` on an existing Monday.com board, identified by its `board_id` |
| `create-item` ·common | `monday.createItem()` | `--board-id` `--item-name` | 2 | Creates a new item on a Monday.com board, optionally assigning it to a group and setting column values |
| `create-item-from-nl` ·common | `monday.createItemFromNl()` | `--board-id` `--nl-query` | 1 | Creates a new item on a Monday.com board from a natural language description |
| `create-notification` | `monday.createNotification()` | `--target-id` `--target-type` `--text` `--user-id` | 0 | Send a notification to a user |
| `create-object` | `monday.createObject()` | `--query` | 1 | Create any Monday.com object via GraphQL mutation |
| `create-tag` | `monday.createTag()` | `--tag-name` | 1 | Create a new tag or return an existing tag |
| `create-timeline-item` | `monday.createTimelineItem()` | `--custom-activity-id` `--item-id` `--timestamp` `--title` | 6 | Create a new timeline item in the Emails & Activities app on a Monday.com item |
| `create-update` | `monday.createUpdate()` | `--body` | 5 | Create a new update for an item or reply to an existing update |
| `create-user` | `monday.createUser()` | `--emails` | 2 | Invite and create a new user |
| `create-workspace` | `monday.createWorkspace()` | `--kind` `--name` | 2 | Create a Monday.com workspace |
| `custom-activity` | `monday.customActivity()` | — | 0 | Retrieve custom activity data from the Emails & Activities app |
| `deactivate-users` | `monday.deactivateUsers()` | `--user-ids` | 0 | Deactivate users from a monday.com account |
| `delete-asset` | `monday.deleteAsset()` | `--asset-id` | 5 | Remove uploaded files |
| `delete-board` | `monday.deleteBoard()` | `--board-id` | 0 | Permanently delete a board from your Monday.com account |
| `delete-column` | `monday.deleteColumn()` | `--board-id` `--column-id` | 0 | Deletes a specified column from a Monday.com board; this action is destructive and cannot be undone via the API |
| `delete-custom-activity` | `monday.deleteCustomActivity()` | `--id` | 0 | Delete a custom activity from the Emails & Activities app |
| `delete-doc` | `monday.deleteDoc()` | `--doc-id` | 0 | Delete a Monday.com doc by its ID |
| `delete-folder` | `monday.deleteFolder()` | `--folder-id` | 0 | Permanently delete a folder and all its contents from a Monday.com workspace |
| `delete-group` | `monday.deleteGroup()` | `--board-id` `--group-id` | 0 | Permanently deletes an existing group (and its items) from an existing board in Monday.com |
| `delete-item` | `monday.deleteItem()` | `--item-id` | 0 | Permanently deletes an existing Monday.com item; this action is irreversible via the API |
| `delete-object` | `monday.deleteObject()` | `--id` | 0 | Permanently delete a Monday.com object with a 30-day recovery grace period |
| `delete-subscribers-from-board` | `monday.deleteSubscribersFromBoard()` | `--board-id` `--user-ids` | 0 | Remove subscribers from a Monday.com board |
| `delete-tag` | `monday.deleteTag()` | `--tag-id` | 2 | Remove a tag from an item in Monday.com |
| `delete-team` | `monday.deleteTeam()` | `--team-id` | 0 | Delete an existing team; use when you need to permanently remove a team by its ID after confirming it’s no longer needed |
| `delete-teams-from-board` | `monday.deleteTeamsFromBoard()` | `--board-id` `--team-ids` | 0 | Remove teams from a board; use when you need to revoke team access to a specific board |
| `delete-teams-from-workspace` | `monday.deleteTeamsFromWorkspace()` | `--team-ids` `--workspace-id` | 0 | Remove teams from a workspace |
| `delete-timeline-item` | `monday.deleteTimelineItem()` | `--id` | 0 | Delete a timeline item from the Emails & Activities app |
| `delete-update` | `monday.deleteUpdate()` | `--update-id` | 0 | Delete an update by its ID |
| `delete-workspace` | `monday.deleteWorkspace()` | `--workspace-id` | 0 | Permanently delete a workspace by its ID |
| `docs` ·common | `monday.docs()` | — | 6 | Retrieve Monday.com document data via the API |
| `duplicate-board` | `monday.duplicateBoard()` | `--board-id` `--duplicate-type` | 4 | Duplicate a Monday.com board with its structure and optionally items and updates |
| `duplicate-item` | `monday.duplicateItem()` | `--board-id` `--item-id` | 1 | Duplicates an item on a Monday.com board, optionally including its updates |
| `edit-update` | `monday.editUpdate()` | `--body` `--id` | 0 | Modify the text content of an existing update on an item |
| `get-account-info` | `monday.getAccountInfo()` | — | 0 | Retrieve account metadata and settings for the authenticated Monday.com account |
| `get-activity-logs` | `monday.getActivityLogs()` | `--board-id` | 8 | Retrieve activity logs from a specific Monday.com board |
| `get-api-version` | `monday.getApiVersion()` | — | 0 | Retrieve the Monday.com API version in use |
| `get-assets` | `monday.getAssets()` | `--ids` | 0 | Retrieve file/asset metadata from monday.com by asset IDs |
| `get-board-views` | `monday.getBoardViews()` | `--board-ids` | 1 | Retrieve board view data via GraphQL API |
| `get-favorites` | `monday.getFavorites()` | — | 0 | Retrieve all favorited items for the authenticated user |
| `get-folders` | `monday.getFolders()` | — | 4 | Retrieve folder data from workspaces with filtering and pagination options |
| `get-form` | `monday.getForm()` | `--form-token` | 0 | Retrieve form metadata via the API using the form's unique token from the URL |
| `get-items` ·common | `monday.getItems()` | `--ids` | 4 | Retrieve specific items by their IDs from Monday.com, returning metadata including name, timestamps, state, board, and group information |
| `get-me` | `monday.getMe()` | — | 1 | Fetch the current authenticated user's profile and permissions |
| `get-mutation-complexity` | `monday.getMutationComplexity()` | `--query` | 0 | Get complexity data of mutations in Monday.com |
| `get-query-complexity` | `monday.getQueryComplexity()` | — | 0 | Retrieve complexity data and cost metrics for Monday.com API operations |
| `get-tags` | `monday.getTags()` | — | 1 | Retrieve tags from the account |
| `get-teams` | `monday.getTeams()` | — | 1 | Retrieve teams from Monday.com |
| `get-update-replies` | `monday.getUpdateReplies()` | `--item-id` | 2 | Retrieves updates and their replies for a specific Monday.com item |
| `get-updates` | `monday.getUpdates()` | `--item-id` | 2 | Retrieve updates for a specific item |
| `get-versions` | `monday.getVersions()` | — | 0 | Retrieve data about available API versions |
| `get-view-schema-by-type` | `monday.getViewSchemaByType()` | `--mutation-type` `--type` | 0 | Retrieve type-specific board view configuration schemas via GraphQL API |
| `get-webhooks` | `monday.getWebhooks()` | `--board-id` | 1 | Retrieve webhooks for a board |
| `get-workspaces` | `monday.getWorkspaces()` | — | 6 | Retrieve workspaces |
| `import-doc-from-html` | `monday.importDocFromHtml()` | `--html` `--workspace-id` | 3 | Import HTML content into a new Monday.com doc, converting it to doc blocks |
| `items-page` ·common | `monday.itemsPage()` | — | 6 | Retrieve items from a Monday.com board (or group) with server-side filtering, full column_values, and cursor-based pagination via items_page and next_items_page queries |
| `like-update` | `monday.likeUpdate()` | `--update-id` | 0 | Like an update on an item |
| `list-board-items` ·common ·deprecated | `monday.listBoardItems()` | `--board-id` | 0 | Use items-page instead, which supports cursor-based pagination |
| `list-boards` ·common ·deprecated | `monday.listBoards()` | — | 3 | Use boards instead |
| `list-columns` ·deprecated | `monday.listColumns()` | `--board-id` | 0 | Use columns instead |
| `list-groups` | `monday.listGroups()` | `--board-id` | 1 | Retrieve all groups of a specified board |
| `list-items` | `monday.listItems()` | `--item-ids` | 0 | Retrieves specified subitems from Monday.com using their IDs, returning raw JSON |
| `list-items-by-column-values` ·common | `monday.listItemsByColumnValues()` | `--board-id` | 3 | Search for items on a Monday.com board based on column values using the items_page_by_column_values query |
| `list-subitems-by-parent` | `monday.listSubitemsByParent()` | `--parent-item-ids` | 2 | Retrieve subitems nested under parent items via GraphQL API |
| `list-team-members` | `monday.listTeamMembers()` | — | 2 | List members of a specified team |
| `list-users` ·common | `monday.listUsers()` | — | 2 | Retrieves a list of users from Monday.com |
| `move-item-to-board` | `monday.moveItemToBoard()` | `--board-id` `--group-id` `--item-id` | 0 | Moves a Monday.com item to a specified board and group; requires the item, target board, and target group to exist |
| `move-item-to-group` ·common | `monday.moveItemToGroup()` | `--group-id` `--item-id` | 0 | Moves an item to a different group on the same Monday.com board; the item and group must exist |
| `mute-board-settings` | `monday.muteBoardSettings()` | `--board-ids` | 0 | Query a board's notification mute settings |
| `pin-to-top` | `monday.pinToTop()` | `--update-id` | 1 | Pin an update to the top of an item |
| `publish-object` | `monday.publishObject()` | `--id` | 0 | Publish a Monday.com object |
| `query-dashboards` | `monday.queryDashboards()` | — | 1 | Query dashboards via Monday.com objects API |
| `query-sprints` ·common | `monday.querySprints()` | `--board-ids` | 1 | Query sprint data for agile project management from Monday.com boards |
| `remove-users-from-team` | `monday.removeUsersFromTeam()` | `--team-id` `--user-ids` | 0 | Remove users from a Monday.com team |
| `remove-users-from-workspace` | `monday.removeUsersFromWorkspace()` | `--user-ids` `--workspace-id` | 0 | Remove users from a workspace |
| `set-board-permission` ·common | `monday.setBoardPermission()` | `--basic-role-name` `--board-id` | 0 | Sets or updates a board's default role and permissions |
| `timeline` | `monday.timeline()` | `--id` | 0 | Retrieve an item's Email & Activities (E&A) timeline data from Monday.com |
| `timeline-item` | `monday.timelineItem()` | `--id` | 0 | Retrieve a specific timeline item from the Emails & Activities app by ID |
| `unlike-update` | `monday.unlikeUpdate()` | `--update-id` | 0 | Remove a like from an update on an item |
| `unpin-from-top` | `monday.unpinFromTop()` | `--update-id` | 1 | Unpin an update from the top of an item |
| `unpublish-object` | `monday.unpublishObject()` | `--id` | 0 | Unpublish a Monday.com object (board, item, or workspace) to revert it from a published state |
| `update-board` ·common | `monday.updateBoard()` | `--board-attribute` `--board-id` `--new-value` | 0 | Updates a specified attribute of an existing board on Monday.com |
| `update-board-hierarchy` | `monday.updateBoardHierarchy()` | `--attributes` `--board-id` | 0 | Updates a board's position, workspace, or product in Monday.com |
| `update-column` | `monday.updateColumn()` | `--board-id` `--column-id` `--column-property` `--value` | 0 | Update column title or description |
| `update-doc` | `monday.updateDoc()` | `--doc-id` | 3 | Update a doc's title or append markdown content |
| `update-email-domain` | `monday.updateEmailDomain()` | `--new-domain` `--user-ids` | 0 | Update users' email domains |
| `update-folder` ·common | `monday.updateFolder()` | `--folder-id` | 4 | Update a Monday.com folder's properties including name, color, or parent folder |
| `update-group` | `monday.updateGroup()` | `--board-id` `--group-attribute` `--group-id` `--new-value` | 0 | Update an existing group on a board |
| `update-item` | `monday.updateItem()` | `--board-id` `--column-id` `--item-id` `--value` | 1 | Update an existing item's column value on Monday.com |
| `update-multiple-users` | `monday.updateMultipleUsers()` | `--user-updates` | 0 | Update one or multiple users' attributes on Monday.com |
| `update-mute-board-settings` | `monday.updateMuteBoardSettings()` | `--board-id` `--mute-state` | 1 | Update a board's notification mute settings |
| `update-tag` | `monday.updateTag()` | `--tag-id` | 2 | Return a tag's details or best-effort "rename" by creating or getting a tag with the requested name |
| `update-team` | `monday.updateTeam()` | `--team-id` | 4 | Update a team's details in Monday.com |
| `update-users-role` | `monday.updateUsersRole()` | `--user-ids` | 2 | Update users' roles to custom or default roles |
| `update-workspace` | `monday.updateWorkspace()` | `--workspace-id` | 4 | Update a Monday.com workspace |
| `upload-asset` | `monday.uploadAsset()` | `--file` `--target` | 3 | Upload a file to an update or file column |
| `user-connections` | `monday.userConnections()` | — | 5 | Query user-specific connection data from Monday.com |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
