企業微信會議技能,支援建立預約會議、查詢會議列表、取得會議詳情、取消會議、更新會議成員。當使用者需要「建立會議」、「預約會議」、「約會議」、「安排會議」、「檢視會議」、「查詢會議列表」、「會議詳情」、「什麼時候開會」、「有哪些會議」、「尋找會議」、「取消會議」、「刪除會議」、「修改會議成員」、「新增會議與會者」、「移除會議成員」時觸發。
企業微信會議技能
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傳入的列表將替換現有成員列表,需先取得目前成員再合併 - 與會人僅支援企業內成員,不支援外部人員






