Embed Zoom meeting components into web apps with flexible custom layouts.
The material indicates this is essentially an open-source wrapper/documentation for the Zoom Web SDK, and the system has already classified it as prompt-only with no declared built-in secrets or remote endpoints. Based on the provided facts, no clear high-risk red flags are present, but real Zoom meeting integration still warrants attention to external SDK usage, meeting credentials, and data flows.
The header states the skill itself requires no keys/environment variables, but the README example for `client.join()` explicitly uses `signature`, `sdkKey`, meeting number, password, and email. If supplied by the host application, these values are sensitive and could be exposed or misused.
Although the metadata declares no remote endpoints, the README includes a CDN installation path from `source.zoom.us`, and its purpose is to connect to real Zoom meetings. In practical use, it would normally communicate with Zoom infrastructure and transmit meeting-related data. The material does not show exfiltration to unrelated or unknown third parties.
The system has marked it as prompt-only. The provided content is primarily installation and integration guidance, with no indication that the skill itself launches local processes, executes shell commands, or requests system privileges beyond normal web/frontend integration.
The material does not describe direct reading/writing of local files or host-system resources. However, as a meeting component, the example handles meeting information such as username, email, meeting number, and password, and in real use may process audio/video session data. No obvious overbroad access is declared in the material.
Positive factors include a GitHub origin and open-source availability, which provide some auditability. However, the repository is `anthropics/knowledge-work-plugins` with 0 stars, no declared license, unknown maintenance status, and the README depends on the external package `@zoom/meetingsdk` or Zoom CDN. Supply-chain transparency and maintenance signals are only moderate, so caution is appropriate.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "zoom-meeting-sdk-web-component-view" skill from askskill: 1. Download https://raw.githubusercontent.com/anthropics/knowledge-work-plugins/main/partner-built/zoom-plugin/skills/meeting-sdk/web/component-view/SKILL.md 2. Save it as ~/.claude/skills/component-view/SKILL.md 3. Reload skills and tell me it's ready
Give me an example of integrating Zoom Meeting SDK Web Component View in a React app, using async/await to initialize and join a meeting, including the required container, parameter explanations, and basic error handling.
A usable React integration example showing component mounting, meeting join flow, and error handling.
I want to place the Zoom embedded meeting UI inside a custom page layout. Explain how to configure containers, control component placement, and provide an implementation approach suitable for Vue or Angular.
Guidance on embedded container configuration and custom layout control, with implementation suggestions for frontend frameworks.
Help me wrap ZoomMtgEmbedded initialization, auth parameter handling, and meeting join flow into a reusable JavaScript module using Promise or async/await style.
A clearly structured reusable module design to simplify embedded Zoom meeting integration.
Embeddable Zoom meeting components for flexible integration into any web application. Component View provides Promise-based APIs and customizable UI.
This is the correct web skill for a custom UI around a real Zoom meeting. Do not route to Video SDK unless the user is building a non-meeting custom session product.
Component View uses ZoomMtgEmbedded.createClient() to create embeddable meeting components within a specific container element.
| Aspect | Details |
|---|---|
| API Object | ZoomMtgEmbedded.createClient() (instance) |
| API Style | Promise-based (async/await) |
| UI | Embeddable in any container |
| Password param | password (lowercase) |
| Events | on()/off() |
| Best For | Custom layouts, React/Vue/Angular apps |
npm install @zoom/meetingsdk --save
import ZoomMtgEmbedded from '@zoom/meetingsdk/embedded';
<script src="https://source.zoom.us/{VERSION}/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/{VERSION}/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-embedded-{VERSION}.min.js"></script>
import ZoomMtgEmbedded from '@zoom/meetingsdk/embedded';
// Step 1: Create client instance (do once, not on every render!)
const client = ZoomMtgEmbedded.createClient();
async function joinMeeting() {
try {
// Step 2: Get container element
const meetingSDKElement = document.getElementById('meetingSDKElement');
// Step 3: Initialize client
await client.init({
zoomAppRoot: meetingSDKElement,
language: 'en-US',
debug: true,
patchJsMedia: true,
leaveOnPageUnload: true,
});
// Step 4: Join meeting
await client.join({
signature: signature,
sdkKey: sdkKey,
meetingNumber: meetingNumber,
userName: userName,
password: password, // lowercase!
userEmail: userEmail,
});
console.log('Joined successfully!');
} catch (error) {
console.error('Failed to join:', error);
}
}
| Parameter | Type | Description |
|---|---|---|
zoomAppRoot | HTMLElement | Container element for meeting UI |
| Parameter | Type | Default | Description |
|---|---|---|---|
language | string | 'en-US' | UI language |
debug | boolean | false | Enable debug logging |
| Parameter | Type | Default | Description |
|---|---|---|---|
patchJsMedia | boolean | false | Auto-apply media fixes |
leaveOnPageUnload | boolean | false | Cleanup on page unload |
enableHD | boolean | true | Enable 720p video |
enableFullHD | boolean | false | Enable 1080p video |
| Parameter | Type | Description |
|---|---|---|
customize | object | UI customization options |
webEndpoint | string | For ZFG: 'www.zoomgov.com' |
assetPath | string | Custom path for AV libraries |
await client.init({
zoomAppRoot: element,
customize: {
// Meeting info displayed
meetingInfo: [
'topic',
'host',
'mn',
'pwd',
'telPwd',
'invite',
'participant',
'dc',
'enctype'
],
// Video customization
video: {
isResizable: true,
viewSizes: {
default: {
width: 1000,
height: 600
},
ribbon: {
width: 300,
height: 700
}
…
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 the right Zoom surface for a product use case with clear tradeoffs.
Turn an approved brief into social assets, copy, and a staged campaign.
Embed Zoom meeting features into web apps with full or component-based integration.
Quickly integrate a full-page Zoom meeting interface into web apps.
Embed Zoom meetings in Electron apps with auth, join flows, and raw data.
Embed Zoom meetings deeply into native Windows desktop applications with C++.
Integrate Zoom meetings into React Native apps and troubleshoot SDK setup issues.
Integrate browser-based video, screen sharing, recording, and captions into web apps.