Skip to content
cccskills
FreePublished on GitHub

build-zoom-meeting-sdk-app

Build Zoom meeting experiences inside web, mobile, and desktop apps. This reference skill guides authentication, meeting joins, interface options, and troubleshooting, with platform-specific guidance for applications and bots that join meetings.

OriginalShow the original description

Reference skill for Zoom Meeting SDK. Use after routing to a meeting-embed workflow when implementing real Zoom meeting joins, platform-specific SDK behavior, auth and join flows, waiting room issues, or meeting bot patterns.

Works withZoom
See how to install

Good for

  • Embed Zoom meetings in a web app
  • Implement authentication and meeting joins
  • Investigate join failures and waiting room issues
  • Build a Linux bot that joins meetings

Files included (144)

  • SKILL.md11.0 KB
  • android/android.md856 B
  • android/concepts/architecture.md781 B
  • android/concepts/lifecycle-workflow.md724 B
  • android/examples/join-start-pattern.md709 B
  • android/references/android-reference-map.md834 B
  • android/references/environment-variables.md833 B
  • android/references/versioning-and-compatibility.md666 B
  • android/RUNBOOK.md2.3 KB
  • android/scenarios/high-level-scenarios.md663 B
  • android/SKILL.md1.8 KB
  • android/troubleshooting/common-issues.md823 B
  • electron/concepts/high-level-scenarios.md818 B
  • electron/concepts/lifecycle-workflow.md937 B
  • electron/concepts/sdk-architecture-pattern.md726 B
  • electron/examples/authentication-pattern.md485 B
  • electron/examples/join-meeting-pattern.md509 B
  • electron/examples/raw-data-pattern.md561 B
  • electron/examples/setup-guide.md771 B
  • electron/references/electron-reference.md541 B
  • electron/references/module-map.md765 B
  • electron/RUNBOOK.md2.3 KB
  • electron/SKILL.md2.9 KB
  • electron/troubleshooting/common-issues.md823 B
  • electron/troubleshooting/deprecated-and-contradictions.md1.2 KB
  • electron/troubleshooting/version-drift.md467 B
  • ios/concepts/architecture.md660 B
  • ios/concepts/lifecycle-workflow.md591 B
  • ios/examples/join-start-pattern.md610 B
  • ios/ios.md737 B
  • ios/references/environment-variables.md813 B
  • ios/references/ios-reference-map.md712 B
  • ios/references/versioning-and-compatibility.md597 B
  • ios/RUNBOOK.md2.3 KB
  • ios/scenarios/high-level-scenarios.md655 B
  • ios/SKILL.md1.4 KB
  • ios/troubleshooting/common-issues.md661 B
  • linux/concepts/high-level-scenarios.md14.8 KB
  • linux/linux.md11.0 KB
  • linux/meeting-sdk-bot.md29.8 KB
  • linux/references/linux-reference.md20.7 KB
  • linux/RUNBOOK.md2.3 KB
  • linux/SKILL.md15.2 KB
  • macos/concepts/architecture.md719 B
  • macos/concepts/lifecycle-workflow.md489 B
  • macos/examples/join-start-pattern.md584 B
  • macos/macos.md708 B
  • macos/references/environment-variables.md827 B
  • macos/references/macos-reference-map.md790 B
  • macos/references/versioning-and-compatibility.md710 B
  • macos/RUNBOOK.md2.3 KB
  • macos/scenarios/high-level-scenarios.md624 B
  • macos/SKILL.md1.4 KB
  • macos/troubleshooting/common-issues.md726 B
  • react-native/concepts/architecture.md581 B
  • react-native/concepts/auth-and-token-model.md514 B
  • react-native/concepts/high-level-scenarios.md932 B
  • react-native/concepts/lifecycle-workflow.md615 B
  • react-native/examples/join-meeting-pattern.md415 B
  • react-native/examples/provider-hook-pattern.md332 B
  • react-native/examples/setup-guide.md1.1 KB
  • react-native/examples/start-meeting-pattern.md368 B
  • react-native/references/android-setup.md434 B
  • react-native/references/ios-setup.md394 B
  • react-native/references/native-bridge-notes.md621 B
  • react-native/references/official-sources.md703 B
  • react-native/references/wrapper-api.md802 B
  • react-native/RUNBOOK.md2.3 KB
  • react-native/SKILL.md3.8 KB
  • react-native/troubleshooting/common-issues.md691 B
  • react-native/troubleshooting/deprecated-and-contradictions.md1.4 KB
  • react-native/troubleshooting/version-drift.md758 B
  • references/ai-companion.md6.4 KB
  • references/android.md754 B
  • references/authorization.md2.3 KB
  • references/bot-authentication.md10.5 KB
  • references/breakout-rooms.md11.8 KB
  • references/environment-variables.md1.4 KB
  • references/forum-top-questions.md3.9 KB
  • references/ios.md919 B
  • references/macos.md599 B
  • references/multiple-meetings.md965 B
  • references/signature-playbook.md1.4 KB
  • references/triage-intake.md1.9 KB
  • references/troubleshooting.md4.1 KB
  • references/unreal.md732 B
  • references/webinars.md7.9 KB
  • RUNBOOK.md2.6 KB
  • unreal/concepts/architecture.md673 B
  • unreal/concepts/lifecycle-workflow.md468 B
  • unreal/examples/join-start-pattern.md525 B
  • unreal/references/environment-variables.md839 B
  • unreal/references/unreal-reference-map.md812 B
  • unreal/references/versioning-and-compatibility.md882 B
  • unreal/RUNBOOK.md2.3 KB
  • unreal/scenarios/high-level-scenarios.md652 B
  • unreal/SKILL.md1.4 KB
  • unreal/troubleshooting/common-issues.md666 B
  • unreal/unreal.md702 B
  • web/client-view/references/README.md457 B
  • web/client-view/RUNBOOK.md2.3 KB
  • web/client-view/SKILL.md16.4 KB
  • web/component-view/references/README.md477 B
  • web/component-view/RUNBOOK.md2.4 KB
  • web/component-view/SKILL.md14.1 KB
  • web/concepts/browser-support.md7.6 KB
  • web/concepts/sharedarraybuffer.md8.2 KB
  • web/examples/client-view-basic.md389 B
  • web/examples/component-view-react.md404 B
  • web/references/component-view-breakout-rooms.md1.3 KB
  • web/references/component-view-ui-customization.md2.0 KB
  • web/references/sharedarraybuffer-gallery-view.md1.1 KB
  • web/references/web-performance-cpu.md966 B
  • web/references/web-timeout-browser-restriction.md1.1 KB
  • web/references/web-tracking-id.md1.1 KB
  • web/references/web.md7.9 KB
  • web/RUNBOOK.md2.4 KB
  • web/SKILL.md34.1 KB
  • web/troubleshooting/common-issues.md9.9 KB
  • web/troubleshooting/error-codes.md9.6 KB
  • windows/concepts/custom-ui-architecture.md8.8 KB
  • windows/concepts/custom-ui-vs-raw-data.md6.1 KB
  • windows/concepts/sdk-architecture-pattern.md20.1 KB
  • windows/concepts/singleton-hierarchy.md20.2 KB
  • windows/examples/ai-companion.md16.5 KB
  • windows/examples/authentication-pattern.md20.7 KB
  • windows/examples/breakout-rooms.md16.9 KB
  • windows/examples/captions-transcription.md18.2 KB
  • windows/examples/chat.md12.8 KB
  • windows/examples/custom-ui-video-rendering.md7.9 KB
  • windows/examples/local-recording.md17.5 KB
  • windows/examples/raw-video-capture.md23.6 KB
  • windows/examples/send-raw-data.md13.2 KB
  • windows/examples/service-quality.md8.1 KB
  • windows/examples/share-raw-data-capture.md16.0 KB
  • windows/examples/video-advanced.md10.3 KB
  • windows/references/deployment.md7.2 KB
  • windows/references/interface-methods.md15.7 KB
  • windows/references/windows-reference.md22.6 KB
  • windows/RUNBOOK.md2.3 KB
  • windows/SKILL.md44.4 KB
  • windows/troubleshooting/build-errors.md10.8 KB
  • windows/troubleshooting/common-issues.md22.1 KB
  • windows/troubleshooting/windows-message-loop.md9.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/build-zoom-meeting-sdk-app

