企业微信待办事项编辑技能,所有操作通过调用 MCP tool wecom_mcp 完成。
【用途】 通过 wecom_mcp tool 对企业微信待办事项进行写操作,覆盖创建、更新、删除待办,以及变更当前用户在待办中的状态四类操作。
【前置条件】 首次调用 wecom_mcp 前,必须按 wecom-preflight 技能执行前置条件检查,确保工具已加入白名单。
【行为策略】 重试策略:遭遇“返回 HTTP 错误”或“HTTP 请求失败”时,主动重试,最多重试三次。
【主要能力与调用方式】
-
创建待办 create_todo 调用:wecom_mcp call todo create_todo '<json格式的入参>' 参数:content(string,必填,待办内容);follower_list(object,可选,分派人列表);remind_time(string,可选,格式 YYYY-MM-DD HH:mm:ss)。 示例:wecom_mcp call todo create_todo '{"content": "<待办的内容>", "remind_time": "2025-06-01 09:00:00"}' 返回:{"errcode": 0, "errmsg": "ok", "todo_id": "TODO_ID"}
-
更新待办 update_todo 调用:wecom_mcp call todo update_todo '<json格式的入参>' 参数:todo_id(string,必填);content(string,可选,新内容);follower_list(object,可选,全量替换而非追加,新增分派人需先查出现有分派人合并后一起提交);todo_status(number,可选,0-已完成,1-进行中,删除请用 delete_todo);remind_time(string,可选)。 示例:wecom_mcp call todo update_todo '{"todo_id": "TODO_ID", "content": "<待办的内容>", "remind_time": "2025-07-01 09:00:00"}' 返回:{"errcode": 0, "errmsg": "ok"}
-
删除待办 delete_todo 调用:wecom_mcp call todo delete_todo '<json格式的入参>' 参数:todo_id(string,必填)。 示例:wecom_mcp call todo delete_todo '{"todo_id": "TODO_ID"}' 返回:{"errcode": 0, "errmsg": "ok"} 删除不可撤销,执行前应向用户确认。delete_todo 与 update_todo 设置 todo_status=2 效果相同,优先使用 delete_todo。
-
变更用户待办状态 change_todo_user_status 调用:wecom_mcp call todo change_todo_user_status '<json格式的入参>' 参数:todo_id(string,必填);user_status(number,必填,0-拒绝,1-接受,2-已完成)。 示例:wecom_mcp call todo change_todo_user_status '{"todo_id": "TODO_ID", "user_status": 2}' 返回:{"errcode": 0, "errmsg": "ok"}
【典型工作流】
创建待办并分派给同事:先通过 wecom-contact-lookup 技能查询目标成员的 userid,再调用 create_todo 并传入 follower_list。follower_id 必须来自 wecom-contact-lookup 的 get_userlist 接口返回的 userid,禁止自行猜测;若有多个同名人员,需展示候选列表让用户确认。
标记待办完成:需区分两种场景。场景 A 标记待办本身完成,用 update_todo 改 todo_status=0;场景 B 标记我的参与状态完成,用 change_todo_user_status 改 user_status=2。两者均需先通过 wecom-get-todo-list 获取 todo_id,再通过 wecom-get-todo-detail 确认。判断意图时,若待办为自己创建且无其他分派人,通常指场景 A;若有多个参与人,用户可能只想标记自己那部分(场景 B);不确定时应向用户确认。
更新待办内容或提醒时间:先 get_todo_list 查列表、get_todo_detail 确认目标,再调用 update_todo。
删除待办:先查找目标待办,向用户确认后调用 delete_todo。确认措辞示例:“确认删除待办‘代码评审’吗?删除后不可恢复。”
【限制与注意事项】 todo_id 必须来自 wecom-get-todo-list 返回结果,禁止推测或构造;用户通常提供内容描述,需先查列表再匹配,匹配到多个相似待办时列出候选让用户确认。follower_id 即 userid,必须通过 wecom-contact-lookup 的 get_userlist 接口获取,禁止按姓名猜测。所有时间参数使用 YYYY-MM-DD HH:mm:ss 格式,用户说“明天”“下周一”等相对时间时需按当前日期推算。状态值:todo_status 为 0-已完成、1-进行中、2-已删除;user_status 为 0-拒绝、1-接受、2-已完成;follower_status 为 0-拒绝、1-接受、2-已完成。删除待办前必须确认,变更状态为“拒绝”(user_status=0)前建议确认。若 errcode 不为 0,说明接口调用失败,应告知用户 errmsg 中的错误信息。 follower_list 输入格式示例: "follower_list": { "followers": [ { "follower_id": "FOLLOWER_ID", "follower_status": 1 } ] } 注意里面还有一层 "followers",其 value 才是真正的列表数组。
【相关技能】 获取待办列表:wecom-get-todo-list(查询待办概要列表,获取 todo_id)。 获取待办详情:wecom-get-todo-detail(根据 todo_id 获取完整内容)。 通讯录查询:wecom-contact-lookup 的 get_userlist(获取成员 userid,用于 follower_id)。