From zoom-skills
Receives real-time Zoom event notifications. Covers webhook verification, event types, and subscription management. Use when you need to handle meetings, users, recordings, or other Zoom events.
How this skill is triggered — by the user, by Claude, or both
Slash command
/zoom-skills:webhooksThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Receive real-time event notifications from Zoom services.
Receive real-time event notifications from Zoom services.
Need help with authentication? See the zoom-oauth skill for OAuth setup.
// 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();
});
| 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 |
| Type | Repository | Stars |
|---|---|---|
| Node.js | webhook-sample | 34 |
| PostgreSQL | webhook-to-postgres | 5 |
| Go/Fiber | Go-Webhooks | - |
| Header Auth | zoom-webhook-verification-headers | - |
| Language | Repository | Description |
|---|---|---|
| Laravel | binary-cats/laravel-webhooks | Laravel webhook handler |
| AWS Lambda | splunk/zoom-webhook-to-hec | Serverless to Splunk HEC |
| Node.js | Will4950/zoom-webhook-listener | Webhook forwarder |
| Express+Redis | ojusave/eventSubscriptionPlayground | Socket.io + Redis |
Full list: See general/references/community-repos.md
.env keys and where to find each value.npx claudepluginhub zoom/skills --plugin zoom-skillsReceives real-time Zoom event notifications via persistent WebSocket connection. Lower latency and enhanced security compared to webhooks.
Automates Zoom meeting creation, scheduling, management, recordings, webinars, and participant tracking using Composio's Rube MCP toolkit. Use for programmatic Zoom workflows.
Automates Zoom meeting scheduling, management, cloud recordings, webinars, and participant tracking via Composio toolkit and Rube MCP tools.