Build Zoom Meeting SDK App
OpenAIOfficialCreated by ZoomDistributed by OpenAI
- Skill
- Tool integration
- Software development
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured workflow for developers integrating the Zoom Meeting SDK into their applications. It covers the lifecycle of a meeting integration, from initial product validation and platform selection to implementation and debugging. It emphasizes the distinction between the Meeting SDK, which is designed for human-led meetings, and other Zoom SDKs, while providing guidance on handling signatures, user identity, and meeting controls.
What it does
- Guides developers through the integration of the Zoom Meeting SDK for web, mobile, and desktop platforms.
- Provides a systematic workflow for joining and starting meetings.
- Offers troubleshooting strategies for common issues like signature generation and permission errors.
- Includes references for platform-specific implementations and AI Companion feature management.
- Helps validate meeting parameters such as meeting numbers, passwords, and ZAK tokens.
When to use it
- When you need to embed real Zoom meetings into your application.
- When you are setting up a new Zoom Meeting SDK project for web, Android, iOS, or desktop.
- When you encounter errors during the meeting join flow or signature validation.
- When you need to manage AI Companion features within an embedded meeting context.
Advantages
- Provides a clear, step-by-step path for successful SDK integration.
- Centralizes access to platform-specific documentation and troubleshooting resources.
- Helps distinguish between different Zoom SDK capabilities to ensure the right tool is used.
- Includes a dedicated signature playbook to resolve common authentication failures.
Usage examples
- “How do I start integrating the Zoom Meeting SDK for an Android app?”
- The agent will guide you through verifying your environment, choosing the default UI for initial testing, and using the Android-specific reference pointers to resolve dependencies.
- “I am getting an invalid signature error when trying to join a meeting.”
- The agent will direct you to the signature playbook to verify your SDK signature generation logic and parameter matching.
- “Can I use the Meeting SDK to build an automated AI notetaker bot?”
- The agent will clarify that the Meeting SDK is for human use cases only and recommend using rtms for automated AI processing.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/openai/build-zoom-meeting-sdk-app/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip build-zoom-meeting-sdk-app.zip -d .agents/skills
Documentation by Zoom
Build Zoom Meeting SDK App
Use this skill when the user needs to join, start, or embed real Zoom meetings. If the user wants a fully custom non-meeting video experience, route to build-zoom-video-sdk-app.
Workflow
Confirm product fit: Meeting SDK joins real Zoom meetings; Video SDK creates custom sessions; Zoom Apps SDK runs inside the Zoom client.
Choose the target platform: web, Android, iOS, macOS, Windows, Electron, React Native, Unreal, or Linux bot.
Validate the join or start path: meeting number, password, SDK signature, role, ZAK when hosting, waiting room behavior, and user identity.
Implement the smallest join flow first, then add meeting controls, custom UI, raw data, recording, or bot behavior.
Debug by isolating signature generation, SDK version, platform permissions, meeting settings, waiting room, raw data entitlement, and network constraints.
References
Full preserved guide: references/full-guide.md
Web: web/SKILL.md
Android: android/SKILL.md
iOS: ios/SKILL.md
Windows: windows/SKILL.md
Linux bots: linux/SKILL.md
Signature playbook: references/signature-playbook.md
Troubleshooting: references/troubleshooting.md
Files
- ATTRIBUTION.mdAdded by AutoGineer884 B
- LICENSELicence file added by AutoGineer1.1 KiB
- RUNBOOK.md2.6 KiB
- SKILL.md1.4 KiB
- agents/openai.yaml146 B
- references/ai-companion.md6.4 KiB
- references/android.md754 B
- references/authorization.md2.3 KiB
- references/bot-authentication.md10.5 KiB
- references/breakout-rooms.md11.8 KiB
- references/environment-variables.md1.4 KiB
- references/forum-top-questions.md3.9 KiB
- references/full-guide.md10.4 KiB
- references/ios.md919 B
- references/macos.md599 B
- references/multiple-meetings.md964 B
- references/signature-playbook.md1.4 KiB
- references/triage-intake.md1.9 KiB
- references/troubleshooting.md4.1 KiB
- references/unreal.md732 B
- references/webinars.md7.9 KiB
references/troubleshooting.md
Meeting SDK - Troubleshooting
Common issues and solutions for Meeting SDK.
Overview
Troubleshooting guide for Meeting SDK across all platforms.
Common Issues
Join Meeting Failed
| Error | Possible Cause | Solution |
|---|---|---|
| Invalid signature | JWT malformed or expired | Regenerate signature server-side |
| Meeting not found | Invalid meeting number | Verify meeting exists |
| Wrong password | Password mismatch | Check meeting password |
| Meeting locked | Host locked meeting | Contact host |
Note: Error code 0 often means success - check the SDK enum values (e.g., SDKERR_SUCCESS = 0).
Authentication Issues
| Issue | Possible Cause | Solution |
|---|---|---|
| Auth failed | Invalid credentials | Check SDK Key/Secret |
| Token expired | JWT too old | Generate fresh signature |
| Signature invalid | Wrong secret used | Verify SDK Secret |
No Video
| Issue | Possible Cause | Solution |
|---|---|---|
| Black screen | Permission denied | Request camera permission |
| Video not starting | Camera in use | Close other camera apps |
| Poor quality | Low bandwidth | Check network |
No Audio
| Issue | Possible Cause | Solution |
|---|---|---|
| Can't hear | Audio not connected | Join audio |
| Muted | User is muted | Check mute state |
| Echo | No echo cancellation | Use headphones |
Web-Specific Issues
| Issue | Possible Cause | Solution |
|---|---|---|
| SharedArrayBuffer error | Missing headers | Add COOP/COEP headers |
| Component not rendering | Wrong container | Check zoomAppRoot element |
| Toolbar/controls missing | Global CSS resets | Don't use * { margin: 0; } - scope styles to your app |
| Toolbar cropped/off-screen | Zoom UI exceeds viewport | Use transform: scale(0.95) on #zmmtg-root |
ZoomMtgEmbedded is undefined | Using CDN but Component View API | CDN provides ZoomMtg, use npm for ZoomMtgEmbedded |
Web: "Black Screen" After Join (UI Hidden Behind App)
If the meeting "joins" but you only see your app shell or a blank/black area, the Zoom UI may be rendered but covered by your SPA layout, modals, or fixed headers.
Applies mostly to Client View, and occasionally to Component View if your container is mis-sized/overlaid.
Fix (Client View):
/* Ensure the root container occupies the viewport and sits above your app shell. */
#zmmtg-root {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
bottom: 0 !important;
width: 100vw !important;
height: 100vh !important;
z-index: 9999 !important;
}Be critical: if you still see a "black screen", it can also be:
camera permission denied / no video started
your container is
display:noneor hasheight: 0(Component View)global CSS resets breaking Zoom's layout
UI Customization Confusion (Web)
If the question is about hiding passcode/invite URL or removing built-in controls:
Confirm Client View vs Component View
Prefer supported customization knobs (e.g.,
customize.meetingInfoin Component View)Avoid brittle CSS hacks unless there's no supported alternative
See:
web/references/component-view-ui-customization.md
Client View CSS Fixes
Toolbar falling off screen:
#zmmtg-root {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
bottom: 0 !important;
width: 100vw !important;
height: 100vh !important;
transform: scale(0.95) !important;
transform-origin: top center !important;
}Hide your app when meeting starts:
body.meeting-active .your-app { display: none !important; }
body.meeting-active { background: #000 !important; }Collecting Logs
See SDK Logs & Troubleshooting for log collection.
Getting Support
Collect SDK logs
Note SDK version and platform
Document steps to reproduce
Contact Developer Support
Resources
Developer forum: https://devforum.zoom.us/
Support: https://devsupport.zoom.us/
Requirements and compatibility
Written for: OpenAI Codex
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Zoom
- Publisher
- OpenAI (Official)
- Distributed by
- OpenAI
- Source
- openai/plugins · plugins/zoom/skills/meeting-sdk · commit d420d13
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from plugins/zoom/LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Zoom or OpenAI.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download build-zoom-meeting-sdk-app.zip