wecom-cliis a command-line program provided by WeCom. All operations are completed by executing thewecom-clicommand.
Overview
wecomcli-create-meeting provides the ability to create scheduled WeCom meetings, supporting setting meeting parameters, inviting participants, etc.
Command invocation method
Execute the specified command:
wecom-cli meeting <tool_name> '<json_params>'
Detailed command description
Create scheduled meeting (create_meeting)
Create a scheduled meeting, supporting setting meeting parameter configurations, etc.
Execute command
wecom-cli meeting create_meeting '{"title": "<会议标题>", "meeting_start_datetime": "<会议开始时间>", "meeting_duration": <会议持续时长(秒)>}'
Input parameter description
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Meeting title |
meeting_start_datetime |
string | Yes | Meeting start time, format:YYYY-MM-DD HH:mm |
meeting_duration |
integer | Yes | Meeting duration (seconds), e.g. 3600 = 1 hour |
description |
string | No | Meeting description |
location |
string | No | Meeting location |
invitees |
object | Yes | Invitees, format:{"userid": ["lisi", "wangwu"]} |
settings |
object | No | Meeting settings (see below) |
Invitee userid is obtained through the
wecomcli-lookup-contactskill
settings field:
| Parameter | Type | Description |
|---|---|---|
password |
string | Meeting password |
enable_waiting_room |
boolean | Whether to enable the waiting room |
allow_enter_before_host |
boolean | Whether to allow members to join before the host enters |
enable_enter_mute |
integer | Mute setting when joining (enum: 0: off, 1: on) |
allow_external_user |
boolean | Whether to allow external users to join |
enable_screen_watermark |
boolean | Whether to enable screen watermark |
remind_scope |
integer | Reminder scope (1: no reminder, 2: remind host only, 3: remind all members, 4: ring specified individuals; default is remind host only) |
ring_users |
object | Ring users, format:{"userid": ["lisi"]} |
Ring user userid is obtained through the
wecomcli-lookup-contactskill
Return parameters
{
"errcode": 0,
"errmsg": "ok",
"meetingid": "会议ID字符串",
"meeting_code": "会议号码字符串",
"meeting_link": "会议链接URL",
"excess_users": ["无效会议账号的userid"]
}
| Field | Type | Description |
|---|---|---|
meetingid |
string | Meeting ID |
meeting_code |
string | Meeting number; when displaying to the user, it must be shown in the replyat the beginningon a separate line as plain text, format #会议号: xxx-xxx-xxx (separate every 3 digits with - ) |
meeting_link |
string | Meeting link |
excess_users |
array | Participants include userids of invalid meeting accounts; returned only for enterprises that have purchased the Meeting Professional Edition when some participants do not have valid meeting accounts |
Typical workflows
Workflow 1: Minimal creation (no invitees)
User intent: "Help me schedule a meeting for 3 PM tomorrow afternoon, the topic is the weekly meeting, duration 1 hour"
Steps:
- Parse user intent: time + topic are available, invitees are not mentioned so leave blank by default, create directly.
- Call the creation command:
wecom-cli meeting create_meeting '{"title": "周例会", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600}'
- Display result:
#Meeting No.: <meeting number>
✅ 会议创建成功!
📅 <会议标题>
🕐 时间: <开始时间>, 时长 <时长>
🔗 会议链接: <会议链接>
Workflow 2: With invitees + location + description
User intent: "Help me schedule a meeting for tomorrow at 3 PM, the topic is technical solution review, invite Zhang San and Li Si, the location is the 3rd floor meeting room, duration 1 hour"
Steps:
- Parse user intent: There are invitees, so you need to first query the contacts to get the userid.
- Contacts query: Call the
wecomcli-lookup-contactskill to get contacts members, and filter out the participants' userids by name.
wecom-cli contact get_userlist '{}'
In the returned userlist filter members whose name contains "Zhang San" and "Li Si", and get their userid.
- The information is sufficient, directly call the create command (exposing internal IDs is prohibited):
wecom-cli meeting create_meeting '{"title": "技术方案评审", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600, "location": "3楼会议室", "invitees": {"userid": ["zhangsan", "lisi"]}}'
- Display the result:
#Meeting number: <meeting number>
✅ 会议创建成功!
📅 <会议标题>
🕐 时间: <开始时间>, 时长 <时长>
👥 参与人: <参与者姓名列表>
🔗 会议链接: <会议链接>
Complex scenario examples
Load on demand by scenario, to avoid introducing too many irrelevant examples at once:
| File | Applicable scenario |
|---|---|
| references/example-security.md | Meeting password, waiting room, external user restrictions |
| references/example-reminder.md | Ring reminder, specify certain people to ring |
| references/example-full.md | Comprehensive scenario with all parameters (including mute, screen watermark, waiting room, and other settings) |
Notes
- Information follow-up: When the time or topic is missing, ask the user concisely; if no invitees are mentioned, leave it blank by default
- Contacts query: When participants are involved, you need to first use the
wecomcli-lookup-contactskill'sget_userlistinterface to get all contacts members, then locally filter and match the correspondinguseridby name/alias. This interface has no input parameters, and returns the list of members within the current user's visible scope (includinguserid,name,alias) - Direct creation: You can create directly once the time + topic are known; include invitees if there are any, otherwise leave blank; whether the information is provided all at once or inferable from context, do not request confirmation unless necessary, just create directly
- Time format: Uniformly use the
YYYY-MM-DD HH:mmformat