wecomcli-manage-schedule
Original:🇨🇳 Chinese
Translated
WeCom schedule management skill. It meets users' various management needs for WeCom schedules. Use this skill when users need to: (1) Query the schedule list within a specified time range or obtain detailed schedule information (title, time, location, participants, etc.), (2) Create new schedules and set reminders, participants, etc., (3) Modify information such as title, time, location of existing schedules or cancel schedules, (4) Add or remove schedule participants, (5) Query the busy/free status of multiple members and analyze common free time slots to arrange meetings.
19installs
Sourcewecomteam/wecom-cli
Added on
NPX Install
npx skill4agent add wecomteam/wecom-cli wecomcli-manage-scheduleTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →WeCom Schedule Management Skill
is the command line program provided by WeCom, all operations are completed by executing thewecom-clicommand.wecom-cli
Interact with the WeCom schedule system via .
wecom-cli schedule <interface name> '<json parameter>'Notes
- Schedule list query only supports 30 days before and after the current day, time format is or
YYYY-MM-DDYYYY-MM-DD HH:MM:SS - When participant userid is involved, you need to use the wecomcli-lookup-contact skill to obtain it first; if there are duplicate names, show candidates for users to choose (exposure of userid is prohibited)
- Before creating/modifying/canceling, confirm the target schedule and participant information first
- When , display the error message; the returned
errcode != 0/start_timeare Unix timestamps (in seconds), which need to be converted to a human-readable formatend_time - Pay attention to time format conversion: The interface input parameters use string format (such as ), but most return values are Unix timestamps, which require format conversion when used
YYYY-MM-DD HH:MM:SS
Interface List
get_schedule_list_by_range — Query Schedule ID List
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"}'Returns the array. Only supports 30 days before and after the current day.
schedule_id_listget_schedule_detail — Get Schedule Details
bash
wecom-cli schedule get_schedule_detail '{"schedule_id_list": ["SCHEDULE_ID_1", "SCHEDULE_ID_2"]}'Supports 1~50 IDs, returns schedule title, time, location, participants, etc. See API Details.
create_schedule — 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}}}'See API Details | reminders Field.
update_schedule — Modify Schedule
Only pass in the fields that need to be modified, fields not passed will remain unchanged.
bash
wecom-cli schedule update_schedule '{"schedule": {"schedule_id": "SCHEDULE_ID", "summary": "更新后的标题"}}'See API Details.
cancel_schedule — Cancel Schedule
bash
wecom-cli schedule cancel_schedule '{"schedule_id": "SCHEDULE_ID"}'add_schedule_attendees / del_schedule_attendees — Manage Participants
- Add participants:
bash
wecom-cli schedule add_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}'- Remove participants:
bash
wecom-cli schedule del_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}'check_availablity — Query Busy/Free Status
bash
wecom-cli schedule check_availablity '{"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"}'Supports 1~10 users, returns the list of busy time slots for each user. See API Details.
Typical Workflows
Query Schedules
Classic query examples:
- "What schedules do I have today?"
- "Check if I have any meetings on Wednesday afternoon"
- "What is my schedule for tomorrow?"
- "Check if there are any schedules related to project review recently"
- "What schedules do I have from next Monday to Friday?"
Process:
- Calculate the time range according to the user's intent (e.g. "today" → 00:00:00 to 23:59:59 of the current day, "this week" → Monday to Sunday of the current week)
- Call to get the schedule ID list
get_schedule_list_by_range - Call to get details in batches, convert Unix timestamps to readable time
get_schedule_detail - If the user mentions keywords (such as "project review"), match and filter in ; if no results are found, gradually expand the range to the upper limit of 30 days before and after
summary - When displaying the schedule list, include key information such as title, time, location, participants, etc., for users to quickly understand
Create Schedule
Classic query examples:
- "Help me create a meeting from 2 pm to 3 pm tomorrow, titled Requirements Review"
- "Arrange a full-day team building activity on Friday"
- "Create a schedule: have a product plan discussion with Zhang San and Li Si at 10 am the day after tomorrow, location is the 3rd floor meeting room"
- "Help me create a schedule, next Monday 14:00-15:00, remind 15 minutes in advance"
- "Arrange a schedule for tomorrow morning, invite Wang Wei to participate"
Process:
- Analyze user intent, extract information such as time, title, location, participants, reminder settings, etc.
- If participants are involved, first query userid via wecomcli-lookup-contact; if there are duplicate names, show candidates for users to choose
- If the user does not specify a reminder, set a default 15-minute advance reminder ()
remind_before_event_secs: 900 - If the user says "full day", set , and set the time from 00:00:00 to 23:59:59 of that day
is_whole_day: 1 - Confirm the schedule information (title, time, location, participants, etc.) with the user before calling
create_schedule
Modify Schedule
Classic query examples:
- "Change tomorrow's requirements review to 3 pm the day after tomorrow"
- "Help me modify the title of this afternoon's meeting to Technical Solution Review"
- "Change the location of my 14:00 schedule today to online Tencent Meeting"
- "Postpone the team building activity on Friday by one hour"
- "Help me add a description to tomorrow's weekly meeting: Discuss Q2 planning"
Process:
- First locate the target schedule through the query workflow (match according to keywords such as time and title mentioned by the user)
- If multiple schedules are matched, show the candidate list for the user to confirm
- Confirm the fields to be modified and target values with the user
- Call , only pass in the fields that need to be modified
update_schedule
Cancel Schedule
Classic query examples:
- "Cancel tomorrow afternoon's requirements review"
- "Help me delete the team building schedule on Friday"
- "I don't want to attend the 15:00 meeting today, help me cancel it"
Process:
- First locate the target schedule through the query workflow
- Confirm the schedule information to be canceled (title, time, etc.) with the user to avoid misoperation
- Call after confirmation
cancel_schedule
Manage Participants
Classic query examples:
- "Add Zhang San to tomorrow's requirements review meeting"
- "Help me remove Li Si from the Friday schedule"
- "Invite Wang Wei and Zhao Min to the meeting tomorrow afternoon"
- "Remove Liu Qiang from the participants of my technical sharing the day after tomorrow"
Process:
- Obtain the userid of the target person via wecomcli-lookup-contact; if there are duplicate names, show candidates for users to choose
- Locate the target schedule through the query workflow
- Call or
add_schedule_attendeesto complete addition/removaldel_schedule_attendees
Query Busy/Free Status and Arrange Meetings
Classic query examples:
- "Help me check if Zhang San and Li Si are free tomorrow afternoon"
- "Check the free time of Wang Wei and I this week, I want to arrange a meeting"
- "I want to have a meeting with Xiao Ming and Xiao Hong from the product team, check when everyone is free"
- "Find a time slot when everyone is free tomorrow afternoon, arrange a 1-hour meeting"
Process:
- Obtain the userid of relevant personnel via wecomcli-lookup-contact
- Call to query the busy time slots of each user within the specified time range
check_availablity - Analyze the busy time slots of all users, calculate common free time slots and recommend them to users
- After the user confirms the time slot, call to create the meeting and add participants automatically
create_schedule