agentleFS
zoomzoom/skills/skills/meeting-sdk/SKILL.md

zoom-meeting-sdk

Skill82 starsChanged 8 months agoMITView on GitHub

Zoom Meeting SDK for embedding Zoom meetings into web, Android, iOS, macOS, Unreal, React Native, Electron, and Linux applications. Use when you want to integrate the full Zoom meeting experience into your app. Supports Web (JavaScript), React Native (iOS/Android), Electron desktop apps, Linux (C++ headless bots), and native platforms.

  • Reads credentials

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user asks to embed/join meetings inside their app UI, route to Meeting SDK implementation.

    line 47
  2. Very specific:

    Do not switch to REST-only meeting link flow unless the user explicitly asks for meeting resource management or browser join_url links.

    line 48
  3. Distinctive:

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

    line 160

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Zoom Meeting SDK

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

Current Release Snapshot

Verified from the public changelog on 2026-07-10:

Platform familyCurrent release
Android, Electron, iOS, Linux, macOS, Windows7.1.0
React Native7.0.5
Web6.2.0
Unreal wrapper1.1.0 (wraps Meeting SDK 6.1.5)

Native 7.1.0 adds I420 Limited/Full support, face-region ROI in raw video, on-demand avatar download, and platform-specific breakout-room additions. It includes breaking changes on several native platforms, so diff the downloaded headers/wrappers before copying examples from older package snapshots in this repository.

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
  • Client ID and Client Secret from Marketplace; legacy SDK Key/Secret migration was enforced on June 27, 2026
  • Platform-specific development environment (Web, Android, iOS, macOS, Unreal, Electron, Linux, or Windows)

Need to create the SDK app first? Use Marketplace app management for app creation, manifest validation, app-type quirks, and credential response shapes before generating Meeting SDK signatures. Start from the Meeting SDK create template.

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/6.2.0/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/6.2.0/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/6.2.0/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/6.2.0/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/6.2.0/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/6.2.0/zoom-meeting-6.2.0.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({
      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 the Client 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 = {
    appKey: process.env.ZOOM_CLIENT_ID,
    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_CLIENT_SECRET
  );
  
  res.json({ signature });
});

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
Client ID/SecretCurrent Meeting SDK credentials from Marketplace
SignatureJWT with appKey signed using the Client Secret
Component ViewExtractable, customizable UI (Web)
Client ViewFull-page Zoom UI (Web)

Detailed References

Platform Guides

  • android/SKILL.md - Android SDK (default/custom UI, join/start/auth lifecycle, mobile integration)
  • android/references/android-reference-map.md - Android API surface map and drift watchpoints
  • ios/SKILL.md - iOS SDK (default/custom UI, join/start/auth lifecycle, mobile integration)
  • ios/references/ios-reference-map.md - iOS API surface map and drift watchpoints
  • macos/SKILL.md - macOS SDK (desktop default/custom UI, service controllers, host flows)
  • macos/references/macos-reference-map.md - macOS API surface map and drift watchpoints
  • unreal/SKILL.md - Unreal Engine wrapper (C++/Blueprint wrapper behavior and SDK mapping)
  • unreal/references/unreal-reference-map.md - Unreal wrapper reference map and version-lag notes
  • references/android.md - Android pointer doc for fast routing from broad Meeting SDK queries
  • references/ios.md - iOS pointer doc for fast routing from broad Meeting SDK queries
  • references/macos.md - macOS pointer doc for fast routing from broad Meeting SDK queries
  • references/unreal.md - Unreal pointer doc for fast routing from broad Meeting SDK queries
  • linux/SKILL.md - Linux SDK headless bot skill entrypoint
  • linux/linux.md - Linux SDK (C++ headless bots, raw media access)
  • linux/references/linux-reference.md - Linux dependencies, Docker, troubleshooting
  • react-native/SKILL.md - React Native SDK (iOS/Android wrapper, join/start flows, bridge setup)
  • react-native/SKILL.md - React Native complete navigation
  • electron/SKILL.md - Electron SDK (desktop wrapper, auth/join flows, module controllers, raw data)
  • electron/SKILL.md - Electron complete navigation
  • windows/SKILL.md - Windows SDK (C++ desktop applications, raw media access)
  • windows/references/windows-reference.md - Windows dependencies, Visual Studio setup, troubleshooting
  • web/references/web.md - Web SDK (Component + Client View)
  • web/references/web-tracking-id.md - Tracking ID configuration

Features

  • references/authorization.md - SDK JWT generation
  • references/bot-authentication.md - ZAK vs OBF vs JWT tokens for bots
  • references/breakout-rooms.md - Programmatic breakout room management
  • references/ai-companion.md - AI Companion controls in meetings
  • references/webinars.md - Webinar SDK features
  • references/forum-top-questions.md - Common forum question patterns (what to cover)
  • references/triage-intake.md - What to ask first (turn vague reports into answers)
  • references/signature-playbook.md - Signature/root-cause playbook
  • references/multiple-meetings.md - Joining multiple meetings / multiple instances
  • references/troubleshooting.md - Common issues and solutions

Sample Repositories

Official (by Zoom)

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

Resources

Environment Variables

  • See references/environment-variables.md for standardized .env keys and where to find each value.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.