setup-zoom-webhooks
This skill provides reference documentation for implementing Zoom webhook handlers, including HTTP signature verification, event subscription configuration…
Identity proven by GitHub's verified organisation badge (zoom)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- MIT (permissive)
- Pin
- 86e2592pinned Oct 9, 2026
- Context cost
- about 1,400 tokenswhen the skill loads
- GitHub stars
- 7on zoom/zoom-plugin-claude
- Scripts
- None found
What it does
“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.”
Generated summary from the skill's own text
This skill provides reference documentation for implementing Zoom webhook handlers, including HTTP signature verification, event subscription configuration, and delivery handling. It covers setting up HTTPS endpoints to receive Zoom events like meeting status changes and recording completions, with code examples and troubleshooting guidance.
When to use it
- Building event-driven workflows triggered by Zoom meeting or recording events
- Implementing webhook signature verification for security
- Configuring event subscriptions through the Zoom API
- Handling webhook delivery, retries, and event-type selection
When not to
- Creating or managing Zoom apps, use marketplace app management skill instead
- Setting up OAuth authentication, use zoom-oauth skill instead
- Initial app configuration before webhooks are enabled
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add zoom/zoom-plugin-claude --skill setup-zoom-webhooksInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install zoom/zoom-plugin-claude setup-zoom-webhooks@86e2592334f5fb563ed273e26035844004e66165Installs the commit we checked (86e2592).
Copy by hand
Download the folder at 86e2592 and put it in .claude/skills/setup-zoom-webhooks for Claude Code and in .agents/skills/setup-zoom-webhooks for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Claude Code plugin
/plugin install zoom-plugin@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "setup-zoom-webhooks" by Zoom. Source, pinned to commit 86e2592334f5fb563ed273e26035844004e66165: https://github.com/zoom/zoom-plugin-claude/tree/86e2592334f5fb563ed273e26035844004e66165/skills/webhooks 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/setup-zoom-webhooks/ for Claude Code and .agents/skills/setup-zoom-webhooks/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/zoom/setup-zoom-webhooks
SKILL.md at the pin
---
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 to create/configure the app first?** Use
> [Marketplace app management](../rest-api/references/marketplace-apps.md) for General App
> manifest validation, event subscription API setup, webhook vs WebSocket subscription
> behavior, and app-owned `client_credentials` scopes. Start from the
> [user-managed General App](../rest-api/assets/marketplace-apps/marketplace-manifest-template-for-general-user-webhooks.json),
> [admin-managed General App](../rest-api/assets/marketplace-apps/marketplace-manifest-template-for-general-admin-webhooks.json), or
> [S2S](../rest-api/assets/marketplace-apps/marketplace-app-creation-template-for-s2s-webhooks.json) webhook template.
> **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.
From zoom/zoom-plugin-claude at 86e2592, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at 86e2592Files
- SKILL.md5.8 KB · 856e98d76492
- RUNBOOK.md2.6 KB · 7128bcfc9080
- references/
- environment-variables.md642 B · 1302c4398eea
- events.md2.0 KB · f92f439987a2
- signature-verification.md161 B · 3c938d5deb13
- subscriptions.md7.4 KB · a933549f171a
- verification.md2.2 KB · 9f850b4d6379
- troubleshooting/
- common-issues.md1.2 KB · 4528a720f5dd
8 files, 22 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 86e2592More from Zoom
build-zoom-bot
This skill guides building Zoom bots that join meetings, capture media, or process live transcripts using Meeting SDK and RTMS.
Claude Code, Codex, Cursor +4 · about 300 tokens · pinned 6 days ago
build-zoom-contact-center-app
This skill provides implementation guidance for Zoom Contact Center integrations across desktop apps, web embeds, and native mobile platforms.
Claude Code, Codex, Cursor +3 · about 1.2K tokens · pinned 6 days ago
build-zoom-meeting-app
This skill guides agents in building embedded Zoom meeting applications by helping select appropriate SDKs, plan authentication flows, and route to Meeting…
Claude Code, Codex, Cursor +4 · about 310 tokens · pinned 6 days ago
build-zoom-meeting-sdk-app
This skill provides reference guidance for implementing Zoom Meeting SDK across web, mobile, desktop, and Linux platforms.
Claude Code, Codex, Cursor +3 · about 2.7K tokens · pinned 6 days ago
build-zoom-phone-integration
This skill provides reference guidance for implementing Zoom Phone integrations using OAuth, REST APIs, webhooks, Smart Embed iframe components, URI schemes…
Claude Code, Codex, Cursor +3 · about 1.1K tokens · pinned 6 days ago
build-zoom-rest-api-app
This skill provides comprehensive reference documentation and examples for building server-side integrations with the Zoom REST API, covering 600+ endpoints…
Claude Code, Codex, Cursor +3 · about 6.7K tokens · pinned 6 days ago
Related in Backend and APIs
nvflare-orient
Routes NVFLARE requests to appropriate downstream skills based on user intent and preliminary source inspection findings.
by NVIDIAOfficial publisher
Claude Code, Codex, Cursor +4 · about 600 tokens · pinned 6 days ago
cloudflare-email-service
This skill enables agents to send transactional emails and route incoming emails using Cloudflare's Email Service platform.
by CloudflareOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.6K tokens · pinned 6 days ago
durable-objects
Build and debug Cloudflare Durable Objects applications for stateful coordination and persistent storage on the edge.
by CloudflareOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.5K tokens · pinned 6 days ago
workers-best-practices
This skill guides code review and development of Cloudflare Workers by applying best practices for production readiness.
by CloudflareOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.3K tokens · pinned 6 days ago
supabase
This skill enables the agent to work with Supabase products including Database, Auth, Edge Functions, Realtime, Storage, and Vectors.
by SupabaseOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago
apple
This skill emulates Apple's OAuth and OIDC services for local development and testing.
by VercelOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.9K tokens · pinned 6 days ago