← Back to all apps

monday.com

Productivityby monday.com

The monday MCP server exposes core monday.com capabilities to agents. It enables actions like searching boards, creating and updating items and columns, assigning owners, setting timelines, and posting updates - supporting a wide range of work management use cases across teams and departments.

60ChatGPT Tools
20Claude Tools
monday.comDeveloper
ProductivityCategory

Use Cases

sales-and-marketingproductivity

Available Tools

All Monday Api

all_monday_api
Full Description

Execute any monday.com API operation by generating GraphQL queries and mutations dynamically. Make sure you ask only for the fields you need and nothing more. When providing the query/mutation - use get_graphql_schema and get_type_details tools first to understand the schema before crafting your query.

Parameters (2 required)
Required
querystring

Custom GraphQL query/mutation. you need to provide the full query / mutation

variablesstring

JSON string containing the variables for the GraphQL operation

All Widgets Schema

all_widgets_schema
Full Description

Fetch complete JSON Schema 7 definitions for all available widget types in monday.com.

This tool is essential before creating widgets as it provides:

  • Complete schema definitions for all supported widgets
  • Required and optional fields for each widget type
  • Data type specifications and validation rules
  • Detailed descriptions of widget capabilities

Use this tool when you need to:

  • Understand widget configuration requirements before creating widgets
  • Validate widget settings against official schemas
  • Plan widget implementations with proper data structures

The response includes JSON Schema 7 definitions that describe exactly what settings each widget type accepts.

Board Insights

board_insights
Full Description

