mcpField
Z
zoom-automation

zoom-automation

github.com/davepoon生产力3.7k123 次安装今天更新
代码仓库

关于 zoom-automation

zoom-automation 是通过 Composio 自动处理 Zoom 会议、网络研讨会、录制内容、参会者和使用报告的技能,面向通过 Rube MCP 操作 Zoom 的用户。

主要功能

  1. 01安排和更新会议
  2. 02列出会议并获取详情
  3. 03管理云录制内容
  4. 04查看参会者和使用报告
  5. 05列出网络研讨会并登记参与者

适用场景

  1. 01安排会议并登记参会者
  2. 02按日期范围检索录制内容
  3. 03查看已结束会议的参会情况
  4. 04检查每日 Zoom 使用统计

MCP 相关

通过 Rube MCP 访问 Composio 的 Zoom 工具包。运行工作流前需连接 Rube MCP 并完成 Zoom 账户认证。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davepoon/buildwithclaude --skill zoom-automation

安装后在 Claude Code 中输入/zoom-automation确认已加载。

详细介绍

通过 Rube MCP 实现 Zoom 自动化

通过 Composio 的 Zoom 工具包自动执行 Zoom 操作,包括安排会议、管理网络研讨会、检索云录制内容、跟踪参会者和生成使用情况报告。

工具包文档:composio.dev/toolkits/zoom

前提条件

  • 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
  • 通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Zoom 连接,并指定工具包 zoom
  • 始终先调用 RUBE_SEARCH_TOOLS,获取最新工具架构
  • 大多数功能要求 Zoom 账户为付费账户(Pro 计划或更高版本)

设置

获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥——只需添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 能正常响应,以验证 Rube MCP 已可用
  2. 使用工具包 zoom 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请按照返回的授权链接完成 Zoom OAuth
  4. 运行任何工作流之前,确认连接状态显示为 ACTIVE

核心工作流

1. 创建并安排会议

适用场景:用户想创建 Zoom 会议,并指定时间、时长和设置

工具调用顺序:

  1. ZOOM_GET_USER - 验证已认证用户并检查许可证类型 [前置条件]
  2. ZOOM_CREATE_A_MEETING - 创建会议,设置主题、时间、时长和选项 [必需]
  3. ZOOM_GET_A_MEETING - 获取完整会议详情,包括 join_url [可选]
  4. ZOOM_UPDATE_A_MEETING - 修改会议设置或重新安排时间 [可选]
  5. ZOOM_ADD_A_MEETING_REGISTRANT - 为启用了注册的会议登记参会者 [可选]

关键参数:

  • userId:用户级应用始终使用 "me"
  • topic:会议主题
  • type:1(即时会议)、2(已安排会议)、3(无固定时间的周期性会议)、8(固定时间的周期性会议)
  • start_time:ISO 8601 格式(UTC 时间使用 yyyy-MM-ddTHH:mm:ssZ,或搭配时区字段使用 yyyy-MM-ddTHH:mm:ss)
  • timezone:时区 ID(例如 "America/New_York")
  • duration:时长,单位为分钟
  • settings__auto_recording:"none"、"local" 或 "cloud"
  • settings__waiting_room:布尔值,用于启用等候室
  • settings__join_before_host:布尔值(启用等候室时不可用)
  • settings__meeting_invitees:受邀者对象数组,包含电子邮件地址

注意事项:

  • start_time 必须是将来的时间;无论输入时区如何,Zoom 都会以 UTC 存储并返回时间
  • 如果 type 为 2 且未设置 start_time,会议将变为即时会议,并在 30 天后过期
  • 参会者使用的 join_url 和主持人使用的 start_url 会在创建响应中返回——请妥善保存
  • start_url 会在 2 小时后过期(custCreate 用户为 90 天)
  • 创建会议的请求频率限制为每天 100 次
  • 设置项名称使用双下划线表示嵌套(例如 settings__host_video)
2. 列出和管理会议

适用场景:用户想查看即将开始、正在进行或已结束的会议

工具调用顺序:

  1. ZOOM_LIST_MEETINGS - 按类型列出会议(已安排、正在进行、即将开始、已结束)[必需]
  2. ZOOM_GET_A_MEETING - 获取特定会议的详细信息 [可选]
  3. ZOOM_UPDATE_A_MEETING - 修改会议详情 [可选]

