zoom-automation について
zoom-automationは、Composioを介してZoomの会議、ウェビナー、録画、参加者、利用レポートを操作するスキルです。Rube MCP経由でZoomを扱うユーザー向けです。
主な機能
- 01会議の予約と更新
- 02会議一覧と詳細の取得
- 03クラウド録画の管理
- 04参加者と利用レポートの確認
- 05ウェビナー一覧と参加登録
活用シーン
- 01会議を予約して参加者を登録
- 02期間を指定して録画を取得
- 03終了した会議の参加者を確認
- 04Zoomの日次利用統計を確認
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 キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを検証します- ツールキット
zoomを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Zoom OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. ミーティングの作成とスケジュール設定
使用する場面:ユーザーが、特定の日時、長さ、設定で新しい Zoom ミーティングを作成したい場合
ツールの順序:
ZOOM_GET_USER- 認証済みユーザーとライセンスの種類を確認します[前提条件]ZOOM_CREATE_A_MEETING- トピック、日時、長さ、設定を指定してミーティングを作成します[必須]ZOOM_GET_A_MEETING-join_urlを含むミーティングの全詳細を取得します[任意]ZOOM_UPDATE_A_MEETING- ミーティングの設定を変更するか、スケジュールを変更します[任意]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 日です)- ミーティングの作成は、1 日あたり 100 リクエストにレート制限されています
- 設定名のネストには二重アンダースコアを使います(例:
settings__host_video)
2. ミーティングの一覧表示と管理
使用する場面:ユーザーが、今後のミーティング、開催中のミーティング、または過去のミーティングを確認したい場合
ツールの順序:
ZOOM_LIST_MEETINGS- 種類(スケジュール済み、開催中、今後、過去)でミーティングを一覧表示します[必須]ZOOM_GET_A_MEETING- 特定のミーティングの詳細情報を取得します[任意]ZOOM_UPDATE_A_MEETING- ミーティングの詳細を変更します[任意]
主なパラメーター:
userId:認証済みユーザーには"me"を使用しますtype:"scheduled"(デフォルト)、"live"、"upcoming"、"upcoming_meetings"、"previous_meetings"page_size:1 ページあたりのレコード数(デフォルトは 30)next_page_token:前回のレスポンスから取得したページネーショントークンfrom/to:日付範囲のフィルター
注意点:
ZOOM_LIST_MEETINGSは即時ミーティングを除外し、期限切れになっていないスケジュール済みミーティングのみを表示します- 過去のミーティングには、
type: "previous_meetings"を使用します - ページネーションでは、完全な結果を取得するため、
next_page_tokenが空になるまで常に次のページを取得します - トークンの有効期限:
next_page_tokenは 15 分後に期限切れになります - ミーティング ID は 10 桁を超える場合があるため、標準の整数ではなく長整数として保存します
3. 録画を管理する
使用する場面:ユーザーがクラウド録画を一覧表示、取得、削除したい場合
ツールの順序:
ZOOM_LIST_ALL_RECORDINGS- 日付範囲を指定して、ユーザーのすべてのクラウド録画を一覧表示します[必須]ZOOM_GET_MEETING_RECORDINGS- 特定のミーティングの録画を取得します[任意]ZOOM_DELETE_MEETING_RECORDINGS- 録画をゴミ箱に移動、または完全に削除します[任意]ZOOM_LIST_ARCHIVED_FILES- アーカイブ済みのミーティング/ウェビナーファイルを一覧表示します[任意]
主なパラメーター:
userId:認証済みユーザーには"me"を使用しますfrom/to:yyyy-mm-dd形式の日付範囲(最大1か月)meetingId:特定の録画を取得するためのミーティングIDまたはUUIDaction:削除時は"trash"(復元可能)または"delete"(完全削除)を指定しますinclude_fields:録画をダウンロードするためのJWTを取得するには"download_access_token"を設定しますtrash:ゴミ箱内の録画を一覧表示するにはtrueを設定します
注意点:
- 日付範囲の上限は1か月です。範囲がこれを超えると、APIが
fromを自動調整します - アカウントでクラウド録画を有効にしている必要があります
/で始まるUUID、または//を含むUUIDは、URLエンコードを二重に行う必要がありますZOOM_DELETE_MEETING_RECORDINGSのデフォルトのアクションは"trash"(復元可能)です。"delete"は完全削除です- パスコードで保護された録画のダウンロードURLには、Authorizationヘッダー内のOAuthトークンが必要です
- Proプラン以上が必要です
4. ミーティングの参加者とレポートを取得する
使用する場面:ユーザーが過去のミーティングの参加者や使用統計を確認したい場合
ツールの順序:
ZOOM_GET_PAST_MEETING_PARTICIPANTS- 終了したミーティングの参加者を一覧表示します[必須]ZOOM_GET_A_MEETING- 今後のミーティングの詳細と登録情報を取得します[任意]ZOOM_GET_DAILY_USAGE_REPORT- 日ごとの使用統計(ミーティング、参加者、分数)を取得します[任意]ZOOM_GET_A_MEETING_SUMMARY- AIが生成したミーティングの要約を取得します[任意]
主なパラメーター:
meetingId:ミーティングID(最新の開催回)またはUUID(特定の開催回)page_size:1ページあたりのレコード数(デフォルトは30)next_page_token:参加者リストが大きい場合のページネーション用トークン
注意点:
ZOOM_GET_PAST_MEETING_PARTICIPANTSは、有料プランで終了したミーティングに対してのみ機能します- 1人だけのミーティング(他の参加者がいない場合)では、結果は空になります
- UUIDのエンコード:
/で始まるUUID、または//を含むUUIDは、二重エンコードする必要があります - 参加者を取りこぼさないよう、
next_page_tokenが空になるまで必ずページネーションを行ってください ZOOM_GET_A_MEETING_SUMMARYには、AI Companionが有効な有料プランが必要です。無料アカウントでは400エラーが発生しますZOOM_GET_DAILY_USAGE_REPORTには厳しいレート制限があります。頻繁な呼び出しは避けてください
5. ウェビナーを管理する
使用する場面:ユーザーがウェビナーを一覧表示したり、ウェビナーの参加者を登録したりしたい場合
ツールの順序:
ZOOM_LIST_WEBINARS- 予定済みまたは今後のウェビナーを一覧表示します[必須]ZOOM_GET_A_WEBINAR- ウェビナーの詳細情報を取得します[任意]ZOOM_ADD_A_WEBINAR_REGISTRANT- ウェビナーに参加者を登録します[任意]
主なパラメーター:
userId:認証済みユーザーには"me"を使用しますtype:"scheduled"(デフォルト)または"upcoming"page_size:1ページあたりのレコード数(デフォルトは30)next_page_token:ページネーション用トークン
注意点:
- ウェビナー機能には、ウェビナーのアドオンが付属するProプラン以上が必要です
- 無料/ベーシックアカウントではウェビナーツールを使用できません
- 有効期限が切れていないウェビナーのみが表示されます
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(timezoneフィールドを指定) - 日付のみのフィールドには
yyyy-mm-dd形式を使用します
既知の注意点
プラン要件
- ほとんどの録画機能と参加者機能には、Pro プラン以上が必要です
- ウェビナー機能には Webinar アドオンが必要です
- AI ミーティング要約には、AI Companion 機能を有効にする必要があります
- アーカイブされたファイルには、Zoom サポートによる「Meeting and Webinar Archiving」の有効化が必要です
レート制限
- ミーティングの作成:1 日あたり 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_MEETING | userId、topic、start_time、type |
| ミーティングの詳細を取得 | ZOOM_GET_A_MEETING | meetingId |
| ミーティングを更新 | ZOOM_UPDATE_A_MEETING | meetingId、更新するフィールド |
| ミーティングを一覧表示 | ZOOM_LIST_MEETINGS | userId、type、page_size |
| ユーザー情報を取得 | ZOOM_GET_USER | userId |
| 録画を一覧表示 | ZOOM_LIST_ALL_RECORDINGS | userId、from、to |
| 録画を取得 | ZOOM_GET_MEETING_RECORDINGS | meetingId |
| 録画を削除 | ZOOM_DELETE_MEETING_RECORDINGS | meetingId、action |
| 過去の参加者 | ZOOM_GET_PAST_MEETING_PARTICIPANTS | meetingId、page_size |
| 日次利用状況レポート | ZOOM_GET_DAILY_USAGE_REPORT | 日付パラメーター |
| ミーティングの要約 | ZOOM_GET_A_MEETING_SUMMARY | meetingId |
| ウェビナーを一覧表示 | ZOOM_LIST_WEBINARS | userId、type |
| ウェビナーを取得 | ZOOM_GET_A_WEBINAR | ウェビナー ID |
| ミーティングに登録 | ZOOM_ADD_A_MEETING_REGISTRANT | meetingId、参加者の詳細 |
| ウェビナーに登録 | ZOOM_ADD_A_WEBINAR_REGISTRANT | ウェビナー ID、参加者の詳細 |
| アーカイブファイルを一覧表示 | ZOOM_LIST_ARCHIVED_FILES | from、to |
Composio 提供