This tool allows you to calculate insights about board's data by filtering, grouping and aggregating columns. For example, you can get the total number of items in a board, the number of items in each status, the number of items in each column, etc. Use this tool when you need to get a summary of the board's data, for example, you want to know the total number of items in a board, the number of items in each status, the number of items in each column, etc.[REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board's structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper filters and knowing which columns are available.[IMPORTANT]: For some columns, human-friendly label is returned inside 'LABEL_<column_id' field. E.g. for column with id 'status_123' the label is returned inside 'LABEL_status_123' field.

Parameters (1 required, 9 optional)
Required
boardIdnumber

The id of the board to get insights for

Optional
aggregationsarray

The aggregations to get. Before sending the aggregations, read guidelines.aggregation from get_column_type_info with fetchMode "guidelines" for a relevant column type on this board. Transformative functions and plain columns (no function) must be in group by.

aggregationsStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The aggregations to get. Send this as a stringified JSON array of "aggregations" field. Read "aggregations" field description for details how to use it.

filtersarray

The configuration of filters to apply on the items. Use get_board_info for column ids and types on the board. Before sending the filters, use get_column_type_info with fetchMode "guidelines" and use data.guidelines.filter (null if that type has no documented rules).

filtersOperatorstring

The operator to use for the filters

Options:andor
Default: and
filtersStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The filters to apply on the items. Send this as a stringified JSON array of "filters" field. Read "filters" field description for details how to use it.

groupByarray

The columns to group by. All columns in the group by must be in the aggregations as well without a function.

limitnumber

The limit of the results

Default: 1000
orderByarray

The columns to order by, will control the order of the items in the response

orderByStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The order by to apply on the items. Send this as a stringified JSON array of "orderBy" field. Read "orderBy" field description for details how to use it.

Change Item Column Values

change_item_column_values
Full Description

Change the column values of an item in a monday.com board. [REQUIRED PRECONDITION]: For board-relation linking tasks, call link_board_items_workflow before using this tool.

Parameters (3 required, 1 optional)
Required
boardIdnumber

The ID of the board that contains the item to be updated

columnValuesstring

A string containing the new column values for the item following this structure: {\"column_id\": \"value\",... you can change multiple columns at once, note that for status column you must use nested value with 'label' as a key and for date column use 'date' as key} - example: "{\"text_column_id\":\"New text\", \"status_column_id\":{\"label\":\"Done\"}, \"date_column_id\":{\"date\":\"2023-05-25\"}, \"phone_id\":\"123-456-7890\", \"email_id\":\"test@example.com\"}"

itemIdnumber

The ID of the item to be updated

Optional
createLabelsIfMissingboolean

If true, create missing Status/Dropdown labels when setting those columns. Requires permission to change board structure. Omit or false to only use existing labels.

Create Agent

create_agent
Full Description

Create a personal/custom agent on the monday.com platform. See get_agent for what a monday platform agent is.

Terminology note: users might ask for "agent" in natural language (for example: "create me an agent"), but in this API context this refers to monday personal/custom agents.

Two modes:

  • Prompt mode (recommended): pass prompt (and optional agent_model) and the platform generates profile + goal + plan via AI.
  • Manual mode: omit prompt and pass any of name/role/role_description/user_prompt to create a blank agent profile quickly.

Do not mix prompt with manual profile fields in one request.

Created agents start in state INACTIVE and must be activated before they can be triggered. Instruct the user to activate from the monday.com agent settings UI.

created_at and updated_at are null in the response — call get_agent with the returned id afterward to fetch them.

USAGE EXAMPLES:

  • AI-generated: { "prompt": "Run my daily standup — collect status updates, summarize blockers, and post recap every weekday at 9am." }
  • Blank/manual: { "name": "Standup Bot", "role": "Project Manager", "gender": "female" }
  • Blank/defaults: {}
Parameters (0 required, 9 optional)
Optional
agent_modelstring

STRONGLY DISCOURAGED — omit this field. Only set when the user explicitly names a monday-supported model. Do not invent or guess model identifiers (e.g. gpt-4o, claude-3-opus). Invalid values are rejected by the platform. When omitted the platform default is used, which is the right choice in almost every case.

avatar_urlstring

HTTPS URL of the avatar image. Prefer dapulse-res.cloudinary.com or cdn.monday.com for full renderer compatibility.

background_colorstring

Background color string, usually lowercase hex like "#9450fd".

genderstring

Hint for generated avatar/name when profile fields are omitted.

Options:malefemale
namestring

Display name of the agent.

promptstring

Plain-language description of what the monday platform agent should do. When provided, the platform uses this prompt to generate the agent profile (name, role, avatar), goal, and execution plan via AI. Be specific about the domain and the tasks the agent should automate.

rolestring

Role of the agent.

role_descriptionstring

Description of the role.

user_promptstring

Stored as metadata only. Not used for AI generation.

Create Automation

create_automation
Full Description

Creates an automation on a monday board from a natural-language description (e.g. "notify me when status changes to Done").

Use when the user has clearly described what to automate — both the trigger (what kicks it off) and the action (what should happen), and you know which board to create it on. If basic details are missing (including boardId), ask the user first instead of calling with a vague prompt.

If the prompt is still ambiguous, the tool returns status: "needs_clarification" with the unresolved fields — present them to the user, gather answers, then call again.

Terminology:

  • Trigger: When the automation should run (e.g. "when a new item is created").
  • Conditions: additional conditions that must be met for the automation to run.
  • Actions: what the automation should do when it runs (can have multiple actions).
Parameters (2 required)
Required
boardIdstring

The numeric board ID as a string.

userPromptstring

Natural-language description of the automation to create. Describe the trigger, conditions, and what should happen in plain English.

Create Board

create_board
Full Description

Create a monday.com board

Parameters (1 required, 4 optional)
Required
boardNamestring

The name of the board to create

Optional
boardDescriptionstring

The description of the board to create

boardKindstring

The kind of board to create

Options:privatepublicshare
Default: public
boardOwnerIdsarray

Optional list of user IDs to set as board owners

workspaceIdstring

The ID of the workspace to create the board in

Create Column

create_column
Full Description

Create a new column in a monday.com board

Parameters (3 required, 2 optional)
Required
boardIdnumber

The id of the board to which the new column will be added

columnTitlestring

The title of the column to be created

columnTypestring

The type of the column to be created

Options:auto_numberboard_relationbuttoncheckboxcolor_pickercountrycreation_logdatedependencydirect_docdocdropdownemailfileformulagrouphourintegrationitem_assigneesitem_idlast_updatedlinklocationlong_textmirrornamenumberspeoplephoneprogressratingstatussubtaskstagsteamtexttime_trackingtimelineunsupportedvoteweekworld_clock
Optional
columnDescriptionstring

The description of the column to be created

columnSettingsstring

Column-specific configuration settings as a JSON string. Use get_column_type_info with fetchMode "schema" for the JSON schema for the given column type.

Create Dashboard

create_dashboard
Full Description

Use this tool to create a new monday.com dashboard that aggregates data from one or more boards. Dashboards provide visual representations of board data through widgets and charts.

Use this tool when users want to:

  • Create a dashboard to visualize board data
  • Aggregate information from multiple boards
  • Set up a data visualization container for widgets
Parameters (3 required, 2 optional)
Required
board_idsarray

List of board IDs as strings (min 1 element)

namestring

Human-readable dashboard title (UTF-8 chars)

workspace_idstring

ID of the workspace that will own the dashboard

Optional
board_folder_idstring

Optional folder ID within workspace to place this dashboard (if not provided, dashboard will be placed in workspace root)

kindstring

Visibility level: PUBLIC or PRIVATE

Options:PRIVATEPUBLIC
Default: PUBLIC

Create Doc

create_doc
Full Description

Create a new monday.com doc either inside a workspace or attached to an item (via a doc column). After creation, the provided markdown will be appended to the document.

LOCATION TYPES:

  • workspace: Creates a document in a workspace (requires workspace_id, optional doc_kind, optional folder_id, optional docOwnerIds)
  • item: Creates a document attached to an item (requires item_id, optional column_id, optional docOwnerIds)

USAGE EXAMPLES:

  • Workspace doc: { location: "workspace", workspace_id: 123, doc_name: "My Doc", doc_kind: "private" , markdown: "..." }
  • Workspace doc in folder: { location: "workspace", workspace_id: 123, doc_name: "My Doc", folder_id: 17264196 , markdown: "..." }
  • Item doc: { location: "item", item_id: 456, doc_name: "My Doc", column_id: "doc_col_1" , markdown: "..." }
  • Workspace doc with agent owner: { location: "workspace", workspace_id: 123, doc_name: "My Doc", markdown: "...", docOwnerIds: ["<agent_owner_user_id>"] }
Parameters (3 required, 6 optional)
Required
doc_namestring

Name for the new document.

locationstring

Location where the document should be created - either in a workspace or attached to an item

Options:workspaceitem
markdownstring

Markdown content that will be imported into the newly created document as blocks.

Optional
column_idstring

[OPTIONAL - use only when location="item"] ID of an existing "doc" column on the board which contains the item. If not provided, the tool will create a new doc column automatically when creating a doc on an item.

doc_kindstring

[OPTIONAL - use only when location="workspace"] Document kind (public/private/share). Defaults to public.

Options:privatepublicshare
docOwnerIdsarray

Optional list of user IDs to set as document owners at creation time. Use this to add the agent owner so they retain access to the document. Ownership is set inside the creation mutation itself, bypassing the permission checks that would block a subsequent add_subscribers_to_object call.

folder_idnumber

[OPTIONAL - use only when location="workspace"] Optional folder ID to place the document inside a specific folder

item_idnumber

[REQUIRED - use only when location="item"] Item ID to attach the new document to

workspace_idnumber

[REQUIRED - use only when location="workspace"] Workspace ID under which to create the new document

Create Folder

create_folder
Full Description

Create a new folder in a monday.com workspace

Parameters (2 required, 4 optional)
Required
namestring

The name of the folder to be created

workspaceIdstring

The ID of the workspace where the folder will be created

Optional
colorstring

The color of the folder

Options:AQUAMARINEBRIGHT_BLUEBRIGHT_GREENCHILI_BLUEDARK_ORANGEDARK_PURPLEDARK_REDDONE_GREENINDIGOLIPSTICKNULLPURPLESOFIA_PINKSTUCK_REDSUNSETWORKING_ORANGE
customIconstring

The custom icon of the folder

Options:FOLDERMOREBELOWMOREBELOWFILLEDNULLWORK
fontWeightstring

The font weight of the folder

Options:FONT_WEIGHT_BOLDFONT_WEIGHT_LIGHTFONT_WEIGHT_NORMALFONT_WEIGHT_VERY_LIGHTNULL
parentFolderIdstring

The ID of the parent folder

Create Form

create_form
Full Description

Create a monday.com form. Also creates a backing board to store responses. Returns the formToken for future mutations.

Parameters (1 required, 8 optional)
Required
destination_workspace_idstring

The workspace in which the form will be created in.

Optional
board_kindstring

The board kind to create for the board in which the form will create items in.

Options:privatepublicshare
board_owner_idsarray

Array of user IDs who will have owner permissions on the board in which the form will create items in.

board_owner_team_idsarray

Array of team IDs whose members will have owner permissions on the board in which the form will create items in.

board_subscriber_idsarray

User IDs to notify on board activity.

board_subscriber_teams_idsarray

Team IDs to notify on board activity.

destination_folder_idstring

The folder in which the form will be created under.

destination_folder_namestring

The name of the folder in which the form will be created in.

destination_namestring

Board name (stores form responses).

Create Form Submission

create_form_submission
Full Description

Submit a response to a monday.com WorkForm. Use get_form first to retrieve the WorkForm, then:

  • Inspect each question's showIfRules to determine which questions are conditionally shown based on previous answers.
  • Inspect each question's settings for any answer constraints (e.g. rating limits, select options, label limits).
  • Take note of any titles, descriptions, and content blocks to present the form naturally as you walk the user through it.
  • Take note of pages and question order to present questions in the correct sequence.

Gather all answers upfront before calling this tool — do not submit one question at a time. Accepts a bare form token, a full WorkForm URL (e.g. https://forms.monday.com/forms/{form_token}?r=use1), or a shortened wkf.ms URL (e.g. https://wkf.ms/4tqP28t) — shortened URLs are automatically resolved by following the redirect. Returns the submission ID.

Parameters (3 required, 2 optional)
Required
answersarray

Array of answers to submit. Each answer specifies a question_id and the value for that question type.

form_timezone_offsetinteger

The timezone offset of the submitter in minutes (e.g. -120 for UTC-2, 0 for UTC).

form_tokenstring

The unique token identifying the WorkForm. Can be a bare token, a full WorkForm URL (e.g. https://forms.monday.com/forms/abc123?r=use1), or a shortened wkf.ms URL (e.g. https://wkf.ms/4tqP28t). Shortened URLs are automatically resolved by following the redirect.

Optional
passwordstring

The password for the WorkForm. Only required if the WorkForm has password protection enabled (check features.password.enabled from get_form). If required, ask the user for the password before submitting.

tagsarray

Tags to attach to the submission — each tag maps a value to a specific board column.

Create Group

create_group
Full Description

Create a new group in a monday.com board. Groups are sections that organize related items. Use when users want to add structure, categorize items, or create workflow phases. Groups can be positioned relative to existing groups and assigned predefined colors. Items will always be created in the top group and so the top group should be the most relevant one for new item creation

Parameters (2 required, 3 optional)
Required
boardIdstring

The ID of the board to create the group in

groupNamestring

The name of the new group (maximum 255 characters)

Optional
groupColorstring

The color for the group. Must be one of the predefined Monday.com group colors: #037f4c, #00c875, #9cd326, #cab641, #ffcb00, #784bd1, #9d50dd, #007eb5, #579bfc, #66ccff, #bb3354, #df2f4a, #ff007f, #ff5ac4, #ff642e, #fdab3d, #7f5347, #c4c4c4, #757575

Options:#037f4c#00c875#9cd326#cab641#ffcb00#784bd1#9d50dd#007eb5#579bfc#66ccff#bb3354#df2f4a#ff007f#ff5ac4#ff642e#fdab3d#7f5347#c4c4c4#757575
positionRelativeMethodstring

Whether to position the new group before or after the relativeTo group

Options:after_atbefore_at
relativeTostring

The ID of the group to position this new group relative to

Create Item

create_item
Full Description

Create a new item with provided values, create a subitem under a parent item, or duplicate an existing item and update it with new values. Use parentItemId when creating a subitem under an existing item. Use duplicateFromItemId when copying an existing item with modifications.[REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board's structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper column values and knowing which columns are available.

Parameters (3 required, 3 optional)
Required
boardIdnumber

The id of the board to which the new item will be added

columnValuesstring

A string containing the new column values for the item following this structure: {\"column_id\": \"value\",... you can change multiple columns at once, note that for status column you must use nested value with 'label' as a key and for date column use 'date' as key} - example: "{\"text_column_id\":\"New text\", \"status_column_id\":{\"label\":\"Done\"}, \"date_column_id\":{\"date\":\"2023-05-25\"},\"dropdown_id\":\"value\", \"phone_id\":\"123-456-7890\", \"email_id\":\"test@example.com\"}"

namestring

The name of the new item to be created, must be relevant to the user's request

Optional
duplicateFromItemIdnumber

The id of existing item to duplicate and update with new values (only provide when duplicating)

groupIdstring

The id of the group id to which the new item will be added, if its not clearly specified, leave empty

parentItemIdnumber

The id of the parent item under which the new subitem will be created

Create Notification

create_notification
Full Description

Send a notification to a user via the bell icon and optionally by email. Use target_type "Post" for updates/replies or "Project" for items/boards.

Parameters (4 required)
Required
target_idstring

The target ID (update/reply ID for Post type, item/board ID for Project type)

target_typestring

The target type (Post for update/reply, Project for item/board)

Options:PostProject
textstring

The notification text

user_idstring

The user ID to send the notification to

Create Update

create_update
Full Description

Create a new update (comment/post) on a monday.com item. Updates can be used to add comments, notes, or discussions to items. You can optionally mention users, teams, or boards in the update. You can also reply to an existing update by using the parentId parameter.

Parameters (2 required, 2 optional)
Required
bodystring

The update text to be created. Do not use @ to mention users, use the mentionsList field instead. use html tags to format the text, dont use markdown.

itemIdnumber

The id of the item to which the update will be added

Optional
mentionsListstring

Optional JSON array of mentions in the format: [{"id": "123", "type": "User"}, {"id": "456", "type": "Team"}]. Valid types are: User, Team, Board, Project

parentIdnumber

The ID of the update to reply to. Use this parameter when you want to reply on an existing update leave it empty if you want to create a new update

Create View

create_view
Full Description

Create a new board view (tab) with optional filters and sorting. This creates a saved view on a monday.com board that users can switch to.

Filter operators: any_of, not_any_of, is_empty, is_not_empty, greater_than, lower_than, between, contains_text, not_contains_text

Example filter for people column: { "rules": [{ "column_id": "people", "compare_value": ["person-12345"], "operator": "any_of" }] } Example filter for status column: { "rules": [{ "column_id": "status", "compare_value": [1], "operator": "any_of" }] }

Parameters (1 required, 5 optional)
Required
boardIdstring

The board ID to create the view on

Optional
filterobject

Filter configuration for the view

namestring

The name of the view (e.g. "High Priority Items", "My Tasks")

settings

Type-specific view settings as a JSON object (e.g. column visibility, group_by for TABLE). The shape varies by view type — call get_view_schema_by_type with the same ViewKind to discover the supported structure. For TABLE views, prefer the dedicated create_view_table tool which exposes a strongly-typed settings field.

sortarray

Sort configuration for the view

typestring

The type of board view to create. Use TABLE for standard board views.

Options:APPDASHBOARDFORMTABLE
Default: TABLE

Create View Table

create_view_table
Full Description

Create a new table-type board view with optional filters, sort, tags, and table-specific settings (column visibility/order and group-by). Use this instead of create_view when you need to configure table-specific settings. For a simple table view, create_view also works.

Filter operators: any_of, not_any_of, is_empty, is_not_empty, greater_than, lower_than, between, contains_text, not_contains_text

Example settings.columns: { "column_properties": [{ "column_id": "status", "visible": true }], "column_order": ["name", "status", "date"] } Example settings.group_by: { "conditions": [{ "columnId": "status" }], "hideEmptyGroups": true }

Parameters (1 required, 5 optional)
Required
boardIdstring

The board ID to create the table view on

Optional
filterobject

Filter configuration for the view

namestring

The name of the view (e.g. "High Priority Items", "My Tasks")

settingsobject

Table-specific view settings (column visibility/order, group-by)

sortarray

Sort configuration for the view

tagsarray

Tags to apply to the view

Create Widget

create_widget
Full Description

Create a new widget in a dashboard or board view with specific configuration settings.

This tool creates data visualization widgets that display information from monday.com boards: Parent Containers:

  • DASHBOARD: Place widget in a dashboard (most common use case)
  • BOARD_VIEW: Place widget in a specific board view

Critical Requirements: 1. Schema Compliance: Widget settings MUST conform to the JSON schema for the specific widget type 2. Use all_widgets_schema first: Always fetch widget schemas before creating widgets 3. Validate settings: Ensure all required fields are provided and data types match

Workflow: 1. Use 'all_widgets_schema' to get schema definitions 2. Prepare widget settings according to the schema 3. Use this tool to create the widget

Parameters (4 required, 2 optional)
Required
parent_container_idstring

ID of the parent container (dashboard ID or board view ID)

parent_container_typestring

Type of parent container: DASHBOARD or BOARD_VIEW

Options:BOARD_VIEWDASHBOARD
widget_kindstring

Type of widget to create: i.e CHART, NUMBER, BATTERY

Options:APP_FEATUREBATTERYCALENDARCHARTGANTTLISTVIEWNUMBER
widget_namestring

Widget display name (1-255 UTF-8 chars)

Optional
settingsobject

Widget-specific settings as JSON object conforming to widget schema. Use all_widgets_schema tool to get the required schema for each widget type.

settingsStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The settings object. Send this as a stringified JSON of "settings" field. Read "settings" field description for details how to use it.

Create Workflow

create_workflow
Full Description

Creates a new empty workflow in a monday.com workspace.

Use this when the user wants to build a new standalone workflow from scratch. Workflows are cross-board, workspace-level — distinct from automations (use create_automation for those). You only need a workspaceId to get started — all other fields are optional.

Returns:

  • workflowObjectId: the workflow object ID
  • workflowDraftId: the current draft version ID — workflows start as drafts and must be published before they run

Terminology:

  • Workflows vs. automations: workflows are standalone objects scoped to a workspace. Automations (create_automation) are per-board trigger/action rules. They are different products.
  • Draft: the editable, inactive version of a workflow. Changes are made on the draft version until it is published as the live version.
  • Privacy: PUBLIC — visible to all workspace members (default). PRIVATE — restricted access. SHAREABLE — accessible to guests outside the account.
Parameters (1 required, 5 optional)
Required
workspaceIdstring

The ID of the workspace to create the workflow in.

Optional
descriptionstring

Optional workflow description.

folderIdstring

Optional folder ID to place the workflow in.

ownerIdsarray

Optional list of user IDs to set as workflow owners.

privacyKindstring

Workflow visibility: PUBLIC (default), PRIVATE, or SHAREABLE (accessible to guests outside the account).

Options:PUBLICPRIVATESHAREABLE
titlestring

Workflow title. Defaults to "New Workflow" if not provided.

Create Workspace

create_workspace
Full Description

Create a new workspace in monday.com

Parameters (2 required, 2 optional)
Required
namestring

The name of the new workspace to be created

workspaceKindstring

The kind of workspace to create

Options:closedopentemplate
Optional
accountProductIdstring

The account product ID associated with the workspace

descriptionstring

The description of the new workspace

Delete Agent

delete_agent
Full Description

Permanently delete a personal/custom agent on the monday.com platform. Removes the agent and all of its versions. The agent stops appearing in get_agent results and can no longer be triggered. This action cannot be undone. Only the agent owner can delete it.

Terminology note: users might ask for "agent" in natural language (for example: "delete my standup agent"), but in this API context this refers to monday personal/custom agents.

VERIFY BEFORE DELETING: When the user refers to an agent by name or description (e.g. "delete my standup bot"), call get_agent (no id) first to list all the user's agents and confirm the correct id. Do not infer ids — pick the matching agent by inspecting profile.name / role / goal.

USAGE EXAMPLE: { "id": "42" }

Parameters (1 required)
Required
idstring

Unique identifier of the monday platform agent to delete.

Finalize Asset Upload

finalize_asset_upload
Full Description

Finalize a file upload and create the asset on monday.com. Call this after uploading the file to the presigned URL from get_asset_upload_url. Requires the etag value from the PUT response headers. Automatically attaches the uploaded asset to the specified file column on the item. Returns the created asset_id.

Parameters (5 required)
Required
boardIdstring

The board's unique identifier

columnIdstring

The file or doc column's unique identifier to attach the uploaded asset to

etagstring

The ETag header value from the PUT response when uploading to the presigned URL

itemIdstring

The item's unique identifier

uploadIdstring

The upload_id returned by get_asset_upload_url

Form Questions Editor

form_questions_editor
Full Description

Create, update, or delete a question in a monday.com form

Parameters (2 required, 3 optional)
Required
actionstring

Action to perform on the question of a form. create requires question. update requires questionId and question with type always included. delete requires questionId.

Options:deleteupdatecreate
formTokenstring

The unique identifier token for the form. Required for all form-specific operations.

Optional
questionobject

The question to create or update. Always include type, then only the fields you want to set or change.

questionIdstring

Question ID. Required for update/delete.

questionStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The question object. Send this as a stringified JSON of "question" field. Read "question" field description for details how to use it.

Get Agent

get_agent
Full Description

Fetch one or more personal/custom agents on the monday.com platform.

monday platform agents are user-built work orchestrators and executors that live on the monday.com platform — each has a profile (name, role, avatar), a goal, and an execution plan in markdown describing capabilities and operating principles. Agents in state ACTIVE can be triggered to perform automated work on monday boards. They are NOT local LangChain or MCP agents — they are managed entities on the monday.com platform owned by a specific user.

Terminology note: users might ask for "agent" in natural language (for example: "create me an agent"), but in this API context this refers to monday personal/custom agents.

Agent state in get_agent results is one of ACTIVE, INACTIVE, ARCHIVED, or FAILED. DELETED agents are filtered from these queries — DELETED only appears as the return value of delete_agent. Agent kind is one of PERSONAL, ACCOUNT_LEVEL, or EXTERNAL.

Pass id to fetch one specific agent by its unique identifier. Omit id to list agents owned by the authenticated user (capped at 100 — ask the user for a higher limit if needed). An empty list means the user owns no agents, which is not an error.

USAGE EXAMPLES:

  • Fetch one agent: { "id": "42" }
  • List my agents: {}
Parameters (0 required, 1 optional)
Optional
idstring

Unique identifier of a monday platform agent. When provided, returns that single agent. When omitted, returns every non-deleted personal agent owned by the authenticated user.

Get Asset Upload Url

get_asset_upload_url
Full Description

Get a presigned URL to upload a file to monday.com. Returns an upload_id and upload_url.

After calling this tool, upload the file to the returned URL using an HTTP PUT request and capture the ETag header from the response:

curl -i -X PUT "<upload_url>" \ -H "Content-Type: <the contentType you provided>" \ --data-binary @<local_file_path>

The response includes an ETag header (e.g. ETag: "abc123...") — save this value.

Then call finalize_asset_upload with the upload_id, etag, board_id, item_id, and column_id to complete the upload and attach the file to an item's file column.

Max file size: 500MB.

Parameters (3 required)
Required
contentTypestring

The MIME type of the file (e.g. "application/pdf", "image/png", "text/plain")

fileNamestring

The name of the file to upload, including extension (e.g. "report.pdf")

fileSizeinteger

The file size in bytes. Maximum 500MB (524288000 bytes)

Get Assets

get_assets
Full Description

Get assets (files) by their IDs. Returns file metadata including name, extension, size, public URL (valid for 1 hour), thumbnail URL, upload date, and who uploaded it.

Parameters (1 required)
Required
idsarray

Array of asset IDs to fetch

Get Board Activity

get_board_activity
Full Description

Get board activity logs for a specified time range (defaults to last 30 days)

Parameters (1 required, 3 optional)
Required
boardIdnumber

The id of the board to get activity for

Optional
fromDatestring

Start date for activity range (ISO8601DateTime format). Defaults to 30 days ago

includeDataboolean

Whether to include the raw data payload for each activity entry. The data field contains the full before/after state of changes and can be very large. Only set to true when you need the detailed change data.

Default: False
toDatestring

End date for activity range (ISO8601DateTime format). Defaults to now

Get Board Info

get_board_info
Full Description

Get comprehensive board information including metadata, structure, owners, and configuration. Also returns the board's views (e.g. table views, filter views) — each view includes its id, name, type, and a structured filter object.

Parameters (1 required)
Required
boardIdnumber

The id of the board to get information for

Get Board Items Page

get_board_items_page
Full Description

Get all items from a monday.com board with pagination support and optional column values and item descriptions. Returns structured JSON with item details, creation/update timestamps, and pagination info. Use the nextCursor parameter from the response to get the next page of results when has_more is true. To retrieve an item description (the rich-text body/details of a monday.com item), set includeItemDescription to true — the response will include the item description document blocks with their content, type, and id. Use this whenever the user asks about an item description, body, details, or notes. [REQUIRED PRECONDITION]: Before using this tool, if new columns were added to the board or if you are not familiar with the board structure (column IDs, column types, status labels, etc.), first use get_board_info to understand the board metadata. This is essential for constructing proper filters and knowing which columns are available. [REQUIRED PRECONDITION]: For board-relation / cross-board linking tasks, call link_board_items_workflow before using this tool. VIEW-BASED FILTERING: If the user refers to a board view by name (e.g. "show me items in the Overdue view"), first call get_board_info to get the board views, find the matching view by name, then extract its filter field and pass it as the filters argument here.

Parameters (1 required, 14 optional)
Required
boardIdnumber

The id of the board to get items from

Optional
columnIdsarray

The ids of the item columns and subitem columns to get, can be used to reduce the response size when user asks for specific columns. Works only when includeColumns is true. If not provided, all columns will be returned

cursorstring

The cursor to get the next page of items, use the nextCursor from the previous response. If the nextCursor was null, it means there are no more items to get

filtersarray

The configuration of filters to apply on the items. Use get_board_info for column ids and types on the board. Before sending the filters, use get_column_type_info with fetchMode "guidelines" and use data.guidelines.filter (null if that type has no documented rules).

filtersOperatorstring

The operator to use for the filters

Options:andor
Default: and
filtersStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The filters to apply on the items. Send this as a stringified JSON array of "filters" field. Read "filters" field description for details how to use it.

includeColumnsboolean

Whether to include column values in the response. PERFORMANCE OPTIMIZATION: Only set this to true when you actually need the column data. Excluding columns significantly reduces token usage and improves response latency. If you only need to count items, get item IDs/names, or check if items exist, keep this false.

Default: False
includeItemDescriptionboolean

Whether to include the item's description in the response. The item description is the rich-text body content that appears inside a monday.com item (similar to a task description or issue body). Set this to true when the user asks about an item's description, details, body, or notes. PERFORMANCE OPTIMIZATION: Only set this to true when you actually need the item description content.

Default: False
includeSubItemsboolean

Whether to include sub items in the response. PERFORMANCE OPTIMIZATION: Only set this to true when you actually need the sub items data.

Default: False
itemIdsarray

The ids of the items to get. The count of items should be less than 100.

limitnumber

The number of items to get

Default: 25
orderByarray

The columns to order by, will control the order of the items in the response

orderByStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The order by to apply on the items. Send this as a stringified JSON array of "orderBy" field. Read "orderBy" field description for details how to use it.

searchTermstring

The search term to use for the search. - Use this when: the user provides a vague, incomplete, or approximate search term (e.g., “marketing campaign”, “John’s task”, “budget-related”), and there isn’t a clear exact compare value for a specific field. - Do not use this when: the user specifies an exact value that maps directly to a column comparison (e.g., name contains "marketing campaign", status = "Done", priority = "High", owner = "Daniel"). In these cases, prefer structured compare filters.

subItemLimitnumber

The number of sub items to get per item. This is only used when includeSubItems is true.

Default: 25

Get Column Type Info

get_column_type_info
Full Description

Retrieves comprehensive information about a specific column type. Use fetchMode "schema" (default) to get the JSON schema definition from the API — use this before creating or updating columns (e.g. create_column) to understand structure, validation rules, and available properties for column settings. Use fetchMode "guidelines" to get only guidelines.filter and guidelines.aggregation for building items_page filters and board insights counts (no schema, no GraphQL round-trip).

Parameters (1 required, 1 optional)
Required
columnTypestring

The column type to retrieve information for (e.g., "text", "status", "date", "numbers")

Options:auto_numberboard_relationbuttoncheckboxcolor_pickercountrycreation_logdatedependencydirect_docdocdropdownemailfileformulagrouphourintegrationitem_assigneesitem_idlast_updatedlinklocationlong_textmirrornamenumberspeoplephoneprogressratingstatussubtaskstagsteamtexttime_trackingtimelineunsupportedvoteweekworld_clock
Optional
fetchModestring

fetchMode "schema": JSON settings schema only (GraphQL). fetchMode "guidelines": guidelines.filter and guidelines.aggregation only — no GraphQL round-trip.

Options:schemaguidelines
Default: schema

Get Form

get_form
Full Description

Get a monday.com form by its form token. Form tokens can be extracted from the form's url. Given a form url, such as https://forms.monday.com/forms/abc123def456ghi789?r=use1, the formToken is the alphanumeric string that appears right after /forms/ and before the ?. In the example, the formToken is abc123def456ghi789.

Parameters (1 required)
Required
formTokenstring

The unique identifier token for the form. Required for all form-specific operations.

Get Full Board Data

get_full_board_data
Full Description

INTERNAL USE ONLY

  • DO NOT CALL THIS TOOL DIRECTLY. This tool is exclusively triggered by UI components and should never be invoked directly by the agent.
Parameters (1 required, 2 optional)
Required
boardIdstring

The ID of the board to fetch complete data for

Optional
filtersarray

The configuration of filters to apply on the items. Use get_board_info for column ids and types on the board. Before sending the filters, use get_column_type_info with fetchMode "guidelines" and use data.guidelines.filter (null if that type has no documented rules).

filtersOperatorstring

The operator to use for the filters

Options:andor
Default: and

Get Graphql Schema

get_graphql_schema
Full Description

Fetch the monday.com GraphQL schema structure including query and mutation definitions. This tool returns available query fields, mutation fields, and a list of GraphQL types in the schema. You can filter results by operation type (read/write) to focus on either queries or mutations.

Parameters (0 required, 2 optional)
Optional
operationTypestring

Type of operation: "read" for queries, "write" for mutations

Options:readwrite
random_stringstring

Dummy parameter for no-parameter tools

Get Monday Dev Sprints Boards

get_monday_dev_sprints_boards
Full Description

Discover monday-dev sprints boards and their associated tasks boards in your account.

Purpose:

Identifies and returns monday-dev sprints board IDs and tasks board IDs that you need to use with other monday-dev tools. This tool scans your recently used boards (up to 100) to find valid monday-dev sprint management boards.

What it Returns:

  • Pairs of sprints boards and their corresponding tasks boards
  • Board IDs, names, and workspace information for each pair
  • The bidirectional relationship between each sprints board and its tasks board

Note:

Searches recently used boards (up to 100). If none found, ask user to provide board IDs manually.

Get Notetaker Meetings

get_notetaker_meetings
Full Description

Retrieve notetaker meetings with optional detailed fields. Use include_summary, include_topics, include_action_items, and include_transcript flags to control which details are returned. Use access to filter by meeting access level (OWN, SHARED_WITH_ME, SHARED_WITH_ACCOUNT, ALL). Defaults to OWN. Supports filtering by ids, search term, and cursor-based pagination.

Parameters (0 required, 9 optional)
Optional
accessstring

Filter meetings by access level. OWN: meetings the user participated in or invited the bot to. SHARED_WITH_ME: meetings shared with the user or their team. SHARED_WITH_ACCOUNT: meetings shared with the entire account. ALL: all meetings the user has access to.

Options:OWNSHARED_WITH_MESHARED_WITH_ACCOUNTALL
Default: OWN
cursorstring

Cursor for pagination. Use cursor from the previous page_info to fetch the next page.

idsarray

Filter by specific meeting IDs. Use this to fetch one or more specific meetings in a single call.

include_action_itemsboolean

Whether to include action items for each meeting.

Default: False
include_summaryboolean

Whether to include the AI-generated summary for each meeting.

Default: False
include_topicsboolean

Whether to include discussion topics and talking points for each meeting.

Default: False
include_transcriptboolean

Whether to include the full transcript for each meeting. Transcripts can be very large.

Default: False
limitnumber

Maximum number of notetaker meetings to return per page (1-100).

Default: 25
searchstring

Search notetaker meetings by title, participant name, or email.

Get Sprint Summary

get_sprint_summary
Full Description

Get the complete summary and analysis of a sprint.

Purpose:

Unlock deep insights into completed sprint performance.

The sprint summary content including:

  • Scope Management: Analysis of planned vs. unplanned tasks, scope creep
  • Velocity & Performance: Individual velocity, task completion rates, workload distribution per team member
  • Task Distribution: Breakdown of completed tasks by type (Feature, Bug, Tech Debt, Infrastructure, etc.)
  • AI Recommendations: Action items, process improvements, retrospective focus areas

Requirements:

  • Sprint must be completed and must be created after 1/1/2025

Important Note:

When viewing the section "Completed by Assignee", you'll see user IDs in the format "@user-12345678". the 8 digits after the @is the user ID. To retrieve the actual owner names, use the list_users_and_teams tool with the user ID and set includeTeams=false for optimal performance.

Parameters (1 required)
Required
sprintIdnumber

The ID of the sprint to get the summary for (e.g., "9123456789")

Get Sprints Metadata

get_sprints_metadata
Full Description

Get comprehensive sprint metadata from a monday-dev sprints board including:

Data Retrieved:

A table of sprints with the following information:

  • Sprint ID
  • Sprint Name
  • Sprint timeline (planned from/to dates)
  • Sprint completion status (completed/in-progress/planned)
  • Sprint start date (actual)
  • Sprint end date (actual)
  • Sprint activation status
  • Sprint summary document object ID

Parameters:

  • limit: Number of sprints to retrieve (default: 25, max: 100)

Requires the Main Sprints board ID of the monday-dev containing your sprints.

Parameters (1 required, 1 optional)
Required
sprintsBoardIdnumber

The ID of the monday-dev board containing the sprints

Optional
limitnumber

The number of sprints to retrieve (default: 25, max: 100)

Default: 25

Get Type Details

get_type_details
Full Description

Get detailed information about a specific GraphQL type from the monday.com API schema

Parameters (1 required)
Required
typeNamestring

The name of the GraphQL type to get details for

Get Updates

get_updates
Full Description

Get updates (comments/posts) from a monday.com item or board. Specify objectId and objectType (Item or Board) to retrieve updates. For Board queries, you can filter by date range using fromDate and toDate (both required together, ISO8601 format). By default, Board queries return only board discussion. Set includeItemUpdates to true to also include updates on individual items. Returns update text, creator info, timestamps, and optionally replies and assets.

Parameters (2 required, 7 optional)
Required
objectIdstring

The ID of the item or board to get updates from

objectTypestring

Type of object for which objectId was provided

Options:ItemBoard
Optional
fromDatestring

Start of date range filter (e.g. "2025-01-01" or "2025-01-01T00:00:00Z"). Must be used together with toDate. Only supported for Board objectType.

includeAssetsboolean

Include file attachments in the response

Default: False
includeItemUpdatesboolean

When objectType is Board, also include updates on individual items. Defaults to false, returning only board discussion. Set to true to retrieve all updates on a board, including updates on individual items.

Default: False
includeRepliesboolean

Include update replies in the response

Default: False
limitnumber

Number of updates per page (default: 25, max: 100)

Default: 25
pagenumber

Page number for pagination (default: 1)

Default: 1
toDatestring

End of date range filter (e.g. "2025-06-01" or "2025-06-01T23:59:59Z"). Must be used together with fromDate. Only supported for Board objectType.

Get User Context

get_user_context
Full Description

Fetch current user information, account information, and their relevant items (boards, folders, workspaces, dashboards).

Use this tool to:

  • Get context about who the current user is (id, name, title)
  • Get account info: plan tier, active member count, trial status, and active products
  • Get the number of active members in the account (returns active_members_count)
  • Discover user's favorite boards, folders, workspaces, and dashboards
  • Get user's most relevant boards based on visit frequency and recency
  • Get user's most relevant people based on interaction frequency and recency
  • Reduce the need for search requests by knowing user's commonly accessed items

List Automations

list_automations
Full Description

List all automations on a specific monday.com board, including their ids, titles, active state, and configuration.

When NOT to use: Do not call this tool to get general board information unrelated to automations.

Parameters (1 required, 2 optional)
Required
boardIdstring

The numeric board ID as a string.

Optional
cursorstring

Pagination cursor from a previous response. Pass to retrieve the next page of automations.

limitinteger

Maximum number of automations to return. Default: 100.

List Users And Teams

list_users_and_teams
Full Description

Tool to fetch users and/or teams data.

MANDATORY BEST PRACTICES: 1. ALWAYS use specific IDs or names when available 2. If no ids available, use name search if possible (USERS ONLY) 3. Use 'getMe: true' to get current user information 4. AVOID broad queries (no parameters) - use only as last resort

REQUIRED PARAMETER PRIORITY (use in this order): 1. getMe

  • STANDALONE

2. userIds 3. name

  • STANDALONE (USERS ONLY, NOT for teams)

4. teamIds + teamsOnly 5. No parameters

  • LAST RESORT

CRITICAL USAGE RULES: • userIds + teamIds requires explicit includeTeams: true flag • includeTeams: true fetches both users and teams, do not use this to fetch a specific user's teams rather fetch that user by id and you will get their team memberships. • name parameter is for USER search ONLY - it cannot be used to search for teams. Use teamIds to fetch specific teams.

Parameters (0 required, 7 optional)
Optional
getMeboolean

[TOP PRIORITY] Use ALWAYS when requesting current user information. Examples of when it should be used: ["get my user" or "get my teams"]. This parameter CONFLICTS with all others.

includeTeamMembersboolean

Set to true only when you need additional member details for teams other than names and ids.

includeTeamsboolean

[AVOID] This fetches all teams in the account. To fetch a specific user's teams just fetch that user by id and you will get their team memberships.

namestring

Name-based USER search ONLY. STANDALONE parameter - cannot be combined with others. PREFERRED method for finding users when you know names. Performs fuzzy matching. CRITICAL: This parameter searches for USERS ONLY, NOT teams. To search for teams, use teamIds parameter instead.

teamIdsarray

Specific team IDs to fetch.[IMPORTANT] ALWAYS use when you have team IDs in context, NEVER fetch all teams if specific IDs are available. RETURNS: Team details with owners and optional member data.

teamsOnlyboolean

Fetch only teams, no users returned. Combine with includeTeamMembers for member details.

userIdsarray

Specific user IDs to fetch.[IMPORTANT] ALWAYS use when you have user IDs in context. PREFER over general search. RETURNS: user profiles including team memberships

List Workspaces

list_workspaces
Full Description

List all workspaces available to the user. Returns up to 500 workspaces with their ID, name, and description.

Parameters (0 required, 3 optional)
Optional
limitnumber

Number of workspaces to return. Default is (100), lower for a smaller response size

Default: 100
pagenumber

Page number to return. Default is 1.

Default: 1
searchTermstring

Optional search term used to filter workspaces. [IMPORTANT] Only alphanumeric characters are supported.

Manage Workflows

manage_workflows
Full Description

Activate, deactivate, or delete an existing monday.com automation/workflow.

Requires a workflow id. When the user refers to an automation by name, always call list_automations first to resolve the id — never guess or infer ids.

Actions:

  • activate: enables a paused workflow so it starts responding to its trigger.
  • deactivate: pauses a workflow while preserving its definition.
  • delete: permanently removes a workflow — irreversible.

When intent is ambiguous ("stop", "turn off", "pause"), prefer deactivate over delete.

Terminology: "workflows" and "automations" are the same thing.

Parameters (2 required)
Required
actionstring

The operation to perform. activate: enables a paused workflow so it responds to its trigger. deactivate: pauses a workflow without deleting it. delete: permanently removes a workflow (irreversible).

Options:activatedeactivatedelete
workflowIdstring

The workflow ID to operate on. Obtain from list_automations.

Move Object

move_object
Full Description

Move a folder, board, or overview in monday.com. Use position for relative placement based on another object, parentFolderId for folder changes, workspaceId for workspace moves, and accountProductId for account product changes.

Parameters (2 required, 6 optional)
Required
idstring

The ID of the object to move

objectTypestring

The type of object to move

Options:BoardFolderOverview
Optional
accountProductIdstring

The ID of the account product containing the object. Required if moving to a different account product.

parentFolderIdstring

The ID of the new parent folder. Required if moving to a different folder.

position_is_afterboolean

Whether to position the object after the object

position_object_idstring

The ID of the object to position the object relative to. If this parameter is provided, position_object_type must be also provided.

position_object_typestring

The type of object to position the object relative to. If this parameter is provided, position_object_id must be also provided.

Options:BoardFolderOverview
workspaceIdstring

The ID of the workspace containing the object. Required if moving to a different workspace.

Read Docs

read_docs
Full Description

Get information about monday.com documents. Supports two modes:

MODE: "content" (default) — Fetch documents with their full markdown content.

  • Requires: type ("ids" | "object_ids" | "workspace_ids") and ids array
  • Supports pagination via page/limit. Check has_more_pages in response.
  • If type "ids" returns no results, automatically retries with object_ids.
  • Set include_blocks: true to include block IDs, types, and positions in the response — required before calling update_doc.
  • Blocks default to 25 per page. Use blocks_limit and blocks_page to paginate through long documents.
  • Set include_comments: true to fetch all comments and replies on the document. Each comment is enriched with anchor info (block_id, selection_from, selection_length) indicating which block and text range it's attached to. Use comments_limit to control how many comments per item (default 50).

MODE: "version_history" — Fetch the edit history of a single document.

  • Requires: ids with the document's object_id (use the object_id field from content mode results, NOT the id field).
  • The object_id is the numeric ID visible in the document URL.
  • Returns restoring points sorted newest-first. Use version_history_limit to cap results (e.g., "last 3 changes" → version_history_limit: 3).
  • Use since/until to filter by time range. If omitted, returns full history.
  • Set include_diff: true to see what content changed between versions (fetches up to 10 diffs, may be slower).
  • Examples:
    • { mode: "version_history", ids: ["5001466606"], version_history_limit: 3 }
    • { mode: "version_history", ids: ["5001466606"], since: "2026-03-11T00:00:00Z", include_diff: true }
Parameters (0 required, 15 optional)
Optional
blocks_limitnumber

Maximum number of blocks to return per document (default: 25). Only used in content mode when include_blocks is true.

blocks_pagenumber

Page number for block pagination, starting at 1. Omit to use the API default. Use with blocks_limit to page through documents with more than 25 blocks. Only used in content mode when include_blocks is true.

comments_limitnumber

Maximum number of comments (updates) to fetch per item when include_comments is true. Defaults to 50. Only used in content mode.

Default: 50
idsarray

Array of ID values. In content mode: matches the query type (ids/object_ids/workspace_ids). In version_history mode: provide the single document object_id here (e.g., ids: ["5001466606"]).

include_blocksboolean

If true, includes the blocks array (block IDs, types, positions, content) in the response. Required when you plan to call update_doc. Defaults to false to reduce response size. Only used in content mode.

Default: False
include_commentsboolean

If true, fetches all comments and replies on the document. Comments are stored at the item level within the doc backing board. Defaults to false. Only used in content mode.

Default: False
include_diffboolean

If true, fetches content diffs between consecutive restoring points. May be slower due to additional API calls. Only used in version_history mode.

Default: False
limitnumber

Number of docs per page (default: 25). Only used in content mode.

modestring

The operation mode. "content" (default) fetches documents with their markdown content. "version_history" fetches the edit history of a single document.

Options:contentversion_history
Default: content
order_bystring

Order in which to retrieve docs. Only used in content mode.

Options:created_atused_at
pagenumber

Page number to return (starts at 1). Only used in content mode.

sincestring

ISO 8601 date string to filter version history from (e.g., "2026-03-15T00:00:00Z"). If omitted, returns the full history. Only used in version_history mode.

typestring

Query type for content mode: "ids", "object_ids", or "workspace_ids". Required when mode is "content".

Options:idsobject_idsworkspace_ids
untilstring

ISO 8601 date string to filter version history until (e.g., "2026-03-16T23:59:59Z"). Defaults to now. Only used in version_history mode.

version_history_limitnumber

Maximum number of restoring points to return. Use this when the user asks for "last N changes". Only used in version_history mode.

Search

search
Full Description

Search within monday.com platform. Can search for boards, documents, forms, folders. For searching/listing specific users and teams, use list_users_and_teams tool. For account-level info (plan, member count, products), use get_user_context tool. For workspaces, use list_workspaces tool. For items and groups, use get_board_items_page tool. For groups, use get_board_info tool. IMPORTANT: ids returned by this tool are prefixed with the type of the object (e.g doc-123, board-456, folder-789). When passing the ids to other tools, you need to remove the prefix and just pass the number.

Parameters (1 required, 4 optional)
Required
searchTypestring

The type of search to perform.

Options:BOARDDOCUMENTSFOLDERS
Optional
limitnumber

The number of items to get. The max and default value is 20.

Default: 20
pagenumber

The page number to get. The default value is 1.

Default: 1
searchTermstring

The search term to use for the search.

workspaceIdsarray

The ids of the workspaces to search in. [IMPORTANT] Only pass this param if user explicitly asked to search within specific workspaces.

show-assign

show-assign
Full Description

[UI COMPONENT] Renders an interactive smart assignment interface visualization that the user can see and interact with. IMPORTANT: This is a UI DISPLAY tool - use it to RENDER visual components for the user to see and interact with. Do NOT use data-fetching tools when the user explicitly asks to "show", "display", "visualize", or "see" something visually. Helps assign tasks to the right people. Assignment suggestions are based on task details (like name) and person details (such as title, availability, etc).Use for requests to see or use an interactive assignment interface. Always show as much as data possible, while showing the person details like title etc. If you do not have the data available - use the list_users_and_teams tool.

Parameters (2 required)
Required
assignmentsarray

Array of item assignments

titlestring

Board title

show-battery

show-battery
Full Description

[UI COMPONENT] Renders an interactive battery/progress indicator visualization that the user can see and interact with. IMPORTANT: This is a UI DISPLAY tool - use it to RENDER visual components for the user to see and interact with. Do NOT use data-fetching tools when the user explicitly asks to "show", "display", "visualize", or "see" something visually. Use when user asks for: battery view, progress indicator, status distribution bar, completion percentage visualization, or Monday.com style status breakdown.

Parameters (1 required)
Required
dataarray

Array of segments. Each segment must have 'name' (label), 'y' (value), and 'color' properties.

show-chart

show-chart
Full Description

[UI COMPONENT] Renders an interactive chart/graph visualization that the user can see and interact with. IMPORTANT: This is a UI DISPLAY tool - use it to RENDER visual components for the user to see and interact with. Do NOT use data-fetching tools when the user explicitly asks to "show", "display", "visualize", or "see" something visually. Use when user asks for: pie chart, bar chart, line graph, data visualization, or any graphical representation of numbers/statistics.

Parameters (2 required, 1 optional)
Required
dataarray

Array of data points. Each point must have 'name' (label) and 'y' (value) properties, with optional 'color' property.

typestring

Chart type to render: "pie" (circular chart with segments) or "bar" (horizontal bars).

Options:piebar
Optional
titlestring

Optional title text to display above the chart. Leave empty or omit for no title.

show-table

show-table
Full Description

[UI COMPONENT] Renders an interactive table visualization that the user can see and interact with. IMPORTANT: This is a UI DISPLAY tool - use it to RENDER visual components for the user to see and interact with. Do NOT use data-fetching tools when the user explicitly asks to "show", "display", "visualize", or "see" something visually. Use when user asks to: display a board as table, show items in table format, view data in tabular layout, or see a Monday.com board visually. When asked to update an item, use the currently selected item ID (get it from the widget state, using tools like "get_widget_state") for deciding which item to update. If no item is selected, ask the user which item should be updated. After adding an update to an item, you MUST display the table AGAIN, even if the user did not ask you to.

[IMPORTANT][FILTERING PRECONDITION]: IF using filters, you MUST call get_board_info(boardId) FIRST and use the returned boardContextToken.

Parameters (1 required, 3 optional)
Required
boardIdstring

The ID of the board to display

Optional
currentlySelectedItemIdForShowingUpdatesstring

The ID of the item currently displaying its updates in the expanded view

filtersarray

The configuration of filters to apply on the items. Before sending the filters, use get_board_info tool to check "filteringGuidelines" key for filtering by the column.

filtersOperatorstring

The operator to use for the filters

Options:andor
Default: and

Update Doc

update_doc
Full Description

Update an existing monday.com document. Provide doc_id (preferred) or object_id, plus an ordered operations array (executed sequentially, stops on first failure).

OPERATIONS:

  • set_name: Rename the document.
  • add_markdown_content: Append markdown as blocks (or insert after a block). Best for text, headings, lists, simple tables — no block IDs needed.
  • update_block: Update content of an existing text, code, or list_item block in-place.
  • create_block: Create a new block at a precise position. Use parent_block_id to nest inside notice_box, table cell, or layout cell.
  • delete_block: Remove any block. The ONLY option for BOARD, WIDGET, DOC embed, and GIPHY blocks.
  • replace_block: Delete a block and create a new one in its place (use when update_block is not supported).
  • add_comment: Create a new comment or reply on the document (doc-level, block-level, or text-selection).

WHEN TO USE EACH OPERATION:

  • text / code / list_item → update_block. Use replace_block to change subtype (e.g. NORMAL_TEXT→LARGE_TITLE)
  • divider / table / image / video / notice_box / layout → replace_block (properties immutable after creation)
  • BOARD / WIDGET / DOC / GIPHY → delete_block only

GETTING BLOCK IDs: Call read_docs with include_blocks: true — returns id, type, position, and content per block.

BLOCK CONTENT (delta_format): Array of insert ops. Last op MUST be {insert: {text: "\n"}}.

  • Plain: [{insert: {text: "Hello"}}, {insert: {text: "\n"}}]
  • Bold: [{insert: {text: "Hi"}, attributes: {bold: true}}, {insert: {text: "\n"}}]
  • Mention user/doc/board: [{insert: {text: "Hey "}}, {insert: {mention: {id: 12345, type: "USER"}}}, {insert: {text: "\n"}}] — type is USER, DOC, or BOARD. id is numeric (user IDs from list_users_and_teams)
  • Inline column value: [{insert: {column_value: {item_id: 111, column_id: "status"}}}, {insert: {text: "\n"}}]
  • Supported attributes: bold, italic, underline, strike, code, link, color, background (not applicable to mention/column_value ops)

IMAGE WITH ASSET: For asset-based images, use create_block with block_type "image" and asset_id (instead of public_url). add_markdown_content does NOT support asset images — for mixed content, alternate add_markdown_content (text) and create_block (image) operations in sequence.

COMMENTS:

  • add_comment: Create a new comment or reply on the document. Three scopes:
    • Doc-level (no block_id): comment appears on the doc as a whole.
    • Block-level (block_id only): comment is anchored to a specific block. The block shows a comment indicator in the UI.
    • Text-selection (block_id + selection_from + selection_length): comment is anchored to a specific character range inside a text/code/list_item block. That text is highlighted with a comment marker.

Block-level and text-selection comments only work on blocks with text content (text, code, list_item, title, quote). They do NOT work on: divider, page_break, table, layout, notice_box, image, video, or giphy blocks. Get block IDs from read_docs with include_blocks: true. Format body with HTML, not markdown. Use mentions_list for @mentions.

Parameters (1 required, 2 optional)
Required
operationsarray

Ordered list of operations to perform. Executed sequentially. Stops at first failure. Operation types: - set_name: Rename the document. - add_markdown_content: Append markdown as blocks (simplest for text/lists/tables). - update_block: Change content of an existing text/code/list/divider block. - create_block: Create a new block at a specific position (supports text, list_item, code, divider, page_break, image, video, notice_box, table, layout). - delete_block: Permanently remove a block. Works for ALL block types including BOARD, WIDGET, DOC embed, GIPHY. - replace_block: Delete a block and create a new one in its place. Use for: changing image/video source, table restructure, notice_box theme change. - add_comment: Create a new comment or reply on the document. Use parent_update_id to reply to an existing comment. Format text with HTML. Uses the doc's backing board item. WHEN TO USE WHICH: - Adding new text sections → add_markdown_content - Adding asset-based images → create_block with block_type "image" and asset_id (add_markdown_content does NOT support asset images) - Mixed content with asset images → alternate add_markdown_content (for text) and create_block (for each image) in sequence - Editing existing text block → update_block - Changing an image URL → replace_block (image URL is immutable after creation) - Changing video URL → replace_block - Restructuring a table → replace_block - BOARD/WIDGET/DOC/GIPHY blocks → delete_block only (no public API to create these) NESTING CONTENT IN CONTAINERS: - notice_box: Fully supported. Create the notice_box first, then in a separate call create child blocks with parent_block_id set to the notice_box ID. You cannot reference a block ID created in the same call. - table: Cell-level API nesting is NOT supported. To create a table with content, use add_markdown_content with a markdown table (e.g. "| H1 | H2 |\n| --- | --- |\n| A | B |"). This creates a pre-populated table in one shot. Empty tables created via create_block cannot have their cells populated through the API. - layout: Cell-level API nesting is NOT supported and there is no markdown equivalent. Layouts can only be created empty via create_block. No workaround exists to populate layout columns through the API. Deleting a container does NOT delete its children — delete children first for clean removal. Block IDs are available in the blocks array returned by read_docs.

Optional
doc_idstring

The document ID (the id field from read_docs). Takes priority over object_id if both are provided.

object_idstring

The document object ID (the object_id field from read_docs, visible in the document URL). Resolved to doc_id.

Update Folder

update_folder
Full Description

Update an existing folder in monday.com

Parameters (1 required, 10 optional)
Required
folderIdstring

The ID of the folder to update

Optional
accountProductIdstring

The account product ID associated with the folder

colorstring

The new color of the folder

Options:AQUAMARINEBRIGHT_BLUEBRIGHT_GREENCHILI_BLUEDARK_ORANGEDARK_PURPLEDARK_REDDONE_GREENINDIGOLIPSTICKNULLPURPLESOFIA_PINKSTUCK_REDSUNSETWORKING_ORANGE
customIconstring

The new custom icon of the folder

Options:FOLDERMOREBELOWMOREBELOWFILLEDNULLWORK
fontWeightstring

The new font weight of the folder

Options:FONT_WEIGHT_BOLDFONT_WEIGHT_LIGHTFONT_WEIGHT_NORMALFONT_WEIGHT_VERY_LIGHTNULL
namestring

The new name of the folder

parentFolderIdstring

The ID of the new parent folder

position_is_afterboolean

Whether to position the folder after the object

position_object_idstring

The ID of the object to position the folder relative to. If this parameter is provided, position_object_type must be also provided.

position_object_typestring

The type of object to position the folder relative to. If this parameter is provided, position_object_id must be also provided.

Options:BoardFolderOverview
workspaceIdstring

The ID of the workspace containing the folder

Update Form

update_form
Full Description

Update a monday.com form. Use the action field to specify the operation.

Parameters (2 required, 5 optional)
Required
actionstring

Action to execute on the form. Each action requires different fields — check field descriptions to know what to include.

Options:activatedeactivateshortenFormUrlsetFormPasswordcreateTagdeleteTagupdateTagupdateAppearanceupdateAccessibilityupdateFeaturesupdateQuestionOrderupdateFormHeader
formTokenstring

The unique identifier token for the form. Required for all form-specific operations.

Optional
formobject

Form data to update (patch semantics).

formPasswordstring

Required for setFormPassword action.

formStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The form data. Send this as a stringified JSON of "form" field. Read "form" field description for details how to use it.

tagobject

Tag to create/update/delete. Delete: id only. Create: name+value (id/columnId auto-generated). Update: id+new value.

tagStringifiedstring

**ONLY FOR MICROSOFT COPILOT**: The tag data. Send this as a stringified JSON of "tag" field. Read "tag" field description for details how to use it.

Update View

update_view
Full Description

Update an existing board view (tab) — change its name, filter rules, or sort order. Provide only the fields you want to change. Omitted fields are left unchanged.

Filter operators: any_of, not_any_of, is_empty, is_not_empty, greater_than, lower_than, between, contains_text, not_contains_text

Example filter for people column: { "rules": [{ "column_id": "people", "compare_value": ["person-12345"], "operator": "any_of" }] } Example filter for status column: { "rules": [{ "column_id": "status", "compare_value": [1], "operator": "any_of" }] }

Parameters (2 required, 5 optional)
Required
boardIdstring

The board ID the view belongs to

viewIdstring

The ID of the view to update

Optional
filterobject

Filter configuration to apply to the view

namestring

New name for the view (omit to leave unchanged)

settings

Type-specific view settings as a JSON object (e.g. column visibility, group_by for TABLE). The shape varies by view type — call get_view_schema_by_type with the same ViewKind to discover the supported structure. For TABLE views, prefer the dedicated update_view_table tool which exposes a strongly-typed settings field.

sortarray

Sort configuration for the view

typestring

The type of the board view being updated. Use TABLE for standard board views.

Options:APPDASHBOARDFORMTABLE
Default: TABLE

Update View Table

update_view_table
Full Description

Update an existing table-type board view — change its name, filters, sort, tags, or table-specific settings (column visibility/order and group-by). Provide only the fields you want to change. Omitted fields are left unchanged.

Filter operators: any_of, not_any_of, is_empty, is_not_empty, greater_than, lower_than, between, contains_text, not_contains_text

Example settings.columns: { "column_properties": [{ "column_id": "status", "visible": true }], "column_order": ["name", "status", "date"] } Example settings.group_by: { "conditions": [{ "columnId": "status" }], "hideEmptyGroups": true }

Parameters (2 required, 5 optional)
Required
boardIdstring

The board ID the view belongs to

viewIdstring

The ID of the table view to update

Optional
filterobject

Filter configuration to apply to the view

namestring

New name for the view (omit to leave unchanged)

settingsobject

Table-specific view settings (column visibility/order, group-by)

sortarray

Sort configuration for the view

tagsarray

Tags to apply to the view

Update Workspace

update_workspace
Full Description

Update an existing workspace in monday.com

Parameters (1 required, 4 optional)
Required
idstring

The ID of the workspace to update

Optional
attributeAccountProductIdnumber

The target account product's ID to move the workspace to

attributeDescriptionstring

The description of the workspace to update

attributeKindstring

The kind of the workspace to update (open / closed / template)

Options:closedopentemplate
attributeNamestring

The name of the workspace to update

Workspace Info

workspace_info
Full Description

This tool returns the boards, docs and folders in a workspace and which folder they are in. It returns up to 100 of each object type, if you receive 100 assume there are additional objects of that type in the workspace.

Parameters (1 required)
Required
workspace_idnumber

The ID of the workspace to get information for