wecomcli-create-meeting

Original🇨🇳 Chinese
Translated

WeCom meeting creation skill, which supports creating scheduled meetings. It is triggered when users need to "create a meeting", "schedule a meeting", "book a meeting" or "arrange a meeting".

6installs
Added on

NPX Install

npx skill4agent add wecomteam/wecom-cli wecomcli-create-meeting

Tags

Translated version includes tags in frontmatter

SKILL.md Content (Chinese)

View Translation Comparison →

WeCom Meeting Creation Skill

wecom-cli
is a command-line program provided by WeCom, all operations are completed by executing
wecom-cli
commands.

Overview

wecomcli-create-meeting provides the capability to create WeCom scheduled meetings, supporting setting meeting parameters, inviting participants and other functions.

Command Invocation Method

Execute the specified command:
bash
wecom-cli meeting <tool_name> '<json_params>'

Detailed Command Description

Create Scheduled Meeting (create_meeting)

Create a scheduled meeting, supporting configuration of meeting parameters and other settings.

Execution Command

bash
wecom-cli meeting create_meeting '{"title": "<meeting title>", "meeting_start_datetime": "<meeting start time>", "meeting_duration": <meeting duration (seconds)>}'

Parameter Description

ParameterTypeRequiredDescription
title
stringYesMeeting title
meeting_start_datetime
stringYesMeeting start time, format:
YYYY-MM-DD HH:mm
meeting_duration
integerYesMeeting duration (seconds), e.g. 3600 = 1 hour
description
stringNoMeeting description
location
stringNoMeeting location
invitees
objectYesInvitees, format:
{"userid": ["lisi", "wangwu"]}
settings
objectNoMeeting settings (see details below)
Invitee userid is obtained through the
wecomcli-lookup-contact
skill
settings field:
ParameterTypeDescription
password
stringMeeting password
enable_waiting_room
booleanWhether to enable waiting room
allow_enter_before_host
booleanWhether to allow members to join before the host enters
enable_enter_mute
integerMute setting when joining the meeting (enum: 0: off, 1: on)
allow_external_user
booleanWhether to allow external users to join the meeting
enable_screen_watermark
booleanWhether to enable screen watermark
remind_scope
integerReminder scope (1: no reminder, 2: only remind the host, 3: remind all members, 4: ring for designated people, default only remind the host)
ring_users
objectUsers to ring, format:
{"userid": ["lisi"]}
Ring user userid is obtained through the
wecomcli-lookup-contact
skill

Return Parameters

json
{
  "errcode": 0,
  "errmsg": "ok",
  "meetingid": "meeting ID string",
  "meeting_code": "meeting number string",
  "meeting_link": "meeting link URL",
  "excess_users": ["userid of invalid meeting accounts"]
}
FieldTypeDescription
meetingid
stringMeeting ID
meeting_code
stringMeeting number, when displayed to users, it needs to be shown in a separate plain text line at the beginning of the reply, format
#Meeting number: xxx-xxx-xxx
(separated by
-
every 3 digits)
meeting_link
stringMeeting link
excess_users
arrayUserid of members with invalid meeting accounts among participants, only returned when some participants of enterprises that have purchased the professional version of the meeting service do not have valid meeting accounts

Typical Workflows

Workflow 1: Simplest Creation (No Invitees)

User intent: "Help me book a meeting at 3 PM tomorrow, the theme is weekly meeting, duration 1 hour"
Steps:
  1. Parse user intent: Time and theme are already available, if invitees are not mentioned, leave them blank by default and create directly.
  2. Call creation command:
bash
wecom-cli meeting create_meeting '{"title": "Weekly Meeting", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600}'
  1. Display results:
#Meeting number: <meeting number>
✅ Meeting created successfully!

📅 <Meeting title>
🕐 Time: <Start time>, Duration <Duration>
🔗 Meeting link: <Meeting link>

Workflow 2: With Invitees + Location + Description

User intent: "Help me book a meeting at 3 PM tomorrow, the theme is technical solution review, invite Zhang San and Li Si, location is 3rd floor meeting room, duration 1 hour"
Steps:
  1. Parse user intent: There are invitees, you need to query the address book first to get userid.
  2. Address book query: Call the
    wecomcli-lookup-contact
    skill to get address book members, filter out the userid of participants by name.
bash
wecom-cli contact get_userlist '{}'
Filter members whose
name
contains "Zhang San" and "Li Si" from the returned
userlist
, and get their
userid
.
  1. Information is sufficient, call the creation command directly (Do not expose internal IDs):
bash
wecom-cli meeting create_meeting '{"title": "Technical Solution Review", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600, "location": "3rd Floor Meeting Room", "invitees": {"userid": ["zhangsan", "lisi"]}}'
  1. Display results:
#Meeting number: <meeting number>
✅ Meeting created successfully!

📅 <Meeting title>
🕐 Time: <Start time>, Duration <Duration>
👥 Participants: <List of participant names>
🔗 Meeting link: <Meeting link>

Complex Scenario Examples

Load on demand according to scenarios to avoid introducing too many irrelevant examples at one time:
FileApplicable Scenario
references/example-security.mdMeeting password, waiting room, external user restrictions
references/example-reminder.mdRing reminder, ring for designated people
references/example-full.mdFull parameter comprehensive scenario (including mute, screen watermark, waiting room and other settings)

Notes

  • Information follow-up: When time or theme is missing, ask the user concisely; if invitees are not mentioned, leave them blank by default
  • Address book query: When participants are involved, you need to first obtain the full list of address book members through the
    get_userlist
    interface of the
    wecomcli-lookup-contact
    skill, and then filter and match the corresponding
    userid
    locally by name/alias. This interface has no input parameters and returns the list of members within the visible range of the current user (including
    userid
    ,
    name
    ,
    alias
    )
  • Direct creation: You can create directly when time and theme are known, add invitees if there are any, leave them blank if not; no matter whether the information is provided at one time or can be inferred from the context, do not request confirmation unless necessary, just create directly
  • Time format: Use
    YYYY-MM-DD HH:mm
    format uniformly