关键参数:

  • userId:已认证用户使用 "me"
  • type:"scheduled"(默认)、"live"、"upcoming"、"upcoming_meetings"、"previous_meetings"
  • page_size:每页记录数(默认值为 30)
  • next_page_token:上一条响应中的分页令牌
  • from / to:日期范围筛选条件

注意事项:

  • ZOOM_LIST_MEETINGS 不包含即时会议,只显示尚未过期的已安排会议
  • 要查看已结束的会议,请使用 type: "previous_meetings"
  • 分页:始终继续使用 next_page_token 获取后续结果,直到令牌为空,以确保获取完整结果
  • 令牌过期:next_page_token 会在 15 分钟后过期
  • 会议 ID 可能超过 10 位数字;请以长整数而非标准整数存储
3. 管理录制内容

适用场景:用户想要列出、获取或删除云录制内容

工具调用顺序:

  1. ZOOM_LIST_ALL_RECORDINGS - 列出用户在指定日期范围内的所有云录制内容[必需]
  2. ZOOM_GET_MEETING_RECORDINGS - 获取特定会议的录制内容[可选]
  3. ZOOM_DELETE_MEETING_RECORDINGS - 将录制内容移至回收站或永久删除[可选]
  4. ZOOM_LIST_ARCHIVED_FILES - 列出已归档的会议/网络研讨会文件[可选]

关键参数:

  • userId:经过身份验证的用户使用 "me"
  • from / to:采用 yyyy-mm-dd 格式的日期范围(最长 1 个月)
  • meetingId:用于获取特定录制内容的会议 ID 或 UUID
  • action:删除时使用 "trash"(可恢复)或 "delete"(永久删除)
  • include_fields:设置为 "download_access_token" 以获取用于下载录制内容的 JWT
  • trash:设置为 true 可列出回收站中的录制内容

注意事项:

  • 日期范围最长为 1 个月;如果范围超出限制,API 会自动调整 from
  • 账户必须启用云录制
  • 以 / 开头或包含 // 的 UUID 必须进行双重 URL 编码
  • ZOOM_DELETE_MEETING_RECORDINGS 默认使用 "trash" 操作(可恢复);"delete" 会永久删除
  • 对于受密码保护的录制内容,下载 URL 需要在 Authorization 标头中提供 OAuth 令牌
  • 需要 Pro 套餐或更高级别的套餐
4. 获取会议参与者和报告

适用场景:用户想要查看谁参加了过去的会议,或获取使用统计数据

工具调用顺序:

  1. ZOOM_GET_PAST_MEETING_PARTICIPANTS - 列出已结束会议的参会者[必需]
  2. ZOOM_GET_A_MEETING - 获取即将举行的会议详情和注册信息[可选]
  3. ZOOM_GET_DAILY_USAGE_REPORT - 获取每日使用统计数据(会议、参与者、分钟数)[可选]
  4. ZOOM_GET_A_MEETING_SUMMARY - 获取 AI 生成的会议摘要[可选]

关键参数:

  • meetingId:会议 ID(最近一次会议)或 UUID(特定场次)
  • page_size:每页记录数(默认值为 30)
  • next_page_token:参与者列表较大时使用的分页令牌

注意事项:

  • ZOOM_GET_PAST_MEETING_PARTICIPANTS 仅适用于付费套餐中的已结束会议
  • 单人会议(没有其他参与者)会返回空结果
  • UUID 编码:以 / 开头或包含 // 的 UUID 必须进行双重编码
  • 始终使用 next_page_token 分页,直到其为空,以免遗漏参会者
  • ZOOM_GET_A_MEETING_SUMMARY 需要启用 AI Companion 的付费套餐;免费账户会收到 400 错误
  • ZOOM_GET_DAILY_USAGE_REPORT 的速率限制较严格;请避免频繁调用
5. 管理网络研讨会

适用场景:用户想要列出网络研讨会,或为网络研讨会注册参与者

工具调用顺序:

  1. ZOOM_LIST_WEBINARS - 列出已安排或即将举行的网络研讨会[必需]
  2. ZOOM_GET_A_WEBINAR - 获取网络研讨会的详细信息[可选]
  3. ZOOM_ADD_A_WEBINAR_REGISTRANT - 为网络研讨会注册参与者[可选]

