Install
openclaw skills install monday-matanAccess Monday.com API via Maton Gateway to manage boards, items, columns, groups, users, and workspaces using GraphQL with OAuth authentication.
openclaw skills install monday-matanSKILL.md Monday.com (via Maton Gateway)
Access the Monday.com API with managed OAuth authentication. Manage boards, items, columns, groups, users, and workspaces using GraphQL.
🚀 Quick Start
Get Current User
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ me { id name email } }"}' | jq
🌐 Base URL https://gateway.maton.ai/monday/v2
All requests use POST to the GraphQL endpoint.
🔐 Authentication -H "Authorization: Bearer $MATON_API_KEY"
Set API Key export MATON_API_KEY="YOUR_API_KEY"
🔑 Getting Your API Key Sign in at https://maton.ai Go to /settings Copy your API key 🔗 Connection Management
Manage OAuth connections:
📄 List Connections
curl "https://ctrl.maton.ai/connections?app=monday&status=ACTIVE"
-H "Authorization: Bearer $MATON_API_KEY" | jq
➕ Create Connection
curl -X POST https://ctrl.maton.ai/connections
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"app": "monday"}' | jq
🔍 Get Connection
curl https://ctrl.maton.ai/connections/{connection_id}
-H "Authorization: Bearer $MATON_API_KEY" | jq
❌ Delete Connection
curl -X DELETE https://ctrl.maton.ai/connections/{connection_id}
-H "Authorization: Bearer $MATON_API_KEY" | jq
🌐 Complete OAuth
Open the returned url in your browser.
🎯 Specify Connection
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-H "Maton-Connection: CONNECTION_ID"
-d '{"query": "{ me { id name } }"}' | jq
📚 API Reference
👤 Current User
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ me { id name email } }"}'
👥 Users
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ users(limit: 20) { id name email } }"}'
🏢 Workspaces
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ workspaces(limit: 10) { id name kind } }"}'
📋 Boards
List Boards
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ boards(limit: 10) { id name state board_kind workspace { id name } } }"}'
Get Board (Full)
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ boards(ids: [BOARD_ID]) { id name columns { id title type } groups { id title } items_page(limit: 20) { cursor items { id name state } } } }"}'
Create Board
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { create_board(board_name: "New Board", board_kind: public) { id name } }"}'
Update Board
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { update_board(board_id: BOARD_ID, board_attribute: description, new_value: "Board description") }"}'
Delete Board
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { delete_board(board_id: BOARD_ID) { id } }"}'
🧩 Items
Get Items
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ items(ids: [ITEM_ID]) { id name state } }"}'
Create Item
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { create_item(board_id: BOARD_ID, group_id: "GROUP_ID", item_name: "New item") { id name } }"}'
Create Item with Column Values
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { create_item(board_id: BOARD_ID, group_id: "GROUP_ID", item_name: "New task", column_values: "{\"status\": {\"label\": \"Working on it\"}}") { id name } }"}'
Update Item Name
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { change_simple_column_value(board_id: BOARD_ID, item_id: ITEM_ID, column_id: "name", value: "Updated name") { id name } }"}'
Update Column Value
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { change_column_value(board_id: BOARD_ID, item_id: ITEM_ID, column_id: "status", value: "{\"label\": \"Done\"}") { id name } }"}'
Delete Item
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { delete_item(item_id: ITEM_ID) { id } }"}'
📊 Columns
Create Column
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { create_column(board_id: BOARD_ID, title: "Status", column_type: status) { id title type } }"}'
🗂 Groups
Create Group
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "mutation { create_group(board_id: BOARD_ID, group_name: "New Group") { id title } }"}'
📄 Pagination
First Page
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ boards(ids: [BOARD_ID]) { items_page(limit: 50) { cursor items { id name } } } }"}'
Next Page
curl -X POST https://gateway.maton.ai/monday/v2
-H "Authorization: Bearer $MATON_API_KEY"
-H "Content-Type: application/json"
-d '{"query": "{ next_items_page(cursor: "CURSOR_VALUE", limit: 50) { cursor items { id name } } }"}'
⚠️ Notes GraphQL only (no REST) IDs are strings Escape JSON inside GraphQL mutations carefully Default limit: 25 (max: 100) 🛠 Troubleshooting Check API Key echo $MATON_API_KEY
Test Auth
curl https://ctrl.maton.ai/connections
-H "Authorization: Bearer $MATON_API_KEY" | jq
❌ Errors Code Meaning 400 GraphQL / connection error 401 Invalid API key 403 Missing OAuth scope 429 Rate limited