关于 monday
monday 技能指导 Agent 使用 Monday.com API 管理项目看板及相关数据,涵盖看板和条目操作、自动化、报表数据访问,以及通过 Webhook 响应事件。
主要功能
- 01增删改查看板、条目和列
- 02管理自动化与集成
- 03操作仪表板和时间线
- 04筛选并分页查询数据
- 05通过 Webhook 响应变更
适用场景
- 01创建项目看板并添加任务
- 02在日常工作流中更新任务状态
- 03提取仪表板或时间线数据用于报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill monday安装后在 Claude Code 中输入/monday确认已加载。
详细介绍
monday
用途
此技能支持通过 Monday.com 的 API 管理看板、项目、列、自动化、集成、仪表板和时间线。可用于自动化项目管理任务、查询数据,或通过 API 与其他工具集成。
适用场景
- 需要以编程方式创建或更新 Monday.com 看板和项目以跟踪项目进度时。
- 自动化工作流时,例如根据看板变更触发操作,或与外部服务集成。
- 需要从仪表板或时间线提取数据以用于报告或分析时。
主要功能
- 对看板、项目和列执行创建、读取、更新和删除(CRUD)操作。
- 通过 API 调用管理自动化和集成。
- 访问和操作仪表板及时间线,以便进行可视化和日程安排。
- 处理实时数据的 API 查询,包括筛选和分页。
- 支持 Webhook,以响应项目创建或更新等事件。
使用模式
始终使用 $MONDAY_API_KEY 环境变量进行身份验证初始化。使用 Python 中的 requests 等 HTTP 客户端发送 API 请求。将调用组织为包含必需字段的 JSON 载荷。例如,使用 try-except 块封装 API 调用以处理错误。请查阅 Monday.com 的 API 文档了解速率限制阈值(例如,每分钟 100 个请求),并据此限制请求频率。常见模式:完成一次身份验证后,在同一会话中连续发起多个 API 调用。
常见命令/API
使用 Monday.com 的 REST API,基地址为 https://api.monday.com/v2。使用 Authorization: YOUR_API_KEY 设置 Authorization 标头。以下是查询看板的方法:
Endpoint: GET /v2/boards
代码片段:
import requests
headers = {'Authorization': os.environ['MONDAY_API_KEY']}
response = requests.get('https://api.monday.com/v2/boards', headers=headers)
print(response.json())
要在看板上创建项目:
Endpoint: POST /v2/pulses
Payload: {"query": 'mutation { create_item (board_id: 123456, item_name: "New Task") { id } }'}
代码片段:
import requests
headers = {'Authorization': os.environ['MONDAY_API_KEY'], 'Content-Type': 'application/json'}
data = {"query": 'mutation { create_item (board_id: 123456, item_name: "New Task") { id } }'}
response = requests.post('https://api.monday.com/v2', headers=headers, json=data)
print(response.json()['data']['create_item']['id'])
要更新列:
Endpoint: POST /v2
Query: mutation { change_column_value (board_id: 123456, item_id: 654321, column_id: "status", value: ""Done"") { id } }
在查询中使用 board_id 和 item_id 等标志以指定目标。
集成说明
将 API 密钥存储在 $MONDAY_API_KEY 中以安全访问;切勿将其硬编码。通过设置 Webhook 与其他工具集成(例如,项目创建时向自定义端点发送 POST 请求)。如有需要,可使用 Monday.com 的 OAuth 流程,但对于大多数 CLI/API 用途,API 密钥已足够。配置格式:JSON 载荷,例如 {"query": "your_graphql_query"}。与 Zapier 等服务集成时,请参考 Monday.com 的 Webhook 事件(例如,"item_created")。如果要构建 Web 界面,请确保应用处理 CORS。
错误处理
检查响应状态码:200 表示成功,401 表示未授权(请验证 $MONDAY_API_KEY),429 表示超出速率限制(添加带指数退避的重试逻辑)。解析 JSON 错误以获取详细信息,例如,如果存在 "errors" 键,则记录类似 "Invalid board_id" 的消息。在代码中使用 try-except:
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
except requests.exceptions.HTTPError as err:
print(f"Error: {err.response.status_code} - {err.response.json()['errors']}")
通过在 API 调用前验证输入,处理 ID 无效等常见问题。
具体使用示例
- 创建新看板并添加项目: 首先,使用
$MONDAY_API_KEY进行身份验证。使用 POST /v2 端点创建看板:mutation { create_board (board_name: "My Project") { id } }。然后添加项目:mutation { create_item (board_id: <new_board_id>, item_name: "Task 1") { id } }。这可以自动为新项目设置看板。 - 查询项目并更新列: 使用 GET /v2/boards/{board_id}/items 获取看板中的项目。使用
limit=50等查询参数进行筛选。然后更新状态列:mutation { change_column_value (board_id: 123456, item_id: 654321, column_id: "status", value: "\"In Progress\"") }。适用于自动化中的每日状态更新。
图关系
- 相关对象:boards(父级)、items(子级)、columns(属性)
- 集成对象:automations(触发器)、integrations(外部链接)、dashboards(可视化)、timeline(排期)
- 连接方式:通过 API 端点传输数据,通过 webhooks 实现事件驱动的交互