Skill v1.0.1
currentAutomated scan100/100+2 new
version: "1.0.1" name: wecom-todo description: 企业微信待办事项管理技能,支持创建待办、更新待办、更改用户在待办中的状态、获取待办列表、批量获取待办详情、删除待办。在用户说"帮我创建一个待办"、"把这个任务分派给张三"、"标记待办完成"、"接受/拒绝这个待办"、"把我在这个待办里的状态改成已完成"、"删掉那个待办"、"帮我建个提醒"、"更新一下待办内容"、"把提醒时间改到下周"、"看看这个待办的详情"、"待办分派给谁了"、"看看我有哪些待办"、"列一下我最近的待办"等需要对待办进行读写操作的场景时使用。
企业微信待办事项管理技能
wecom_mcp是一个 MCP tool,所有操作通过调用该 tool 完成。
⚠️ 前置条件:首次调用wecom_mcp前,必须按wecom-preflight技能执行前置条件检查,确保工具已加入白名单。
概述
wecom-todo 提供企业微信待办事项的管理能力,包含以下功能:
- 搜索 userid - 根据姓名或别名搜索用户的 userid,用于在创建/更新待办、更改用户状态、查询待办列表时把姓名解析为 userid
- 创建待办 - 创建新的待办事项,可指定内容、参与人、截止时间和提醒方式
- 更新待办 - 修改已有待办的内容、参与人、待办状态、截止时间和提醒方式
- 更改用户状态 - 更改某位参与人在某个待办中的状态(拒绝/接受/已完成)
- 获取待办列表 - 获取指定用户的待办列表,支持按创建时间和提醒时间过滤
- 获取待办详情 - 根据待办 ID 列表批量获取完整信息
- 删除待办 - 删除指定的待办事项
命令调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo <tool_name> '<json格式的入参>'
命令详细说明
1. 搜索 userid (search_todo_userid)
基础接口,根据姓名或别名搜索用户的 userid,用于在创建待办、更新待办时把用户姓名解析为 userid 进行传参。
调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo search_todo_userid '<json格式的入参>'
入参说明
| 参数 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
keyword | string | 是 | 姓名或别名 |
调用示例
使用 wecom_mcp tool 调用 wecom_mcp call todo search_todo_userid '{"keyword": "张三"}'
返回字段说明
- 返回与关键字匹配的用户的
userid(可能为多个候选)。 - 若有多个同名/相似用户,展示候选列表让用户确认后再使用;展示时只用姓名/别名/部门等可读信息区分,禁止向用户暴露 `userid`。
- 拿到的
userid用于create_todo/update_todo的follower_list,仅供内部传参,不在对话中展示。 - 调用前可先检查对话上下文是否已有该用户的
userid,若有则直接复用、无需再次查询;若本接口返回错误(查询失败、无结果等),则改用通讯录wecom-contact技能搜索(详见注意事项第 2 条)。
2. 创建待办 (create_todo)
创建一个新的待办事项,可指定内容、参与人、截止时间和提醒方式。
调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo create_todo '<json格式的入参>'
入参说明
| 参数 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
content | string | 是 | 待办内容 | |
follower_list | object | 是 | 参与人信息,对象中包含 followers 数组,格式见注意事项第 3 条 | |
end_time | string | 条件必填 | 截止时间(到期时间),格式:YYYY-MM-DD HH:mm:ss;提醒方式基于此时间计算偏移。当 remind_type_list 含非 0(即设置了实际提醒)时必填 | |
remind_type_list | uint32[] | 否 | 提醒方式,相对 end_time 计算,可传入多个,取值见注意事项第 4 条 |
调用示例
使用 wecom_mcp tool 调用 wecom_mcp call todo create_todo '{"content": "<待办的内容>", "follower_list": {"followers": [{"follower_id": "FOLLOWER_ID", "follower_status": 1}]}, "end_time": "2025-06-01 09:00:00", "remind_type_list": [3, 7]}'
返回字段说明
| 字段 | 类型 | 说明 | |
|---|---|---|---|
todo_id | string | 新创建的待办唯一 ID |
3. 更新待办 (update_todo)
修改已有待办事项的内容、参与人、待办状态、截止时间或提醒方式。
说明:本接口可更改待办状态(todo_status),但不能更改参与人状态(`follower_status`)。如需更改当前用户在某个待办中的状态,请使用change_todo_user_status。
调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo update_todo '<json格式的入参>'
入参说明
| 参数 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
todo_id | string | 是 | 待办 ID | |
content | string | 否 | 新的待办内容 | |
follower_list | object | 否 | 新的参与人信息(全量替换,非追加),对象中包含 followers 数组,格式见注意事项第 3 条。若要新增参与人,需先查出现有参与人,合并后一起提交。本接口不会更改参与人状态(`follower_status`),如需更改用户状态请使用 `change_todo_user_status` | |
todo_status | uint32 | 否 | 新的待办状态:0-已完成,1-进行中 | |
end_time | string | 否 | 新的截止时间(到期时间),格式:YYYY-MM-DD HH:mm:ss;提醒方式基于此时间计算偏移 | |
remind_type_list | uint32[] | 否 | 新的提醒方式,相对 end_time 计算,可传入多个 |
调用示例
使用 wecom_mcp tool 调用 wecom_mcp call todo update_todo '{"todo_id": "TODO_ID", "content": "<待办的内容>", "end_time": "2025-07-01 09:00:00", "remind_type_list": [1]}'
4. 更改用户在某个待办的状态 (change_todo_user_status)
更改某位参与人在某个待办中的状态(拒绝/接受/已完成)。
调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo change_todo_user_status '<json格式的入参>'
入参说明
| 参数 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
todo_id | string | 是 | 待办 ID | |
follower_id | string | 是 | 参与人 userid,指定要修改哪一位参与人的状态。来源遵循注意事项第 2 条的 userid 获取规则(上下文已有 → search_todo_userid → wecom-contact 技能兜底),禁止自行猜测或构造 | |
user_status | uint32 | 是 | 用户状态:0-拒绝,1-接受,2-已完成 |
调用示例
使用 wecom_mcp tool 调用 wecom_mcp call todo change_todo_user_status '{"todo_id": "TODO_ID", "follower_id": "FOLLOWER_ID", "user_status": 2}'
5. 获取待办列表 (get_todo_list)
获取指定用户(由 follower_id 指定,可为任意用户)通过机器人的待办列表,支持当天前后一个月的待办,可按创建时间、提醒时间、截止时间和待办状态过滤。
调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo get_todo_list '<json格式的入参>'
入参说明
| 参数 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
follower_id | string | 是 | 参与人 userid,指定要查询哪一位用户的待办列表(可为任意用户),来源遵循注意事项第 2 条的 userid 获取规则,禁止自行猜测或构造 | |
create_begin_time | string | 否 | 创建开始时间 | |
create_end_time | string | 否 | 创建结束时间 | |
remind_begin_time | string | 否 | 提醒开始时间 | |
remind_end_time | string | 否 | 提醒结束时间 | |
deadline_begin_time | string | 否 | 截止开始时间 | |
deadline_end_time | string | 否 | 截止结束时间 | |
todo_status | uint32 | 否 | 待办状态:0-已完成,1-进行中 | |
limit | uint32 | 否 | 最大返回数量,默认为 10,最大为 20 | |
cursor | string | 否 | 游标,用于分页 |
查询时间范围限制:- 用于筛选的时间(创建时间、提醒时间、截止时间)必须落在当天前后 30 天以内。- 若仅按todo_status筛选而未传任何时间范围,则默认按「创建时间在当天前后 30 天内」查询。
调用示例
使用 wecom_mcp tool 调用 wecom_mcp call todo get_todo_list '{"follower_id": "FOLLOWER_ID", "create_begin_time": "2025-06-01 00:00:00", "create_end_time": "2025-06-30 23:59:59", "todo_status": 1, "limit": 20}'
返回字段说明
- 返回指定用户(
follower_id)的待办列表,以及用于分页的游标。 - 拿到的
todo_id可用于get_todo_detail/update_todo/delete_todo,仅供内部传参,禁止向用户暴露。
6. 获取待办详情 (get_todo_detail)
根据待办 ID 列表批量查询完整详情,包含待办内容和参与人信息。
调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo get_todo_detail '<json格式的入参>'
入参说明
| 参数 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
todo_id_list | string[] | 是 | 待办 ID 列表,至少 1 个,最多 20 个 |
调用示例
使用 wecom_mcp tool 调用 wecom_mcp call todo get_todo_detail '{"todo_id_list": ["TODO_ID_1", "TODO_ID_2"]}'
返回字段说明
| 字段 | 类型 | 说明 | |
|---|---|---|---|
data_list | array | 待办详情列表,最多 20 条 | |
data_list[].todo_id | string | 待办 ID | |
data_list[].todo_status | number | 待办状态:0-已完成,1-进行中,2-已删除 | |
data_list[].content | string | 待办内容 | |
data_list[].follower_list | object | 参与人列表 | |
data_list[].follower_list.followers[].follower_id | string | 参与人 ID(即 userid) | |
data_list[].follower_list.followers[].name | string | 参与人姓名 | |
data_list[].follower_list.followers[].follower_status | number | 参与人状态:0-拒绝,1-接受,2-已完成 | |
data_list[].follower_list.followers[].update_time | string | 参与人状态更新时间 | |
data_list[].creator_id | string | 创建人 ID(即 userid) | |
data_list[].user_status | number | 当前用户在该待办中的状态:0-拒绝,1-接受,2-已完成 | |
data_list[].end_time | string | 截止时间(到期时间) | |
data_list[].remind_type_list | array | 提醒方式列表 | |
data_list[].create_time | string | 创建时间 | |
data_list[].update_time | string | 更新时间 |
7. 删除待办 (delete_todo)
删除指定的待办事项。
调用方式
使用 wecom_mcp tool 调用 wecom_mcp call todo delete_todo '<json格式的入参>'
入参说明
| 参数 | 类型 | 必填 | 说明 | |
|---|---|---|---|---|
todo_id | string | 是 | 待办 ID |
调用示例
使用 wecom_mcp tool 调用 wecom_mcp call todo delete_todo '{"todo_id": "TODO_ID"}'
注意事项
- todo_id 来源规则
todo_id可来自create_todo返回的结果,或get_todo_list查询到的列表,请务必保存好,禁止自行推测或构造
- userid 来源与隐私规则
- 分派待办时,
follower_list中的follower_id即userid,按以下优先级获取,禁止根据用户姓名自行猜测或构造 userid:
- 对话上下文已有:若对话上下文中已经提到对应用户的
userid,直接使用,无需再次查询 - search_todo_userid 查询:若上下文中没有,则可先询问用户在企业内的用户名称(通常是姓名),再通过
search_todo_userid接口按姓名/别名查询获取 - 通讯录技能兜底:若
search_todo_userid返回错误(如当前企业不适用等),则改用通讯录wecom-contact技能搜索获取userid
userid属于敏感标识,仅用于接口传参,禁止在回复或候选列表中向用户展示;需要让用户区分人员时,只展示姓名/别名/部门等可读信息
- follower_list 格式说明
- 作为入参时,
follower_list为对象,内含followers数组,格式如下:
``json "follower_list": { "followers": [ { "follower_id": "FOLLOWER_ID", "follower_status": 1 } ] } ``
follower_id即用户的userid,其来源遵循上文「userid 来源与隐私规则」的优先级(上下文已有 →search_todo_userid→wecom-contact技能兜底),禁止自行猜测或构造follower_status为参与人状态:0-拒绝,1-接受,2-已完成;该字段仅在create_todo中生效- 在
update_todo中为全量替换(非追加):若要新增参与人,需先用get_todo_detail查出现有参与人,合并后一并提交;update_todo不会更改参与人状态(`follower_status`),如需更改当前用户在某个待办中的状态,请使用change_todo_user_status
- remind_type_list 提醒方式取值
remind_type_list 是一个 uint32 数组,可同时传入多个提醒:
| 值 | 含义 | 值 | 含义 | |
|---|---|---|---|---|
0 | 不提醒 | 6 | 提前 2 小时 | |
1 | 到期时 | 7 | 提前 1 天 | |
3 | 提前 15 分钟 | 8 | 提前 2 天 | |
5 | 提前 1 小时 | 9 | 提前 1 周 |