claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルKnowledge Work

🪝setup-zoom-webhooks

プラグイン
Zoom

説明

Zoomウェブフックのリファレンススキル。サブスクリプション、署名検証、デリバリーハンドリング、リトライ、またはイベントタイプ選択を実装する際に、イベント駆動型ワークフローへのルーティング後に使用します。

原文を表示

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.

ユースケース

  • Zoomウェブフックのサブスクリプションを実装するとき
  • 署名検証を実装するとき
  • デリバリーハンドリングを実装するとき
  • リトライ処理を実装するとき
  • イベントタイプ選択を実装するとき

本文

/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

Troubleshooting

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)

Language Repository
Node.js Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-NodeJS
C# Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-ASP.NET-Core-C-
Java Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-Java-Spring-Boot
Python Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-Python
PHP Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-PHP

Full list: See general/references/community-repos.md

Resources

Environment Variables

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。