Get shared Zoom platform guidance for auth, scopes, app models, and routing.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "zoom-general" skill from askskill: 1. Download https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/general/SKILL.md 2. Save it as ~/.claude/skills/general/SKILL.md 3. Reload skills and tell me it's ready
We want to integrate Zoom capabilities into our internal product. Compare OAuth apps, Server-to-Server OAuth, webhooks, APIs, and MCP in terms of use cases, limits, and recommended choices, then provide a decision recommendation.
A comparison of Zoom integration options with a clear recommendation and selection criteria.
For these three needs—read meeting lists, create meetings, and access recordings—explain which Zoom authentication methods and scopes are required, and highlight common permission configuration risks.
A feature-by-feature list of auth methods and scopes, plus setup cautions and risk notes.
Our workflow is already defined: we need to automatically create meetings, sync participant info, and let an AI assistant call related capabilities. Determine which parts should use the Zoom API and which are better handled through MCP, and explain why.
A scenario-based routing recommendation showing when to use the API versus MCP.
Background reference for cross-product Zoom questions. Prefer the workflow skills first, then use this file for shared platform guidance and routing detail.
zoom-general Routes a Complex Developer QueryUse zoom-general as the classifier and chaining layer:
Minimal implementation:
type SkillId =
| 'zoom-general'
| 'zoom-rest-api'
| 'zoom-webhooks'
| 'zoom-oauth'
| 'zoom-meeting-sdk-web-component-view'
| 'zoom-video-sdk'
| 'zoom-mcp';
const hasAny = (q: string, words: string[]) => words.some((w) => q.includes(w));
function detectSignals(rawQuery: string) {
const q = rawQuery.toLowerCase();
return {
meetingCustomUi: hasAny(q, ['zoom meeting', 'custom ui', 'component view', 'embed meeting']),
customVideo: hasAny(q, ['video sdk', 'custom video session', 'peer-video-state-change']),
restApi: hasAny(q, ['rest api', '/v2/', 'create meeting', 'list users', 's2s oauth']),
webhooks: hasAny(q, ['webhook', 'x-zm-signature', 'event subscription', 'crc']),
oauth: hasAny(q, ['oauth', 'pkce', 'token refresh', 'account_credentials']),
mcp: hasAny(q, ['zoom mcp', 'agentic retrieval', 'tools/list', 'semantic meeting search']),
};
}
function pickPrimarySkill(s: ReturnType<typeof detectSignals>): SkillId {
if (s.meetingCustomUi) return 'zoom-meeting-sdk-web-component-view';
if (s.mcp) return 'zoom-mcp';
if (s.restApi) return 'zoom-rest-api';
if (s.customVideo) return 'zoom-video-sdk';
return 'zoom-general';
}
function buildChain(primary: SkillId, s: ReturnType<typeof detectSignals>): SkillId[] {
const chain = [primary];
if (s.oauth && !chain.includes('zoom-oauth')) chain.push('zoom-oauth');
if (s.webhooks && !chain.includes('zoom-webhooks')) chain.push('zoom-webhooks');
return chain;
}
Example:
Create a meeting, configure webhooks, and handle OAuth token refresh ->
zoom-rest-api -> zoom-oauth -> zoom-webhooksBuild a custom video UI for a Zoom meeting on web ->
zoom-meeting-sdk-web-component-viewFor the full TypeScript implementation and handoff contract, use references/routing-implementation.md.
| I want to... | Use this skill |
|---|---|
| Build a custom web UI around a real Zoom meeting | zoom-meeting-sdk-web-component-view |
| Build deterministic automation/configuration/reporting with explicit request control | zoom-rest-api |
| Receive event notifications (HTTP push) | zoom-webhooks |
| Receive event notifications (WebSocket, low-latency) | zoom-websockets |
| Embed Zoom meetings in my app | zoom-meeting-sdk |
| Build custom video experiences (Web, React Native, Flutter, Android, iOS, macOS, Unity, Linux) | zoom-video-sdk |
| Build an app that runs inside Zoom client | zoom-apps-sdk |
| Transcribe uploaded or stored media with AI Services Scribe | scribe |
| Access live audio/video/transcripts from meetings | zoom-rtms |
| Enable collaborative browsing for support | zoom-cobrowse-sdk |
| Build Contact Center apps and channel integrations | contact-center |
| Build Virtual Agent web/mobile chatbot experiences | virtual-agent |
| Build Zoom Phone integrations (Smart Embed, Phone API, webhooks, URI flows) | phone |
| Build Team Chat apps and integrations | zoom-team-chat |
…
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.
Choose and troubleshoot Zoom OAuth settings, scopes, and token refresh behavior.
Build in-client web app features with the Zoom Apps SDK.
Implement Zoom Meeting SDK joins, auth flows, and platform-specific integrations.
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 Contact Center integrations, state handling, and callbacks.