
Wecomcli Manage Schedule
Manage WeCom (Enterprise WeChat) calendars—list, create, update, cancel events, and find mutual free slots—through wecom-cli JSON commands.
Overview
wecomcli-manage-schedule is an agent skill for the Operate phase that manages WeCom calendars via wecom-cli schedule APIs and JSON parameters.
Install
npx skills add https://github.com/wecomteam/wecom-cli --skill wecomcli-manage-scheduleWhat is this skill?
- Range query for schedule IDs within ±30 days of today (YYYY-MM-DD or datetime strings)
- Batch detail fetch for 1–50 schedule_id values with title, time, location, attendees
- create_schedule and modify flows with reminders and attendee userid lists
- Free/busy analysis across members to propose shared meeting windows
- Mandatory contact lookup skill before userid resolution; never expose raw userid in UX copy
- Schedule list queries support ±30 days from today
- get_schedule_detail accepts 1–50 schedule IDs per call
Adoption & trust: 2.4k installs on skills.sh; 2.2k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need to create or adjust Enterprise WeChat meetings from an agent but keep tripping date windows, timestamp formats, and attendee userid rules.
Who is it for?
Teams already on WeCom with wecom-cli installed who want agent-driven scheduling and free-busy coordination.
Skip if: Solo builders outside China enterprise WeChat or anyone without wecom-cli and org API access.
When should I use this skill?
When users need WeCom schedule list/detail, create, modify, cancel, attendee changes, or multi-member free-busy analysis via wecom-cli.
What do I get? / Deliverables
Agents emit correct wecom-cli schedule commands, readable schedules for users, and coordinated lookups before create, modify, or cancel actions.
- wecom-cli schedule command invocations
- Human-readable schedule summaries
- Proposed meeting slots from availability analysis
Recommended Skills
Journey fit
Recurring meeting coordination and calendar hygiene belong in Operate when the product team runs on enterprise messaging stacks. Iterate covers day-to-day schedule changes, attendee updates, and availability checks that keep shipping cadence aligned.
How it compares
Enterprise WeChat CLI skill package—not Google Calendar MCP or generic cron automation.
Common Questions / FAQ
Who is wecomcli-manage-schedule for?
Builders and operators in WeCom organizations who automate schedule list, detail, create, update, cancel, and availability checks via wecom-cli.
When should I use wecomcli-manage-schedule?
During Operate when planning standups, client calls, or internal reviews that must sync to WeCom calendars and respect the ±30-day list window.
Is wecomcli-manage-schedule safe to install?
It executes real schedule mutations against your org; verify CLI scope, attendee privacy rules, and the Security Audits panel on this Prism page before use.
Workflow Chain
Requires first: wecomcli lookup contact
SKILL.md
READMESKILL.md - Wecomcli Manage Schedule
# 企业微信日程管理技能 > `wecom-cli` 是企业微信提供的命令行程序,所有操作通过执行 `wecom-cli` 命令完成。 通过 `wecom-cli schedule <接口名> '<json入参>'` 与企业微信日程系统交互。 ## 注意事项 - 日程列表查询仅支持**当日前后 30 天**,时间格式 `YYYY-MM-DD` 或 `YYYY-MM-DD HH:MM:SS` - 涉及参与者 userid 时,需先使用 **wecomcli-lookup-contact** 技能获取;存在同名时展示候选让用户选择(禁止暴露 userid) - 创建/修改/取消前,先确认目标日程和参与者信息 - `errcode != 0` 时展示错误信息;返回的 `start_time`/`end_time` 为 Unix 时间戳(秒),需转为可读格式 - **注意时间格式转换**:接口入参使用字符串格式(如 `YYYY-MM-DD HH:MM:SS`),但返回值多为 Unix 时间戳,使用时需进行格式转换 --- ## 接口列表 ### get_schedule_list_by_range — 查询日程 ID 列表 ```bash wecom-cli schedule get_schedule_list_by_range '{"start_time": "YYYY-MM-DD HH:MM:SS", "end_time": "YYYY-MM-DD HH:MM:SS"}' ``` 返回 `schedule_id_list` 数组。仅支持当日前后 30 天。 ### get_schedule_detail — 获取日程详情 ```bash wecom-cli schedule get_schedule_detail '{"schedule_id_list": ["SCHEDULE_ID_1", "SCHEDULE_ID_2"]}' ``` 支持 1~50 个 ID,返回日程标题、时间、地点、参与者等。参见 [API 详情](references/api-get-schedule-detail.md)。 ### create_schedule — 创建日程 ```bash wecom-cli schedule create_schedule '{"schedule": {"start_time": "YYYY-MM-DD HH:MM:SS", "end_time": "YYYY-MM-DD HH:MM:SS", "summary": "日程标题", "attendees": [{"userid": "USER_ID"}], "reminders": {"is_remind": 1, "remind_before_event_secs": 3600, "timezone": 8}}}' ``` 参见 [API 详情](references/api-create-schedule.md) | [reminders 字段](references/ref-reminders.md)。 ### update_schedule — 修改日程 只需传入需修改的字段,未传字段保持不变。 ```bash wecom-cli schedule update_schedule '{"schedule": {"schedule_id": "SCHEDULE_ID", "summary": "更新后的标题"}}' ``` 参见 [API 详情](references/api-update-schedule.md)。 ### cancel_schedule — 取消日程 ```bash wecom-cli schedule cancel_schedule '{"schedule_id": "SCHEDULE_ID"}' ``` ### add_schedule_attendees / del_schedule_attendees — 管理参与人 - 添加参与人: ```bash wecom-cli schedule add_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}' ``` - 移除参与人: ```bash wecom-cli schedule del_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}' ``` ### check_availability — 查询闲忙 ```bash wecom-cli schedule check_availability '{"check_user_list": ["USER_ID_1", "USER_ID_2"], "start_time": "YYYY-MM-DD HH:MM:SS", "end_time": "YYYY-MM-DD HH:MM:SS"}' ``` 支持 1~10 个用户,返回各用户的忙碌时段列表。参见 [API 详情](references/api-check-availability.md)。 --- ## 典型工作流 ### 查询日程 **经典 query 示例:** - "我今天有哪些日程?" - "帮我看看这周三下午有没有会议" - "明天的日程安排是什么?" - "查一下最近有没有关于项目评审的日程" - "我下周一到周五的日程都有哪些?" **流程:** 1. 根据用户意图计算时间范围(如"今天"→当日 00:00:00 至 23:59:59,"这周"→本周一至周日) 2. 调用 `get_schedule_list_by_range` 获取日程 ID 列表 3. 调用 `get_schedule_detail` 批量获取详情,将 Unix 时间戳转为可读时间 4. 若用户提到关键词(如"项目评审"),在 `summary` 中匹配筛选;未找到则逐步扩大范围至前后 30 天上限 5. 展示日程列表时包含标题、时间、地点、参与者等关键信息,方便用户快速了解 ### 创建日程 **经典 query 示例:** - "帮我创建一个明天下午 2 点到 3 点的会议,标题叫需求评审" - "安排一个周五全天的团建活动" - "创建日程:后天上午 10 点和张三、李四开产品方案讨论会,地点在 3 楼会议室" - "帮我建个日程,下周一 14:00-15:00,提前 15 分钟提醒" - "约一个明天上午的日程,邀请王伟参加" **流程:** 1. 解析用户意图,提取时间、标题、地点、参与人、提醒设置等信息 2. 若涉及参与人,先通过 **wecomcli-lookup-contact** 查询 userid;存在同名时展示候选让用户选择 3. 若用户未指定提醒,默认设置提前 15 分钟提醒(`remind_before_event_secs: 900`) 4. 若用户说"全天",设置 `is_whole_day: 1`,时间设为当天 00:00:00 至 23:59:59 5. 向用户确认日程信息(标题、时间、地点、参与人等)后调用 `create_schedule` ### 修改日程 **经典 query 示例:** - "把明天的需求评审改到后天下午 3 点" - "帮我修改下今天下午的会议标题,改成技术方案评审" - "我今天 14 点的日程地点改成线上腾讯会议" - "把周五的团建活动推迟一个小时" - "帮我给明天的周会加个描述:讨论 Q2 规划" **流程:** 1. 先通过查询工作流定位目标日程(根据用户提到的时间、标题等关键词匹配) 2. 若匹配到多个日程,展示候选列表让用户确认 3. 向用户确认要修改的字段和目标值 4. 调用 `update_schedule`,只传入需修改的字段 ### 取消日程 **经典 query 示例:** - "取消明天下午的需求评审" - "帮我把周五的团建日程删掉" - "我不想开今天 15 点的会了,帮我取消" **流程:** 1. 先通过查询工作流定位目标日程 2. 向用户确认取消的日程信息(标题、时间等),避免误操作 3. 确认后调用 `cancel_schedule` ### 管理参与人 **经典 query 示例:** - "把张三加到明天的需求评审会议里" - "帮我把李四从周五的日程里移除" - "明天下午的会议再邀请一下王伟和赵敏" - "把我后天那个技术分享的参与人里去掉刘强" **流程