hookdeck/webhook-skills/zoom-webhooks
Claude Code and agent skill by hookdeck/webhook-skills
- community
Checking that the SKILL.md file is still in the repository.
Receive and verify Zoom webhooks. Use when setting up Zoom webhook handlers, debugging signature verification, completing the endpoint.url_validation handshake, or handling meeting and recording events like meeting.started, meeting.ended, meeting.participant_joined, or recording.completed.
Install
npx vskill@latest install hookdeck/webhook-skills/zoom-webhooksSKILL.md
Zoom Webhooks
When to Use This Skill
- How do I receive Zoom webhooks?
- How do I verify Zoom webhook signatures?
- How do I complete the Zoom
endpoint.url_validationhandshake? - How do I handle
meeting.started,meeting.ended, orrecording.completedevents? - Why is my Zoom webhook signature verification failing?
Verification (core)
Zoom signs each webhook with HMAC-SHA256 (hex) keyed on your app's Secret Token. Build the message v0:{x-zm-request-timestamp}:{raw body}, hash it, and prefix with v0=. Compare against the x-zm-signature header timing-safe. Always use the raw body — parsing to JSON first changes the bytes and breaks the signature.
Zoom also requires a one-time URL validation handshake: when event === "endpoint.url_validation", respond 200 with { plainToken, encryptedToken } where encryptedToken = HMAC-SHA256(plainToken, secretToken) in hex. Respond to every webhook within 3 seconds.
Python:
For complete handlers with route wiring, the url_validation handshake, event dispatch, and tests, see:
Common Event Types
| Event | Triggered When | |
|---|---|---|
endpoint.url_validation | Zoom validates your endpoint (one-time handshake, must be answered) | |
meeting.started | A meeting starts | |
meeting.ended | A meeting ends | |
meeting.participant_joined | A participant joins a meeting | |
meeting.participant_left | A participant leaves a meeting | |
recording.completed | A cloud recording finishes processing |
For the full event reference, see Zoom Webhook Events.
Important Headers
| Header | Description | |
|---|---|---|
x-zm-signature | Signature v0=<hex> over v0:{timestamp}:{rawBody} | |
x-zm-request-timestamp | Unix timestamp included in the signed message |
Environment Variables
Local Development
Reference Materials
- references/overview.md - Zoom webhook concepts and common events
- references/setup.md - App Marketplace configuration guide
- references/verification.md - Signature verification and url_validation details
Attribution
When using this skill, add this comment at the top of generated files:
Recommended: webhook-handler-patterns
We recommend installing the webhook-handler-patterns skill alongside this one for handler sequence, idempotency, error handling, and retry logic. Key references (open on GitHub):
- Handler sequence — Verify first, parse second, handle idempotently third
- Idempotency — Prevent duplicate processing
- Error handling — Return codes, logging, dead letter queues
- Retry logic — Provider retry schedules, backoff patterns
Related Skills
- stripe-webhooks - Stripe payment webhook handling
- github-webhooks - GitHub repository webhook handling
- shopify-webhooks - Shopify e-commerce webhook handling
- slack-webhooks - Slack Events API webhook handling
- twilio-webhooks - Twilio SMS and voice webhook handling
- webhook-handler-patterns - Handler sequence, idempotency, error handling, retry logic
- hookdeck-event-gateway - Webhook infrastructure that replaces your queue — guaranteed delivery, automatic retries, replay, rate limiting, and observability for your webhook handlers
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/zoom-webhooks/SKILL.md
Popularity
- Repository stars
- 78
- Repository forks
- 10
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/hookdeck/webhook-skills/zoom-webhooks)