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
Added on

NPX Install

npx skill4agent add wecomteam/wecom-cli wecomcli-manage-schedule

Tags

Translated version includes tags in frontmatter

SKILL.md Content (Chinese)

View Translation Comparison →

WeCom Schedule Management Skill

wecom-cli
is the command line program provided by WeCom, all operations are completed by executing the
wecom-cli
command.
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
    YYYY-MM-DD
    or
    YYYY-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
    errcode != 0
    , display the error message; the returned
    start_time
    /
    end_time
    are Unix timestamps (in seconds), which need to be converted to a human-readable format
  • Pay attention to time format conversion: The interface input parameters use string format (such as
    YYYY-MM-DD HH:MM:SS
    ), but most return values are Unix timestamps, which require format conversion when used

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
schedule_id_list
array. Only supports 30 days before and after the current day.

get_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:
  1. 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)
  2. Call
    get_schedule_list_by_range
    to get the schedule ID list
  3. Call
    get_schedule_detail
    to get details in batches, convert Unix timestamps to readable time
  4. If the user mentions keywords (such as "project review"), match and filter in
    summary
    ; if no results are found, gradually expand the range to the upper limit of 30 days before and after
  5. 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:
  1. Analyze user intent, extract information such as time, title, location, participants, reminder settings, etc.
  2. If participants are involved, first query userid via wecomcli-lookup-contact; if there are duplicate names, show candidates for users to choose
  3. If the user does not specify a reminder, set a default 15-minute advance reminder (
    remind_before_event_secs: 900
    )
  4. If the user says "full day", set
    is_whole_day: 1
    , and set the time from 00:00:00 to 23:59:59 of that day
  5. 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:
  1. First locate the target schedule through the query workflow (match according to keywords such as time and title mentioned by the user)
  2. If multiple schedules are matched, show the candidate list for the user to confirm
  3. Confirm the fields to be modified and target values with the user
  4. Call
    update_schedule
    , only pass in the fields that need to be modified

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:
  1. First locate the target schedule through the query workflow
  2. Confirm the schedule information to be canceled (title, time, etc.) with the user to avoid misoperation
  3. Call
    cancel_schedule
    after confirmation

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:
  1. Obtain the userid of the target person via wecomcli-lookup-contact; if there are duplicate names, show candidates for users to choose
  2. Locate the target schedule through the query workflow
  3. Call
    add_schedule_attendees
    or
    del_schedule_attendees
    to complete addition/removal

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:
  1. Obtain the userid of relevant personnel via wecomcli-lookup-contact
  2. Call
    check_availablity
    to query the busy time slots of each user within the specified time range
  3. Analyze the busy time slots of all users, calculate common free time slots and recommend them to users
  4. After the user confirms the time slot, call
    create_schedule
    to create the meeting and add participants automatically