Background reference for embedded Zoom meetings across web, mobile, desktop, and Linux bot environments. Prefer build-zoom-meeting-app or build-zoom-bot first, then route here for platform detail.

Zoom Meeting SDK

Embed the full Zoom meeting experience into web, mobile, desktop, and headless integrations.

Hard Routing Guardrail (Read First)

  • If the user asks to embed/join meetings inside their app UI, route to Meeting SDK implementation.
  • Do not switch to REST-only meeting link flow unless the user explicitly asks for meeting resource management or browser join_url links.
  • Meeting SDK join path requires SDK signature + SDK join call; REST join_url is not a Meeting SDK join payload.

Prerequisites

  • Zoom app with Meeting SDK credentials
  • SDK Key and Secret from Marketplace
  • Platform-specific development environment (Web, Android, iOS, macOS, Unreal, Electron, Linux, or Windows)

Need help with OAuth or signatures? See the zoom-oauth skill for authentication flows.

Need pre-join diagnostics on web? Use probe-sdk before Meeting SDK init/join to gate low-readiness devices/networks.

Start troubleshooting fast: Use the 5-Minute Runbook before deep debugging.

Quick Start (Web - Client View via CDN)

<script src="https://source.zoom.us/3.1.6/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/3.1.6/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/3.1.6/zoom-meeting-3.1.6.min.js"></script>

