setup-zoom-webhooks
Reference skill for Zoom webhooks. Use after routing to an event-driven workflow when implementing subscriptions, signature verification, delivery handling, retries, or event-type selection.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o setup-zoom-webhooks.zip https://jpskill.com/download/22723.zip && unzip -o setup-zoom-webhooks.zip && rm setup-zoom-webhooks.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/22723.zip -OutFile "$d\setup-zoom-webhooks.zip"; Expand-Archive "$d\setup-zoom-webhooks.zip" -DestinationPath $d -Force; ri "$d\setup-zoom-webhooks.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
setup-zoom-webhooks.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
setup-zoom-webhooksフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 6
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] setup-zoom-webhooks
/setup-zoom-webhooks
HTTP を介した Zoom イベント配信に関する背景情報です。まずワークフロースキルを優先し、検証、サブスクリプション、および配信の詳細についてはこのファイルを使用してください。
前提条件
- イベントサブスクリプションが有効な Zoom アプリ
- Webhook を受信するための HTTPS エンドポイント
- 検証用の Webhook シークレットトークン
認証でお困りですか? OAuth の設定については、zoom-oauth スキルを参照してください。
クイックスタート
// Express.js webhook handler
const crypto = require('crypto');
// Capture raw body for signature verification (avoid re-serializing JSON).
app.use(require('express').json({
verify: (req, _res, buf) => { req.rawBody = buf; }
}));
app.post('/webhook', (req, res) => {
// Verify webhook signature
const signature = req.headers['x-zm-signature'];
const timestamp = req.headers['x-zm-request-timestamp'];
const body = req.rawBody ? req.rawBody.toString('utf8') : JSON.stringify(req.body);
const payload = `v0:${timestamp}:${body}`;
const hash = crypto.createHmac('sha256', WEBHOOK_SECRET)
.update(payload).digest('hex');
if (signature !== `v0=${hash}`) {
return res.status(401).send('Invalid signature');
}
// Handle event
const { event, payload } = req.body;
console.log(`Received: ${event}`);
res.status(200).send();
});
一般的なイベント
| イベント | 説明 |
|---|---|
meeting.started |
ミーティングが開始されました |
meeting.ended |
ミーティングが終了しました |
meeting.participant_joined |
参加者がミーティングに参加しました |
recording.completed |
クラウドレコーディングの準備ができました |
user.created |
新しいユーザーが追加されました |
詳細なリファレンス
- references/events.md - 完全なイベントタイプのリファレンス
- references/verification.md - Webhook URL の検証
- references/subscriptions.md - イベントサブスクリプション API
トラブルシューティング
- RUNBOOK.md - 詳細なデバッグの前に実行する 5 分間の事前チェック
- troubleshooting/common-issues.md - 署名検証、リトライ、URL 検証
サンプルリポジトリ
公式 (Zoom 提供)
| タイプ | リポジトリ | スター数 |
|---|---|---|
| Node.js | webhook-sample | 34 |
| PostgreSQL | webhook-to-postgres | 5 |
| Go/Fiber | Go-Webhooks | - |
| Header Auth | zoom-webhook-verification-headers | - |
コミュニティ
| 言語 | リポジトリ | 説明 |
|---|---|---|
| Laravel | binary-cats/laravel-webhooks | Laravel Webhook ハンドラー |
| AWS Lambda | splunk/zoom-webhook-to-hec | サーバーレスから Splunk HEC へ |
| Node.js | Will4950/zoom-webhook-listener | Webhook フォワーダー |
| Express+Redis | ojusave/eventSubscriptionPlayground | Socket.io + Redis |
多言語サンプル (tanchunsiong 提供)
全リスト: general/references/community-repos.md を参照してください。
リソース
- Webhook ドキュメント: https://developers.zoom.us/docs/api/webhooks/
- イベントリファレンス: https://developers.zoom.us/docs/api/rest/reference/zoom-api/events/
- 開発者フォーラム: https://devforum.zoom.us/
環境変数
- 標準化された
.envキーと各値の検索場所については、references/environment-variables.md を参照してください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
/setup-zoom-webhooks
Background reference for Zoom event delivery over HTTP. Prefer workflow skills first, then use this file for verification, subscription, and delivery details.
Prerequisites
- Zoom app with Event Subscriptions enabled
- HTTPS endpoint to receive webhooks
- Webhook secret token for verification
Need help with authentication? See the zoom-oauth skill for OAuth setup.
Quick Start
// Express.js webhook handler
const crypto = require('crypto');
// Capture raw body for signature verification (avoid re-serializing JSON).
app.use(require('express').json({
verify: (req, _res, buf) => { req.rawBody = buf; }
}));
app.post('/webhook', (req, res) => {
// Verify webhook signature
const signature = req.headers['x-zm-signature'];
const timestamp = req.headers['x-zm-request-timestamp'];
const body = req.rawBody ? req.rawBody.toString('utf8') : JSON.stringify(req.body);
const payload = `v0:${timestamp}:${body}`;
const hash = crypto.createHmac('sha256', WEBHOOK_SECRET)
.update(payload).digest('hex');
if (signature !== `v0=${hash}`) {
return res.status(401).send('Invalid signature');
}
// Handle event
const { event, payload } = req.body;
console.log(`Received: ${event}`);
res.status(200).send();
});
Common Events
| Event | Description |
|---|---|
meeting.started |
Meeting has started |
meeting.ended |
Meeting has ended |
meeting.participant_joined |
Participant joined meeting |
recording.completed |
Cloud recording ready |
user.created |
New user added |
Detailed References
- references/events.md - Complete event types reference
- references/verification.md - Webhook URL validation
- references/subscriptions.md - Event subscriptions API
Troubleshooting
- RUNBOOK.md - 5-minute preflight checks before deep debugging
- troubleshooting/common-issues.md - Signature verification, retries, URL validation
Sample Repositories
Official (by Zoom)
| Type | Repository | Stars |
|---|---|---|
| Node.js | webhook-sample | 34 |
| PostgreSQL | webhook-to-postgres | 5 |
| Go/Fiber | Go-Webhooks | - |
| Header Auth | zoom-webhook-verification-headers | - |
Community
| Language | Repository | Description |
|---|---|---|
| Laravel | binary-cats/laravel-webhooks | Laravel webhook handler |
| AWS Lambda | splunk/zoom-webhook-to-hec | Serverless to Splunk HEC |
| Node.js | Will4950/zoom-webhook-listener | Webhook forwarder |
| Express+Redis | ojusave/eventSubscriptionPlayground | Socket.io + Redis |
Multi-Language Samples (by tanchunsiong)
Full list: See general/references/community-repos.md
Resources
- Webhook docs: https://developers.zoom.us/docs/api/webhooks/
- Event reference: https://developers.zoom.us/docs/api/rest/reference/zoom-api/events/
- Developer forum: https://devforum.zoom.us/
Environment Variables
- See references/environment-variables.md for standardized
.envkeys and where to find each value.
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (5,122 bytes)
- 📎 references/environment-variables.md (642 bytes)
- 📎 references/events.md (1,974 bytes)
- 📎 references/signature-verification.md (161 bytes)
- 📎 references/subscriptions.md (7,409 bytes)
- 📎 references/verification.md (2,202 bytes)