monday-automation
Automate Monday.com work management including boards, items, columns, groups, subitems, and updates via Rube MCP (Composio). Always search tools first for current schemas.
Monday.com Automation via Rube MCP
Automate Monday.com work management workflows including board creation, item management, column value updates, group organization, subitems, and update/comment threads through Composio's Monday toolkit.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit mondayRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit mondayCore Workflows
1. Create and Manage Boards
When to use: User wants to create a new board, list existing boards, or set up workspace structure.
Tool sequence:
MONDAY_GET_WORKSPACES - List available workspaces and resolve workspace ID [Prerequisite]MONDAY_LIST_BOARDS - List existing boards to check for duplicates [Optional]MONDAY_CREATE_BOARD - Create a new board with name, kind, and workspace [Required]MONDAY_CREATE_COLUMN - Add columns to the new board [Optional]MONDAY_CREATE_GROUP - Add groups to organize items [Optional]MONDAY_BOARDS - Retrieve detailed board metadata [Optional]Key parameters:
board_name: Name for the new board (required)board_kind: "public", "private", or "share" (required)workspace_id: Numeric workspace ID; omit for default workspacefolder_id: Folder ID; must be within workspace_id if both providedtemplate_id: ID of accessible template to clonePitfalls:
board_kind is required and must be one of: "public", "private", "share"workspace_id and folder_id are provided, the folder must exist within that workspacetemplate_id must reference a template the authenticated user can access2. Create and Manage Items
When to use: User wants to add tasks/items to a board, list existing items, or move items between groups.
Tool sequence:
MONDAY_LIST_BOARDS - Resolve board name to board ID [Prerequisite]MONDAY_LIST_GROUPS - List groups on the board to get group_id [Prerequisite]MONDAY_LIST_COLUMNS - Get column IDs and types for setting values [Prerequisite]MONDAY_CREATE_ITEM - Create a new item with name and column values [Required]MONDAY_LIST_BOARD_ITEMS - List all items on the board [Optional]MONDAY_MOVE_ITEM_TO_GROUP - Move an item to a different group [Optional]MONDAY_ITEMS_PAGE - Paginated item retrieval with filtering [Optional]Key parameters:
board_id: Board ID (required, integer)item_name: Item name, max 256 characters (required)group_id: Group ID string to place the item in (optional)column_values: JSON object or string mapping column IDs to valuesPitfalls:
column_values must use column IDs (not titles); get them from MONDAY_LIST_COLUMNS{"index": 0} or {"label": "Done"}, date uses {"date": "YYYY-MM-DD"}, people uses {"personsAndTeams": [{"id": 123, "kind": "person"}]}item_name has a 256-character maximumMONDAY_CREATE_ITEM; use GraphQL via MONDAY_CREATE_OBJECT3. Update Item Column Values
When to use: User wants to change status, date, text, or other column values on existing items.
Tool sequence:
MONDAY_LIST_COLUMNS or MONDAY_COLUMNS - Get column IDs and types [Prerequisite]MONDAY_LIST_BOARD_ITEMS or MONDAY_ITEMS_PAGE - Find the target item ID [Prerequisite]MONDAY_CHANGE_SIMPLE_COLUMN_VALUE - Update text, status, or dropdown with a string value [Required]MONDAY_UPDATE_ITEM - Update complex column types (timeline, people, date) with JSON [Required]Key parameters for MONDAY_CHANGE_SIMPLE_COLUMN_VALUE:
board_id: Board ID (integer, required)item_id: Item ID (integer, required)column_id: Column ID string (required)value: Simple string value (e.g., "Done", "Working on it")create_labels_if_missing: true to auto-create status/dropdown labels (default true)Key parameters for MONDAY_UPDATE_ITEM:
board_id: Board ID (integer, required)item_id: Item ID (integer, required)column_id: Column ID string (required)value: JSON object matching the column type schemacreate_labels_if_missing: false by default; set true for status/dropdownPitfalls:
MONDAY_CHANGE_SIMPLE_COLUMN_VALUE for simple text/status/dropdown updates (string value)MONDAY_UPDATE_ITEM for complex types like timeline, people, date (JSON value)MONDAY_LIST_COLUMNScreate_labels_if_missing defaults differ: true for CHANGE_SIMPLE, false for UPDATE_ITEM4. Work with Groups and Board Structure
When to use: User wants to organize items into groups, add columns, or inspect board structure.
Tool sequence:
MONDAY_LIST_BOARDS - Resolve board ID [Prerequisite]MONDAY_LIST_GROUPS - List all groups on a board [Required]MONDAY_CREATE_GROUP - Create a new group [Optional]MONDAY_LIST_COLUMNS or MONDAY_COLUMNS - Inspect column structure [Required]MONDAY_CREATE_COLUMN - Add a new column to the board [Optional]MONDAY_MOVE_ITEM_TO_GROUP - Reorganize items across groups [Optional]Key parameters:
board_id: Board ID (required for all group/column operations)group_name: Name for new group (CREATE_GROUP)column_type: Must be a valid GraphQL enum token in snake_case (e.g., "status", "text", "long_text", "numbers", "date", "dropdown", "people")title: Column display titledefaults: JSON string for status/dropdown labels, e.g., '{"labels": ["To Do", "In Progress", "Done"]}'Pitfalls:
column_type must be exact snake_case values; "person" is NOT valid, use "people"MONDAY_COLUMNS accepts an array of board_ids and returns column metadata including settingsMONDAY_LIST_COLUMNS is simpler and takes a single board_id5. Manage Subitems and Updates
When to use: User wants to view subitems of a task or add comments/updates to items.
Tool sequence:
MONDAY_LIST_BOARD_ITEMS - Find parent item IDs [Prerequisite]MONDAY_LIST_SUBITEMS_BY_PARENT - Retrieve subitems with column values [Required]MONDAY_CREATE_UPDATE - Add a comment/update to an item [Optional]MONDAY_CREATE_OBJECT - Create subitems via GraphQL mutation [Optional]Key parameters for MONDAY_LIST_SUBITEMS_BY_PARENT:
parent_item_ids: Array of parent item IDs (integer array, required)include_column_values: true to include column data (default true)include_parent_fields: true to include parent item info (default true)Key parameters for MONDAY_CREATE_OBJECT (GraphQL):
query: Full GraphQL mutation stringvariables: Optional variables objectPitfalls:
MONDAY_CREATE_OBJECT with a create_subitem GraphQL mutationMONDAY_CREATE_UPDATE is for adding comments/updates to items (Monday's "updates" feature), not for modifying item valuesMONDAY_CREATE_OBJECT is a raw GraphQL endpoint; ensure correct mutation syntaxCommon Patterns
ID Resolution
Always resolve display names to IDs before operations:
MONDAY_LIST_BOARDS and match by nameMONDAY_LIST_GROUPS with board_idMONDAY_LIST_COLUMNS with board_idMONDAY_GET_WORKSPACES and match by nameMONDAY_LIST_BOARD_ITEMS or MONDAY_ITEMS_PAGEPagination
Monday.com uses cursor-based pagination for items:
MONDAY_ITEMS_PAGE returns a cursor in the response for the next pagecursor to the next call; board_id and query_params are ignored when cursor is providedlimit is 500 per pageMONDAY_LIST_BOARDS and MONDAY_GET_WORKSPACES use page-based pagination with page and limitColumn Value Formatting
Different column types require different value formats:
{"index": 0} or {"label": "Done"} or simple string "Done"{"date": "YYYY-MM-DD"}{"personsAndTeams": [{"id": 123, "kind": "person"}]}{"from": "YYYY-MM-DD", "to": "YYYY-MM-DD"}Known Pitfalls
ID Formats
Rate Limits
limit parameter to reduce items per request if hitting limitsParameter Quirks
column_type for CREATE_COLUMN must be exact snake_case enum values; "people" not "person"column_values in CREATE_ITEM accepts both JSON string and object formatsMONDAY_CHANGE_SIMPLE_COLUMN_VALUE auto-creates missing labels by default; MONDAY_UPDATE_ITEM does notMONDAY_CREATE_OBJECT is a raw GraphQL interface; use it for operations without dedicated tools (e.g., create_subitem, delete_item, archive_board)Response Structure
id, name, and state fieldsvalue (JSON) and rendered text (display string)Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List workspaces | MONDAY_GET_WORKSPACES | kind, state, limit |
| Create workspace | MONDAY_CREATE_WORKSPACE | name, kind |
| List boards | MONDAY_LIST_BOARDS | limit, page, state |
| Create board | MONDAY_CREATE_BOARD | board_name, board_kind, workspace_id |
| Get board metadata | MONDAY_BOARDS | board_ids, board_kind |
| List groups | MONDAY_LIST_GROUPS | board_id |
| Create group | MONDAY_CREATE_GROUP | board_id, group_name |
| List columns | MONDAY_LIST_COLUMNS | board_id |
| Get column metadata | MONDAY_COLUMNS | board_ids, column_types |
| Create column | MONDAY_CREATE_COLUMN | board_id, column_type, title |
| Create item | MONDAY_CREATE_ITEM | board_id, item_name, column_values |
| List board items | MONDAY_LIST_BOARD_ITEMS | board_id |
| Paginated items | MONDAY_ITEMS_PAGE | board_id, limit, query_params |
| Update column (simple) | MONDAY_CHANGE_SIMPLE_COLUMN_VALUE | board_id, item_id, column_id, value |
| Update column (complex) | MONDAY_UPDATE_ITEM | board_id, item_id, column_id, value |
| Move item to group | MONDAY_MOVE_ITEM_TO_GROUP | item_id, group_id |
| List subitems | MONDAY_LIST_SUBITEMS_BY_PARENT | parent_item_ids |
| Add comment/update | MONDAY_CREATE_UPDATE | item_id, body |
| Raw GraphQL mutation | MONDAY_CREATE_OBJECT | query, variables |