<script>
// CDN provides ZoomMtg (Client View - full page)
// For ZoomMtgEmbedded (Component View), use npm instead

ZoomMtg.preLoadWasm();
ZoomMtg.prepareWebSDK();

ZoomMtg.init({
  leaveUrl: window.location.href,
  patchJsMedia: true,
  disableCORP: !window.crossOriginIsolated,
  success: function() {
    ZoomMtg.join({
      sdkKey: 'YOUR_SDK_KEY',
      signature: 'YOUR_SIGNATURE',  // Generate server-side!
      meetingNumber: 'MEETING_NUMBER',
      userName: 'User Name',
      passWord: '',  // Note: camelCase with capital W
      success: function(res) { console.log('Joined'); },
      error: function(err) { console.error(err); }
    });
  },
  error: function(err) { console.error(err); }
});
</script>

Critical Notes (Web)

1. CDN vs npm - Different APIs!

DistributionGlobal ObjectView TypeAPI Style
CDN (zoom-meeting-{ver}.min.js)ZoomMtgClient View (full-page)Callbacks
npm (@zoom/meetingsdk)ZoomMtgEmbeddedComponent View (embeddable)Promises

2. Backend Required for Production

Never expose SDK Secret in client code. Generate signatures server-side:

// server.js (Node.js example)
const KJUR = require('jsrsasign');

app.post('/api/signature', (req, res) => {
  const { meetingNumber, role } = req.body;
  const iat = Math.floor(Date.now() / 1000) - 30;
  const exp = iat + 60 * 60 * 2;
  
  const header = { alg: 'HS256', typ: 'JWT' };
  const payload = {
    sdkKey: process.env.ZOOM_SDK_KEY,
    mn: String(meetingNumber).replace(/\D/g, ''),
    role: parseInt(role, 10),
    iat, exp, tokenExp: exp
  };
  
  const signature = KJUR.jws.JWS.sign('HS256',
    JSON.stringify(header),
    JSON.stringify(payload),
    process.env.ZOOM_SDK_SECRET
  );
  
  res.json({ signature, sdkKey: process.env.ZOOM_SDK_KEY });
});

3. CSS Conflicts - Avoid Global Resets

Global * { margin: 0; } breaks Zoom's UI. Scope your styles:

/* BAD */
* { margin: 0; padding: 0; }

/* GOOD */
.your-app, .your-app * { box-sizing: border-box; }

4. Client View Toolbar Cropping Fix

If toolbar falls off screen, scale down the Zoom UI:

#zmmtg-root {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  /* Critical for SPAs (React/Next/etc): ensure Zoom UI isn't behind your app shell/overlays. */
  z-index: 9999 !important;
  transform: scale(0.95) !important;
  transform-origin: top center !important;
}

