setup-zoom-webhooks — скилл для Claude Code: установка
Справочник по вебхукам Zoom: подписки, проверка подписей и обработка событий. Нужен при сборке HTTP-интеграции с Zoom.
npx skills add anthropics/knowledge-work-plugins --skill setup-zoom-webhooks -a claude-code
npx skills add anthropics/knowledge-work-plugins --skill webhooks -a claude-codeЧто делает setup-zoom-webhooks
Скилл помогает настроить доставку событий Zoom по HTTP после выбора событийного рабочего процесса. Он охватывает подписки, выбор типов событий, проверку подписи, приём уведомлений и повторные попытки доставки. Среди типичных событий — запуск и завершение встречи, вход участника, готовая облачная запись и создание пользователя.
Внутри есть пример обработчика для Express.js: он сохраняет исходное тело запроса, берёт заголовки x-zm-signature и x-zm-request-timestamp, собирает HMAC SHA-256 и возвращает ошибку при неверной подписи. Также доступны справочники событий, подписок и проверки URL, файл с переменными окружения и материалы по разбору сбоев.
Заранее понадобятся приложение Zoom с включёнными Event Subscriptions, HTTPS-адрес для вебхуков и webhook secret token. Это повод проверить сохранение исходного тела запроса: повторная сериализация JSON может сломать проверку подписи.
Какие задачи решает
- проверить подпись входящего вебхука Zoom
- выбрать события для подписки приложения
- принять событие и вернуть HTTP-ответ
- обработать повторные доставки уведомлений
- разобраться с проверкой URL вебхука
Примеры запросов агенту
- Настрой обработчик вебхуков Zoom в `Express.js` с проверкой `x-zm-signature` и `x-zm-request-timestamp`.
- Подскажи, как подписаться на `recording.completed` и обработать готовую облачную запись.
- Разбери, почему проверка подписи вебхука Zoom не проходит, и проверь сохранение исходного тела запроса.
Как установить setup-zoom-webhooks
1Через Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill setup-zoom-webhooks -a claude-codenpx skills add anthropics/knowledge-work-plugins --skill webhooks -a claude-code2Вручную: положить файлы
~/.claude/skills/webhooks/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/webhooks/
1Через Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill webhooks -a codex2Вручную: положить файлы
.agents/skills/webhooks/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill webhooks -a cursor2Вручную: положить файлы
.cursor/skills/webhooks/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install anthropics/knowledge-work-plugins webhooks2Вручную: положить файлы
.github/skills/webhooks/SKILL.md1Через Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill webhooks -a gemini-cli2Командой платформы
gemini skills install https://github.com/anthropics/knowledge-work-plugins --path partner-built/zoom-plugin/skills/webhooksВручную: положить файлы
.devin/skills/webhooks/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add anthropics/knowledge-work-plugins --skill webhooks -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора133
Весь набор →Похожие
Вопросы о setup-zoom-webhooks
Как установить setup-zoom-webhooks в Claude Code?
Выполните npx skills add anthropics/knowledge-work-plugins --skill setup-zoom-webhooks -a claude-code, затем npx skills add anthropics/knowledge-work-plugins --skill webhooks -a claude-code. После установки файл находится по пути ~/.claude/skills/webhooks/SKILL.md.
Что делает setup-zoom-webhooks?
Скилл описывает настройку вебхуков Zoom: подписки, типы событий, проверку HMAC-подписи и обработку доставки. В нём есть пример обработчика для Express.js и справочные материалы.
Что нужно подготовить для работы с вебхуками Zoom?
Нужны приложение Zoom с включёнными Event Subscriptions, HTTPS-адрес для приёма вебхуков и webhook secret token для проверки.
Исходный текст
SKILL.md · Apache-2.0
---
name: setup-zoom-webhooks
description: 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.
triggers:
- "zoom webhook"
- "webhook signature"
- "x-zm-signature"
- "event subscription"
- "recording completed webhook"
---
# /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](../oauth/SKILL.md)** skill for OAuth setup.
## Quick Start
```javascript
// 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](references/events.md)** - Complete event types reference
- **[references/verification.md](references/verification.md)** - Webhook URL validation
- **[references/subscriptions.md](references/subscriptions.md)** - Event subscriptions API
## Troubleshooting
- **[RUNBOOK.md](RUNBOOK.md)** - 5-minute preflight checks before deep debugging
- **[troubleshooting/common-issues.md](troubleshooting/common-issues.md)** - Signature verification, retries, URL validation
## Sample Repositories
### Official (by Zoom)
| Type | Repository | Stars |
|------|------------|-------|
| Node.js | [webhook-sample](https://github.com/zoom/webhook-sample) | 34 |
| PostgreSQL | [webhook-to-postgres](https://github.com/zoom/webhook-to-postgres) | 5 |
| Go/Fiber | [Go-Webhooks](https://github.com/zoom/Go-Webhooks) | - |
| Header Auth | [zoom-webhook-verification-headers](https://github.com/zoom/zoom-webhook-verification-headers) | - |
### Community
| Language | Repository | Description |
|----------|------------|-------------|
| Laravel | [binary-cats/laravel-webhooks](https://github.com/binary-cats/laravel-webhooks) | Laravel webhook handler |
| AWS Lambda | [splunk/zoom-webhook-to-hec](https://github.com/splunk/zoom-webhook-to-hec) | Serverless to Splunk HEC |
| Node.js | [Will4950/zoom-webhook-listener](https://github.com/Will4950/zoom-webhook-listener) | Webhook forwarder |
| Express+Redis | [ojusave/eventSubscriptionPlayground](https://github.com/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](https://github.com/tanchunsiong/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-](https://github.com/tanchunsiong/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](https://github.com/tanchunsiong/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](https://github.com/tanchunsiong/Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-Python) |
| PHP | [Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-PHP](https://github.com/tanchunsiong/Zoom-Webhook-Signature-OAuth-and-REST-API-Development-Sample-In-PHP) |
**Full list**: See [general/references/community-repos.md](../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](references/environment-variables.md) for standardized `.env` keys and where to find each value.
© anthropics · Apache-2.0 · anthropics/knowledge-work-plugins