关键参数:

  • userId:经过身份验证的用户使用 "me"
  • type:"scheduled"(默认值)或 "upcoming"
  • page_size:每页记录数(默认值为 30)
  • next_page_token:分页令牌

注意事项:

  • 网络研讨会功能需要 Pro 套餐或更高级别的套餐,并添加 Webinar 附加组件
  • 免费/基础账户无法使用网络研讨会工具
  • 只会显示尚未过期的网络研讨会
  • 必须为网络研讨会启用注册,ZOOM_ADD_A_WEBINAR_REGISTRANT 才能正常工作

常见模式

ID 解析
  • 用户 ID:对于用户级应用,始终使用 "me" 指代经过身份验证的用户
  • 会议 ID:数字 ID(以长整型存储);用于最近一次会议
  • 会议 UUID:用于指定周期性会议的特定场次;如果以 / 开头或包含 //,则进行双重编码
  • 场次 ID:与周期性会议搭配使用,以指定特定场次
分页

大多数 Zoom 列表端点使用基于令牌的分页:

  • 持续使用 next_page_token,直到其为空或缺失
  • 令牌会在 15 分钟后过期
  • 显式设置 page_size(默认值为 30,因端点而异)
  • 不要使用 page_number(许多端点已弃用此参数)
时间处理
  • Zoom 在内部以 UTC 存储所有时间
  • 输入本地时间时,在 start_time 旁提供 timezone 字段
  • 使用 ISO 8601 格式:yyyy-MM-ddTHH:mm:ssZ(UTC)或 yyyy-MM-ddTHH:mm:ss(搭配时区字段)
  • 仅包含日期的字段使用 yyyy-mm-dd 格式

已知注意事项

方案要求
  • 大多数录制和参会者功能需要 Pro 方案或更高版本
  • Webinar 功能需要 Webinar 附加组件
  • AI 会议摘要需要启用 AI Companion 功能
  • 归档文件需要 Zoom Support 启用 "Meeting and Webinar Archiving"
速率限制
  • 创建会议:每天 100 个请求,每个会议在 24 小时内可更新 100 次
  • ZOOM_GET_PAST_MEETING_PARTICIPANTS:中等限流;批量处理时请添加延迟
  • ZOOM_GET_DAILY_USAGE_REPORT:严格的速率限制
  • ZOOM_GET_A_MEETING、ZOOM_GET_MEETING_RECORDINGS:轻度速率限制
  • ZOOM_LIST_MEETINGS、ZOOM_LIST_ALL_RECORDINGS:中度速率限制
参数注意事项
  • 嵌套设置使用双下划线表示法(例如,settings__waiting_room)
  • start_url 会在 2 小时后过期;如有需要,请通过 API 续期
  • 当 waiting_room 为 true 时,join_before_host 会自动禁用
  • 周期性会议字段(recurrence__*)仅适用于类型 3 和 8
  • password 字段最多 10 个字符,且仅允许字母数字字符以及 @、-、_、*

快速参考

任务工具标识关键参数
创建会议ZOOM_CREATE_A_MEETINGuserId、topic、start_time、type
获取会议详情ZOOM_GET_A_MEETINGmeetingId
更新会议ZOOM_UPDATE_A_MEETINGmeetingId、要更新的字段
列出会议ZOOM_LIST_MEETINGSuserId、type、page_size
获取用户信息ZOOM_GET_USERuserId
列出录制内容ZOOM_LIST_ALL_RECORDINGSuserId、from、to
获取录制内容ZOOM_GET_MEETING_RECORDINGSmeetingId
删除录制内容ZOOM_DELETE_MEETING_RECORDINGSmeetingId、action
过往参会者ZOOM_GET_PAST_MEETING_PARTICIPANTSmeetingId、page_size
每日使用情况报告ZOOM_GET_DAILY_USAGE_REPORT日期参数
会议摘要ZOOM_GET_A_MEETING_SUMMARYmeetingId
列出网络研讨会ZOOM_LIST_WEBINARSuserId、type
获取网络研讨会ZOOM_GET_A_WEBINAR网络研讨会 ID
注册会议ZOOM_ADD_A_MEETING_REGISTRANTmeetingId、参会者详情
注册网络研讨会ZOOM_ADD_A_WEBINAR_REGISTRANT网络研讨会 ID、参会者详情
列出归档文件ZOOM_LIST_ARCHIVED_FILESfrom、to

由 Composio 提供

评论

支持 Markdown