5. Hide Your App When Meeting Starts

Client View takes over full page. Hide your UI:

// In ZoomMtg.init success callback:
document.documentElement.classList.add('meeting-active');
document.body.classList.add('meeting-active');
body.meeting-active .your-app { display: none !important; }
body.meeting-active { background: #000 !important; }

UI Options (Web)

Meeting SDK provides Zoom's UI with customization options:

ViewDescription
Component ViewExtractable, customizable UI - embed meeting in a div
Client ViewFull-page Zoom UI experience

Note: Unlike Video SDK where you build the UI from scratch, Meeting SDK uses Zoom's UI as the base with customization on top.

Key Concepts

ConceptDescription
SDK Key/SecretCredentials from Marketplace
SignatureJWT signed with SDK Secret
Component ViewExtractable, customizable UI (Web)
Client ViewFull-page Zoom UI (Web)

Detailed References

Platform Guides

Features

Sample Repositories

Official (by Zoom)

TypeRepositoryStars
Linux Headlessmeetingsdk-headless-linux-sample4
Linux Raw Datameetingsdk-linux-raw-recording-sample0
Webmeetingsdk-web-sample643
Web NPMmeetingsdk-web324
Reactmeetingsdk-react-sample177
Authmeetingsdk-auth-endpoint-sample124
Angularmeetingsdk-angular-sample60
Vue.jsmeetingsdk-vuejs-sample42

Full list: See general/references/community-repos.md

Resources

Environment Variables

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Review a design or web page against WCAG 2.1 AA, an accessibility standard. Organize findings on contrast, keyboard access, forms, and screen reader behavior, with severity levels and practical recommendations for fixes.

  • Review accessibility before design handoff
  • Check text and interface color contrast
  • Review keyboard navigation and focus behavior
anthropics/knowledge-work-plugins30.2KUpdated Oct 17, 2026

account-context

FreeSummary

Build a single brief on an existing customer using available sales records, emails, documents, call notes, and internal chat. Understand the current situation, key contacts, recent discussions, and gaps that may need attention.

  • Preparing for a meeting with an existing customer
  • Catching up on an account during a handover
  • Reviewing recent discussions and stalled opportunities
anthropics/knowledge-work-plugins30.2KUpdated Oct 17, 2026

account-plan

FreeSummary

Build or refresh a strategic customer account plan from sales records, emails, and meeting transcripts. Organize goals, stakeholders, growth opportunities, risks, and dated actions into a document, then sync approved highlights to the customer relationship management system.

  • Creating a quarterly plan for a key customer
  • Refreshing an existing account plan
  • Reviewing stakeholder coverage and growth opportunities
anthropics/knowledge-work-plugins30.2KUpdated Oct 17, 2026

account-research

FreeSummary

Research prospective companies and contacts, check existing customer records, and assess fit against your ideal customer profile. Receive a sourced brief covering recent developments, likely priorities, outreach talking points, and a suggested next step.

  • Researching a company before a sales approach
  • Checking existing account records and ownership
  • Assessing fit against your ideal customer profile
anthropics/knowledge-work-plugins30.2KUpdated Oct 17, 2026

account-research

FreeSummary

Research sales accounts using Common Room data to summarize company details, buying signals, ownership, and key contacts. Answer specific questions directly or prepare a broader briefing with evidence-based next steps, clearly identifying missing information.

  • Prepare a company briefing before a sales conversation
  • Check buying signals and recent account activity
  • Find account owners and key contacts
anthropics/knowledge-work-plugins30.2KUpdated Oct 17, 2026

account-tiering

FreeSummary

Score and group accounts by customer fit and engagement, such as recent contact and open sales opportunities. Identify where to focus sales effort, choose next actions, and spot promising accounts with neglected outreach or missing information.

  • Prioritize a portfolio of assigned accounts
  • Find strong-fit accounts that need outreach
  • Identify promising accounts with no recent activity
anthropics/knowledge-work-plugins30.2KUpdated Oct 17, 2026

See all skills by anthropics

Report a problem with this skill