Agent Native

setup-zoom-webhooks

This skill provides reference documentation for implementing Zoom webhook handlers, including HTTP signature verification, event subscription configuration…

by ZoomOfficial publisherNot reviewed

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.”
The author's description, from SKILL.md

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-webhooks

Installs 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@86e2592334f5fb563ed273e26035844004e66165

Installs 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.

Skill folder on GitHub at 86e2592

Claude Code plugin

/plugin install zoom-plugin@claude-plugins-official

The 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 86e2592

Files

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 86e2592
All 50 skills from Zoom

More 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

All Backend and APIs skills
  • 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

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use