wecomcli-schedule

wecomcli-schedule

Popular

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.

2.4Kstars
166forks
Updated 7/2/2026
SKILL.md
readonlyread-only
name
wecomcli-schedule
description

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-cli is the command-line program provided by WeCom. All operations are performed by executing wecom-cli commands.

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-DD or YYYY-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; returned start_time/end_time are 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:

  1. Calculate time range based on user intent (e.g., "today" → 00:00:00 to 23:59:59, "this week" → Monday to Sunday)
  2. Call get_schedule_list_by_range to get schedule ID list
  3. Call get_schedule_detail to batch get details, convert Unix timestamps to readable time
  4. If user mentions keywords (e.g., "project review"), filter by matching summary; if not found, gradually expand range up to 30 days before/after
  5. 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:

  1. Parse user intent, extract time, title, location, attendees, reminder settings, etc.
  2. If attendees are involved, first query userids via wecomcli-contact; if duplicate names, show candidates for user selection
  3. If user does not specify reminder, default to 15 minutes before (remind_before_event_secs: 900)
  4. If user says "full day", set is_whole_day: 1, time from 00:00:00 to 23:59:59
  5. 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:

  1. First locate the target schedule via query workflow (match by time, title keywords, etc.)
  2. If multiple matches, show candidate list for user confirmation
  3. Confirm with user the fields to modify and target values
  4. 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:

  1. First locate the target schedule via query workflow
  2. Confirm cancellation details (title, time, etc.) with user to avoid mistakes
  3. 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:

  1. Obtain target person's userid via wecomcli-contact; if duplicate names, show candidates for user selection
  2. Locate target schedule via query workflow
  3. Call add_schedule_attendees or del_schedule_attendees to 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:

  1. Obtain userids of relevant people via wecomcli-contact
  2. Call check_availability to query busy time slots for each user within the specified time range
  3. Analyze busy slots of all users, calculate common free time slots and recommend to user
  4. After user confirms the time slot, call create_schedule to create the meeting and automatically add attendees