New to Claude Skills? Learn how to install them →

anthropics on GitHub

Zoom Meeting SDK App

OfficialFree

Seamlessly embed Zoom meetings into your applications.

Get this skill

Free · Opens the source repo

What Zoom Meeting SDK App does

The Zoom Meeting SDK App provides developers with a comprehensive reference for integrating Zoom meeting functionalities into various platforms including web, mobile, desktop, and Linux environments. This skill is particularly useful for those looking to implement real-time meeting experiences directly within their applications, leveraging Zoom's powerful features while maintaining control over the user interface.

This skill emphasizes the importance of using the Meeting SDK for embedding and joining meetings, as opposed to relying solely on REST API calls. It guides developers through the necessary prerequisites such as obtaining SDK credentials from the Zoom Marketplace, and it outlines the critical steps for initializing the SDK and joining meetings securely using JWT signatures. The documentation is structured to cater to multiple platforms, providing platform-specific guidance for Android, iOS, Electron, and more, ensuring that developers can find the information relevant to their specific use case.

In addition to the core functionality, the SDK App includes troubleshooting tips, best practices for UI integration, and examples of common patterns such as authentication and meeting joining. This makes it an invaluable resource for developers who are not only looking to implement Zoom meetings but also want to customize the experience according to their application's needs. The skill also highlights potential pitfalls, such as CSS conflicts and the importance of server-side signature generation, which can help prevent common issues during development.

Whether you are building a new application or enhancing an existing one, the Zoom Meeting SDK App provides the foundational knowledge and resources needed to effectively integrate Zoom's meeting capabilities into your projects, making it a must-have for developers in need of a robust video conferencing solution.

When to use it

Use this skill when you need to embed Zoom meetings within your application and require detailed guidance on platform-specific SDK behaviors and workflows.

When not to use it

This skill is not suitable for users looking for basic meeting link management or REST API-only solutions without embedding capabilities.

What you can build with it

Integrating Zoom into a Web Application

Use the Zoom Meeting SDK to embed a full Zoom meeting experience directly into your web application, allowing users to join meetings without leaving your platform.

Building a Custom Zoom Bot

Leverage the Linux SDK capabilities to create a headless bot that can join Zoom meetings, providing automated functionalities such as recording or monitoring.

Developing a Mobile App with Video Conferencing

Utilize the SDK for iOS or Android to incorporate Zoom meeting functionalities into your mobile app, enhancing user engagement with video conferencing features.

How to install Zoom Meeting SDK App

View source

1. Install with the skills CLI

npx skills add anthropics/knowledge-work-plugins/meeting-sdk --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by anthropics

/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

Frequently asked questions about Zoom Meeting SDK App

Similar skills