
wecomcli-schedule
PopularWeCom schedule management skill. Use this skill when users need to: (1) query schedule lists within a specified time range or get detailed schedule info (title, time, location, attendees, etc.), (2) create new schedules with reminders and attendees, (3) modify existing schedules (title, time, location, etc.) or cancel schedules, (4) add or remove schedule attendees, (5) check availability of multiple members and analyze common free time slots for meeting arrangement.
Related Skills
WeCom schedule management skill. Use this skill when users need to: (1) query schedule lists within a specified time range or get detailed schedule info (title, time, location, attendees, etc.), (2) create new schedules with reminders and attendees, (3) modify existing schedules (title, time, location, etc.) or cancel schedules, (4) add or remove schedule attendees, (5) check availability of multiple members and analyze common free time slots for meeting arrangement.
WeCom Schedule Management Skill
wecom-cliis the command-line program provided by WeCom. All operations are performed by executingwecom-clicommands.
Interact with the WeCom schedule system via wecom-cli schedule <接口名> '<json入参>'.
Notes
- Schedule list queries only support 30 days before and after today. Time format:
YYYY-MM-DDorYYYY-MM-DD HH:mm:ss - For attendee userids, first use the wecomcli-contact skill to obtain them; if there are duplicate names, show candidates for the user to choose (do not expose userids)
- Before creating/modifying/cancelling, confirm the target schedule and attendee information
- When
errcode != 0, display the error message; returnedstart_time/end_timeare Unix timestamps (seconds), convert to readable format - Note time format conversion: Input parameters use string format (e.g.,
YYYY-MM-DD HH:mm:ss), but return values are mostly Unix timestamps; convert when using
API List
get_schedule_list_by_range — Query schedule ID list
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 schedule_id_list array. Only supports 30 days before and after today.
get_schedule_detail — Get schedule details
wecom-cli schedule get_schedule_detail '{"schedule_id_list": ["SCHEDULE_ID_1", "SCHEDULE_ID_2"]}'
Supports 1~50 IDs, returns schedule title, time, location, attendees, etc. See API details.
create_schedule — Create schedule
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 — Update schedule
Only pass the fields to be modified; omitted fields remain unchanged.
wecom-cli schedule update_schedule '{"schedule": {"schedule_id": "SCHEDULE_ID", "summary": "更新后的标题"}}'
See API details.
cancel_schedule — Cancel schedule
wecom-cli schedule cancel_schedule '{"schedule_id": "SCHEDULE_ID"}'
add_schedule_attendees / del_schedule_attendees — Manage attendees
- Add attendees:
wecom-cli schedule add_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}'
- Remove attendees:
wecom-cli schedule del_schedule_attendees '{"schedule_id": "SCHEDULE_ID", "attendees": [{"userid": "USER_ID"}]}'
check_availability — Check availability
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"}'
Supports 1~10 users, returns busy time slots for each user. See API details.
Typical Workflows
Query Schedules
Example queries:
- "What schedules do I have today?"
- "Check if I have a meeting this Wednesday afternoon"
- "What's my schedule for tomorrow?"
- "Find any recent schedules about project review"
- "What are my schedules from next Monday to Friday?"
Flow:
- Calculate time range based on user intent (e.g., "today" → 00:00:00 to 23:59:59, "this week" → Monday to Sunday)
- Call
get_schedule_list_by_rangeto get schedule ID list - Call
get_schedule_detailto batch get details, convert Unix timestamps to readable time - If user mentions keywords (e.g., "project review"), filter by matching
summary; if not found, gradually expand range up to 30 days before/after - Display schedule list with key info: title, time, location, attendees, etc.
Create Schedule
Example queries:
- "Create a meeting tomorrow 2pm to 3pm titled Requirements Review"
- "Arrange a full-day team building on Friday"
- "Create a schedule: day after tomorrow 10am with Zhang San and Li Si for product solution discussion, location 3rd floor meeting room"
- "Create a schedule next Monday 14:00-15:00, remind 15 minutes early"
- "Set up a schedule tomorrow morning, invite Wang Wei"
Flow:
- Parse user intent, extract time, title, location, attendees, reminder settings, etc.
- If attendees are involved, first query userids via wecomcli-contact; if duplicate names, show candidates for user selection
- If user does not specify reminder, default to 15 minutes before (
remind_before_event_secs: 900) - If user says "full day", set
is_whole_day: 1, time from 00:00:00 to 23:59:59 - Confirm schedule info (title, time, location, attendees, etc.) with user, then call
create_schedule
Update Schedule
Example queries:
- "Change tomorrow's Requirements Review to day after tomorrow 3pm"
- "Update today's afternoon meeting title to Technical Solution Review"
- "Change location of my 2pm schedule today to online Tencent Meeting"
- "Postpone Friday's team building by one hour"
- "Add a description to tomorrow's weekly meeting: discuss Q2 plan"
Flow:
- First locate the target schedule via query workflow (match by time, title keywords, etc.)
- If multiple matches, show candidate list for user confirmation
- Confirm with user the fields to modify and target values
- Call
update_schedule, only pass fields to be modified
Cancel Schedule
Example queries:
- "Cancel tomorrow afternoon's Requirements Review"
- "Delete Friday's team building schedule"
- "I don't want to attend the 3pm meeting today, cancel it"
Flow:
- First locate the target schedule via query workflow
- Confirm cancellation details (title, time, etc.) with user to avoid mistakes
- After confirmation, call
cancel_schedule
Manage Attendees
Example queries:
- "Add Zhang San to tomorrow's Requirements Review meeting"
- "Remove Li Si from Friday's schedule"
- "Invite Wang Wei and Zhao Min to tomorrow afternoon's meeting"
- "Remove Liu Qiang from the attendees of my day after tomorrow's tech sharing"
Flow:
- Obtain target person's userid via wecomcli-contact; if duplicate names, show candidates for user selection
- Locate target schedule via query workflow
- Call
add_schedule_attendeesordel_schedule_attendeesto complete add/remove
Check Availability and Arrange Meeting
Example queries:
- "Check if Zhang San and Li Si are free tomorrow afternoon"
- "Check free time for me and Wang Wei this week, want to schedule a meeting"
- "I want to have a meeting with Xiao Ming and Xiao Hong from product team, see when everyone is free"
- "Find a time slot tomorrow afternoon when everyone is free, arrange a 1-hour meeting"
Flow:
- Obtain userids of relevant people via wecomcli-contact
- Call
check_availabilityto query busy time slots for each user within the specified time range - Analyze busy slots of all users, calculate common free time slots and recommend to user
- After user confirms the time slot, call
create_scheduleto create the meeting and automatically add attendees





