Set up Zoom WebSockets for low-latency, persistent event delivery.
This appears to be an open-source reference/prompt-only skill, and the system flags it as prompt-only; there is no evidence that the skill itself executes code, accesses local data, or exfiltrates data. The README discusses Zoom OAuth and WebSocket usage as background guidance, but those flows involve sensitive credentials and external connections, so least-privilege handling is still advisable.
The metadata says the skill itself requires no keys, but the README explicitly references Zoom Server-to-Server OAuth credentials: Account ID, Client ID, Client Secret, and access tokens, which are sensitive secrets. As this is a reference document rather than an executable integration, there is no evidence the skill itself collects or sends credentials, but any implementation following it should avoid exposing secrets in code, logs, or URLs.
The system lists no remote endpoint for the skill itself, indicating no declared networking by the skill. However, the README example references Zoom endpoints `https://zoom.us/oauth/token` and `wss://ws.zoom.us/ws`. These are expected, function-related Zoom endpoints, and there is no sign of data being sent to unrelated or unknown third parties, so this is a normal networking caution rather than a high-risk issue.
The objective checks mark this as prompt-only. The material appears to be reference guidance with sample code snippets, and there is no evidence that the skill itself starts local processes, runs scripts, or requests additional system privileges.
There is no indication that the skill reads or writes local files, databases, clipboard contents, or other user resources; the material is mainly conceptual guidance and setup steps. If a user implements the README example, data access scope would depend on their own code rather than on this skill itself.
The source is an open-source GitHub repository, which improves auditability and lowers risk. While the repo has 0 stars, no declared license, and unknown maintenance status, credibility is only moderate; still, without signs of closed-source data exfiltration, malicious install scripts, or suspicious prompt injection, the overall supply-chain risk remains low.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "setup-zoom-websockets" skill from askskill: 1. Download https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/websockets/SKILL.md 2. Save it as ~/.claude/skills/websockets/SKILL.md 3. Reload skills and tell me it's ready
Explain how to set up a real-time event workflow with Zoom WebSockets, including connection setup, authentication, reconnection, and event handling steps.
A step-by-step integration guide for establishing and maintaining Zoom WebSocket connections.
Compare Zoom WebSockets and webhooks, focusing on why WebSockets are preferable under low-latency, persistent connection, and security constraints.
A scenario comparison and recommendation explaining when to use Zoom WebSockets.
Design a secure connection strategy for Zoom WebSockets covering authentication, secret management, access control, monitoring, and retry mechanisms.
A production-ready security and reliability plan for implementing real-time event systems.
Background reference for persistent Zoom event streams. Prefer workflow routing first, then use this file when WebSockets are plausibly better than webhooks.
| Aspect | WebSockets | Webhooks |
|---|---|---|
| Connection | Persistent, bidirectional | One-time HTTP POST |
| Latency | Lower (no HTTP overhead) | Higher (new connection per event) |
| Security | Direct connection, no exposed endpoint | Requires endpoint validation, IP whitelisting |
| Model | Pull (you connect to Zoom) | Push (Zoom connects to you) |
| State | Stateful (maintains connection) | Stateless (each event independent) |
| Setup | More complex (access token, connection) | Simpler (just endpoint URL) |
Choose WebSockets when:
Choose Webhooks when:
Need help with S2S OAuth? See the zoom-oauth skill for complete authentication flows.
Start troubleshooting fast: Use the 5-Minute Runbook before deep debugging.
meeting.created, meeting.started)const WebSocket = require('ws');
const axios = require('axios');
// Step 1: Get access token
async function getAccessToken() {
const credentials = Buffer.from(`${CLIENT_ID}:${CLIENT_SECRET}`).toString('base64');
const response = await axios.post(
'https://zoom.us/oauth/token',
new URLSearchParams({
grant_type: 'account_credentials',
account_id: ACCOUNT_ID
}),
{
headers: {
'Authorization': `Basic ${credentials}`,
'Content-Type': 'application/x-www-form-urlencoded'
}
}
);
return response.data.access_token;
}
// Step 2: Connect to WebSocket
async function connectWebSocket() {
const accessToken = await getAccessToken();
// WebSocket URL from your subscription settings
const wsUrl = `wss://ws.zoom.us/ws?subscriptionId=${SUBSCRIPTION_ID}&access_token=${accessToken}`;
const ws = new WebSocket(wsUrl);
ws.on('open', () => {
console.log('WebSocket connection established');
});
ws.on('message', (data) => {
const event = JSON.parse(data);
console.log('Event received:', event.event);
// Handle different event types
switch (event.event) {
case 'meeting.started':
console.log(`Meeting started: ${event.payload.object.topic}`);
break;
case 'meeting.ended':
console.log(`Meeting ended: ${event.payload.object.uuid}`);
break;
case 'meeting.participant_joined':
console.log(`Participant joined: ${event.payload.object.participant.user_name}`);
break;
}
});
ws.on('close', (code, reason) => {
console.log(`Connection closed: ${code} - ${reason}`);
// Implement reconnection logic
});
ws.on('error', (error) => {
console.error('WebSocket error:', error);
});
return ws;
}
connectWebSocket();
Events received via WebSocket have the same format as webhook events:
…
Embed Zoom Virtual Agent chat on web with secure controls and context updates.
Quickly add Zoom’s prebuilt React video UI to web workflows.
Create stakeholder updates tailored to audience, cadence, and communication goals.
Review an analysis for methodology, accuracy, bias, and evidence support.
Generate people analytics reports on headcount, attrition, diversity, and org health.
Identify, categorize, and prioritize technical debt for smarter refactoring decisions.
Configure Zoom webhooks for subscriptions, signature checks, event handling, and retries.
Implement Zoom Meeting SDK joins, auth flows, and platform-specific integrations.
Build Zoom Phone integrations, call workflows, and telephony automation features.
Build custom video session apps with full control using Zoom Video SDK
Build Zoom Team Chat integrations, bots, and interactive messaging experiences.
Build and troubleshoot Zoom Virtual Agent embeds, integrations, and knowledge sync.