К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot официальный · Anthropic

setup-zoom-webhooks — скилл для Claude Code: установка

Справочник по вебхукам Zoom: подписки, проверка подписей и обработка событий. Нужен при сборке HTTP-интеграции с Zoom.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
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
Открыть на GitHub

Что делает 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-code
npx skills add anthropics/knowledge-work-plugins --skill webhooks -a claude-code

2Вручную: положить файлы

~/.claude/skills/webhooks/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/webhooks/

Из того же набора133

Весь набор →
data-visualization официальный anthropics Подбирает подходящие типы графиков под структуру данных и генерирует код на Python с matplotlib, seaborn и plotly. Пригодится при подготовке отчётов. Claude Code CX Codex Cursor +1 13 700установок documentation официальный anthropics Скилл для технического письма: собирает README, справочник по API, ранбук, архитектурный документ или гайд для новичков. Пригодится, когда код есть, а описания к нему нет. Claude Code CX Codex Cursor +1 10 300установок build-dashboard официальный anthropics Генерирует автономный HTML-дашборд с графиками Chart.js, карточками KPI и таблицами. Помогает быстро оформить результаты запроса или сырые данные в один файл для браузера. Claude Code CX Codex Cursor +1 9 100установок memory-management официальный anthropics Скилл раскладывает рабочие сокращения, имена и термины по файлам памяти, чтобы агент учитывал их в запросах. Пригодится для проектов с внутренним словарём и множеством контекстных деталей. Claude Code CX Codex Cursor +1 7 400установок task-management официальный anthropics Ведёт список задач в локальном файле TASKS.md и показывает интерактивный дашборд. Пригодится, чтобы фиксировать дедлайны и поручения прямо во время диалога с агентом. Claude Code CX Codex Cursor +1 7 200установок architecture официальный anthropics Помогает оформить Architecture Decision Record или разобрать чужой дизайн системы: варианты, компромиссы, последствия. Пригодится, когда выбираете между технологиями. Claude Code CX Codex Cursor +1 6 700установок knowledge-synthesis официальный anthropics Скилл объединяет результаты корпоративного поиска из чатов, почты и документов в один связный ответ. Убирает дубли, выставляет уровень доверия и сохраняет ссылки на источники. Claude Code CX Codex Cursor +1 6 400установок testing-strategy официальный anthropics Скилл помогает спроектировать стратегию тестирования и план проверок для проекта. Пригодится, когда нужно выбрать типы тестов и найти пробелы в покрытии. Claude Code CX Codex Cursor +1 6 400установок

Похожие

prisma-compute prisma Скилл для развёртывания TypeScript-приложений на Prisma Compute через Prisma 8 CLI. Помогает управлять деплоями, версиями, переменными окружения и пользовательскими доменами прямо из редактора кода. Claude Code CX Codex Cursor +1 370 000установок prisma-mongodb-upgrade prisma Помогает спланировать переход проектов на Prisma ORM с MongoDB с версии 6 сразу на 8 либо обоснованно остаться на v6 из-за отсутствия коннектора в Prisma 7. Claude Code CX Codex Cursor +1 368 500установок neon-postgres neondatabase Скилл помогает агенту работать с базой Postgres на Neon: выбирать подключение, вести миграции и проверять состояние базы. Пригодится для задач с существующей схемой или DATABASE_URL. Claude Code CX Codex Cursor +1 278 200установок cmux-billing manaflow-ai Справочник по архитектуре биллинга cmux: настройка Stripe Checkout, подписок, хуков и прав доступа к тарифам Pro и Max при доработке серверного кода. Claude Code CX Codex Cursor +1 3 700установок mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. Claude Code Claude.ai 130 949установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. Claude Code CX Codex Cursor +1 472 300установок lark-event larksuite Слушает события Lark/Feishu и отдаёт их потоком NDJSON. Подходит для ботов, обработчиков сообщений и долгих подписчиков. Claude Code CX Codex Cursor +1 466 200установок caveman-discover JuliusBrussee Находит точки вызова LLM в репозитории и размечает их воркфлоу для Caveman Cloud, чтобы расходы на токены не сливались в одну общую кучу. Claude Code CX Codex Cursor +1 103 500установок

Вопросы о 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

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой