wecomcli-meeting
wecomteam/wecom-cli
Create, manage, and query WeCom enterprise meetings with full control over participants and settings.
What is wecomcli-meeting?
WeCom Meeting skill provides complete meeting management for enterprise WeChat, including creating scheduled meetings, querying meeting lists, retrieving meeting details, canceling meetings, and updating meeting participants. Use this when users need to create, schedule, view, or modify meetings.
- Create scheduled meetings with customizable title, time, duration, location, and description
- Query meeting lists by date range (limited to current day ±30 days, max 100 results)
- Retrieve complete meeting details including status, attendees, and meeting link
- Cancel scheduled meetings
- Update meeting participant lists (full replacement)
How to install wecomcli-meeting
npx skills add https://github.com/wecomteam/wecom-cli --skill wecomcli-meeting- wecom-cli command-line tool installed
- Access to WeCom enterprise account with meeting permissions
- User IDs of meeting participants (obtainable via wecomcli-contact skill)
How to use wecomcli-meeting
- 1.Install the skill using the provided npm command
- 2.Use create_meeting to schedule new meetings with title, start time, and duration
- 3.Query list_user_meetings to find meetings within a date range
- 4.Call get_meeting_info with a meeting ID to view full details
- 5.Use set_invite_meeting_members to update participant lists
- 6.Call cancel_meeting to remove scheduled meetings
Use cases
- Schedule a team meeting for tomorrow afternoon with specific attendees and location
- Check all meetings for the current week or month
- Get full details of a specific meeting including attendee status
- Add or remove participants from an existing meeting
- Cancel a meeting and notify all invitees
- Enterprise WeChat users managing team meetings
- Team leads and managers scheduling group meetings
- Administrative staff handling meeting coordination
wecomcli-meeting FAQ
Use the wecomcli-contact skill to query the enterprise directory and retrieve user IDs by employee name.
Meeting queries are limited to the current day plus or minus 30 days, with a maximum of 100 results per query.
Use set_invite_meeting_members with the meeting ID and new participant list. Note that this fully replaces the existing participant list.
You can set password, waiting room, mute on entry, external user access, screen watermark, reminder scope, and specify which users receive call notifications.
The meeting code is displayed as three groups of digits separated by hyphens, e.g., 123-456-789, and should be shown at the start of meeting creation responses.
Full instructions (SKILL.md)
Source of truth, from wecomteam/wecom-cli.
name: wecomcli-meeting description: 企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要"创建会议"、"预约会议"、"约会议"、"安排会议"、"查看会议"、"查询会议列表"、"会议详情"、"什么时候开会"、"有哪些会议"、"查找会议"、"取消会议"、"删除会议"、"修改会议成员"、"添加会议参与人"、"移除会议成员"时触发。 metadata: requires: bins: ["wecom-cli"] cliHelp: "wecom-cli meeting --help"
企业微信会议技能
wecom-cli是企业微信提供的命令行程序,所有操作通过执行wecom-cli命令完成。
概述
wecomcli-meeting 提供企业微信会议的完整管理能力,包含以下功能:
- 创建预约会议 - 创建会议,支持设置会议参数,邀请参与人等
- 查询会议列表 - 按用户和时间范围查询会议 ID 列表 (限制: 当日及前后 30 天,上限 100 个)
- 获取会议详情 - 通过会议 ID 查询完整会议信息
- 取消会议 - 取消指定的预约会议
- 更新会议受邀成员 - 修改会议的参与人列表
命令调用方式
执行指定命令:
wecom-cli meeting <tool_name> '<json_params>'
命令详细说明
1. 创建预约会议 (create_meeting)
创建一个预约会议,支持设置会议参数配置等。
执行命令
wecom-cli meeting create_meeting '{"title": "<会议标题>", "meeting_start_datetime": "<会议开始时间>", "meeting_duration": <会议持续时长(秒)>}'
入参说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
title | string | 是 | 会议标题 |
meeting_start_datetime | string | 是 | 会议开始时间,格式:YYYY-MM-DD HH:mm |
meeting_duration | integer | 是 | 会议持续时长 (秒),例如 3600 = 1 小时 |
description | string | 否 | 会议描述 |
location | string | 否 | 会议地点 |
invitees | object | 否 | 被邀请人,格式:{"userid": ["lisi", "wangwu"]} |
settings | object | 否 | 会议设置 (详见下方) |
被邀请人 userid 通过
wecomcli-contact技能获取
settings 字段:
| 参数 | 类型 | 说明 |
|---|---|---|
password | string | 会议密码 |
enable_waiting_room | boolean | 是否启用等候室 |
allow_enter_before_host | boolean | 是否允许成员在主持人进入前加入 |
enable_enter_mute | integer | 入会时静音设置 (枚举: 0: 关闭,1: 开启) |
allow_external_user | boolean | 是否允许外部用户入会 |
enable_screen_watermark | boolean | 是否开启屏幕水印 |
remind_scope | integer | 提醒范围 (1: 不提醒,2: 仅提醒主持人,3: 提醒所有成员,4: 指定部分人响铃,默认仅提醒主持人) |
ring_users | object | 响铃用户,格式:{"userid": ["lisi"]} |
响铃用户 userid 通过
wecomcli-contact技能获取
返回参数
{
"errcode": 0,
"errmsg": "ok",
"meetingid": "会议ID字符串",
"meeting_code": "会议号码字符串",
"meeting_link": "会议链接URL",
"excess_users": ["无效会议账号的userid"]
}
| 字段 | 类型 | 说明 |
|---|---|---|
meetingid | string | 会议 ID |
meeting_code | string | 会议号码,向用户展示时需在回复开头单独一行纯文字展示,格式 #会议号: xxx-xxx-xxx (每3位用 - 分隔) |
meeting_link | string | 会议链接 |
excess_users | array | 参会人中包含无效会议账号的 userid,仅在购买会议专业版企业由于部分参会人无有效会议账号时返回 |
2. 查询会议列表 (list_user_meetings)
查询指定用户在时间范围内的会议 ID 列表。
执行命令
wecom-cli meeting list_user_meetings '{"begin_datetime": "2026-03-01 00:00", "end_datetime": "2026-03-31 23:59", "limit": 100}'
入参说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
begin_datetime | string | 否 | 查询起始时间,格式:YYYY-MM-DD HH:mm |
end_datetime | string | 否 | 查询结束时间,格式:YYYY-MM-DD HH:mm |
cursor | string | 否 | 分页游标,用于获取下一页数据 |
limit | integer | 否 | 每页返回条数,最大 100 |
限制: 时间范围仅支持当日及前后 30 天。
返回参数
{
"errcode": 0,
"errmsg": "ok",
"next_cursor": "分页游标字符串,为空表示无更多",
"meetingid_list": ["会议ID_1", "会议ID_2"]
}
| 字段 | 类型 | 说明 |
|---|---|---|
meetingid_list | array | 会议 ID 列表 |
next_cursor | string | 下一页游标,为空表示无更多数据 |
3. 获取会议详情 (get_meeting_info)
通过会议 ID 查询会议的完整详情。
执行命令
wecom-cli meeting get_meeting_info '{"meetingid": "<会议id>"}'
入参说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
meetingid | string | 是 | 会议 ID,通过 list_user_meetings 获取 |
meeting_code | string | 否 | 会议号码 |
sub_meetingid | string | 否 | 子会议 ID |
返回参数
完整的返回参数结构和字段说明详见 references/response-get-meeting-info.md
核心字段速览:
| 字段 | 类型 | 说明 |
|---|---|---|
title | string | 会议标题 |
meeting_start_datetime | string | 会议开始时间 |
meeting_duration | integer | 会议时长 (秒) |
status | integer | 会议状态 (1: 待开始,2: 会议中,3: 已结束,4: 已取消,5: 已过期) |
meeting_type | integer | 会议类型 (0: 一次性,1: 周期性,2: 微信专属,3: Rooms 投屏,5: 个人会议号,6: 网络研讨会) |
meeting_code | string | 会议号码 |
meeting_link | string | 会议链接 |
description | string | 会议描述 |
location | string | 会议地点 |
attendees.member[].status | integer | 与会状态 (1: 已参与,2: 未参与) |
4. 取消会议 (cancel_meeting)
取消指定的预约会议。
执行命令
wecom-cli meeting cancel_meeting '{"meetingid": "<会议id>"}'
入参说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
meetingid | string | 是 | 会议 ID,通过 list_user_meetings + get_meeting_info 获取 |
返回参数
{
"errcode": 0,
"errmsg": "ok"
}
5. 更新会议受邀成员 (set_invite_meeting_members)
更新会议的受邀成员列表(全量覆盖)。
执行命令
wecom-cli meeting set_invite_meeting_members '{"meetingid": "<会议id>", "invitees": [{"userid": "lisi"}, {"userid": "wangwu"}]}'
入参说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
meetingid | string | 是 | 会议 ID,通过 list_user_meetings + get_meeting_info 获取 |
invitees | array | 是 | 受邀成员列表,每项包含 userid 字段 |
注意: invitees 为全量覆盖,传入的列表将替换现有成员列表。 invitees 的 userid 通过
wecomcli-contact技能获取
返回参数
{
"errcode": 0,
"errmsg": "ok"
}
典型工作流
工作流 1: 最简创建 (无邀请人)
用户意图: "帮我约一个明天下午3点的会议,主题是周例会,时长1小时"
步骤:
- 解析用户意图: 时间 + 主题已有,邀请人未提及则默认留空,直接创建。
- 调用创建命令:
wecom-cli meeting create_meeting '{"title": "周例会", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600}'
- 展示结果:
#会议号: <会议号>
✅ 会议创建成功!
📅 <会议标题>
🕐 时间: <开始时间>,时长 <时长>
🔗 会议链接: <会议链接>
工作流 2: 带邀请人 + 地点 + 描述创建
用户意图: "帮我约一个明天下午3点的会议,主题是技术方案评审,邀请张三和李四,地点在3楼会议室,时长1小时"
步骤:
- 解析用户意图: 有邀请人,需先查询通讯录获取 userid。
- 通讯录查询: 调用
wecomcli-contact技能获取通讯录成员,按姓名筛选出参与者的 userid。
wecom-cli contact get_userlist '{}'
在返回的 userlist 中筛选 name 包含 "张三" 和 "李四" 的成员,获取其 userid。
- 信息已充分,直接调用创建命令 (禁止暴露内部 ID):
wecom-cli meeting create_meeting '{"title": "技术方案评审", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600, "location": "3楼会议室", "invitees": {"userid": ["zhangsan", "lisi"]}}'
- 展示结果:
#会议号: <会议号>
✅ 会议创建成功!
📅 <会议标题>
🕐 时间: <开始时间>,时长 <时长>
👥 参与人: <参与者姓名列表>
🔗 会议链接: <会议链接>
工作流 3: 查询会议列表
示例: 用户说 "帮我查一下本周有哪些会议"
步骤:
- 确定时间范围: 根据当前日期计算本周的起止时间。
- 查询会议 ID 列表:
wecom-cli meeting list_user_meetings '{"begin_datetime": "2026-03-16 00:00", "end_datetime": "2026-03-22 23:59", "limit": 100}'
- 逐个查询会议详情 (对返回的每个 meetingid):
wecom-cli meeting get_meeting_info '{"meetingid": "<会议id1>"}'
wecom-cli meeting get_meeting_info '{"meetingid": "<会议id2>"}'
- 汇总展示:
📋 本周会议列表 (共 3 场):
1. 📅 技术方案评审
🕐 2026-03-17 10:00 - 11:00
👥 张三,李四,王五
2. 📅 产品需求沟通
🕐 2026-03-18 14:00 - 15:00
👥 赵六,钱七
3. 📅 周五周会
🕐 2026-03-21 09:00 - 10:00
👥 全组成员
分页处理: 如果
next_cursor不为空,使用cursor参数继续拉取下一页。
工作流 4: 获取会议详情
示例: 用户说 "帮我看下技术方案评审会议的详情"
步骤:
- 定位会议: 先通过会议列表查询找到目标会议的 meetingid (按关键词匹配)。
- 查询详情:
wecom-cli meeting get_meeting_info '{"meetingid": "<target_meetingid>"}'
- 展示结果:
#会议号: <会议号>
📅 <会议标题>
🕐 时间: <开始时间>,时长 <时长>
📍 地点: <会议地点>
📝 描述: <会议描述>
👤 创建者: <创建者姓名>
👥 参与者: <参与者姓名列表>
🔗 会议链接: <会议链接>
工作流 5: 根据关键词查找会议
示例: 用户说 "技术评审会议是什么时候?"
查询策略:
- 确定查询范围: 默认查当日前后 30 天 (接口限制范围)。
- 拉取会议列表:
wecom-cli meeting list_user_meetings '{"begin_datetime": "2026-02-15 00:00", "end_datetime": "2026-04-16 23:59", "limit": 100}'
- 逐个查询详情并匹配标题关键词。
- 找到匹配后停止查询,展示结果:
#会议号: <会议号>
✅ 找到会议: "<会议标题>"
📅 时间: <开始时间>,时长 <时长>
📍 地点: <会议地点>
👥 参与者: <参与者姓名列表>
🔗 会议链接: <会议链接>
- 未找到处理: 告知用户在前后 30 天范围内未找到匹配会议,请确认会议名称。
工作流 6: 取消会议
示例: 用户说 "帮我取消明天的技术方案评审会议"
步骤:
- 定位会议: 通过
list_user_meetings+get_meeting_info查询会议列表 + 关键词匹配找到目标会议。 - 直接执行取消:
wecom-cli meeting cancel_meeting '{"meetingid": "<target_meetingid>"}'
- 展示结果:
✅ 会议已取消: 技术方案评审
工作流 7: 更新会议成员
示例: 用户说 "把王五加到技术方案评审会议里"
步骤:
- 定位会议: 通过
list_user_meetings+get_meeting_info查询会议列表 + 匹配找到目标会议。 - 获取当前受邀成员:
set_invite_meeting_members为全量覆盖,必须先通过get_meeting_info获取会议详情,获取现有成员后再合并。 - 通讯录查询: 调用
wecomcli-contact技能获取通讯录成员,按姓名筛选出王五的 userid。
wecom-cli contact get_userlist '{}'
在返回的 userlist 中筛选 name 包含 "王五" 的成员,获取其 userid。
- 合并成员列表: 将现有成员 + 新增成员合并 (全量覆盖)。
- 执行更新:
wecom-cli meeting set_invite_meeting_members '{"meetingid": "<target_meetingid>", "invitees": [{"userid": "zhangsan"}, {"userid": "lisi"}, {"userid": "wangwu"}]}'
- 展示结果:
✅ 会议成员已更新: 技术方案评审
👥 当前成员: 张三,李四,王五
复杂场景样例
按场景按需加载,避免一次性引入过多无关示例:
| 文件 | 适用场景 |
|---|---|
| references/response-get-meeting-info.md | 获取会议详情完整返回参数结构和字段说明 |
| references/example-security.md | 会议密码,等候室,外部用户限制 |
| references/example-reminder.md | 响铃提醒,指定部分人响铃 |
| references/example-full.md | 全参数综合场景 (含静音,屏幕水印,等候室等设置) |
注意事项
- 信息追问: 缺少时间或主题时,简洁追问用户;未提及邀请人则默认留空
- 通讯录查询: 涉及参与人时,需先通过
wecomcli-contact技能的get_userlist接口获取全量通讯录成员,再按姓名/别名本地筛选匹配出对应的userid。该接口无入参,返回当前用户可见范围内的成员列表 (含userid,name,alias) - 直接创建: 时间 + 主题已知即可直接创建,邀请人有则带上,无则留空;无论信息是一次性提供还是上下文可推断,非必要则均不请求确认,直接创建即可
- 时间格式: 统一使用
YYYY-MM-DD HH:mm格式 - 会议列表时间范围限制: 仅支持查询当日及前后 30 天内的会议
- 查询详情需两步: 先通过
list_user_meetings获取会议 ID 列表,再通过get_meeting_info逐个获取详情 - 定位会议: 取消会议和更新成员等管理操作需先通过查询定位到目标会议的 meetingid
- 成员更新为全量覆盖:
set_invite_meeting_members传入的列表将替换现有成员列表,需先获取当前成员再合并 - 参与人仅支持企业内成员,不支持外部人员
Related skills
More from wecomteam/wecom-cli and the wider catalog.
wecomcli-doc
Create, read, and edit WeChat Work documents, sheets, and smart documents with Markdown support.
wecomcli-msg
Query WeChat Work conversations, retrieve message history with media support, and send text messages.
wecomcli-contact
Query WeChat Work contacts visible to current user with local name/alias filtering.
wecomcli-todo
Manage WeChat Work todo items: query, create, update, delete, and track completion status.
wecomcli-schedule
Manage WeCom enterprise calendar schedules: query, create, modify, and coordinate availability.
wecomcli-smartsheet
企业微信智能表格管理技能。提供智能表格的结构管理(子表、字段)和数据管理(记录增删改查)。适用场景:(1) 管理智能表格子表和字段/列 (2) 查询、添加、更新、删除智能表格记录。支持通过 docid 或文档 URL 定位文档。