Skip to content
cccskills
FreePublished on GitHub

zoom-plugin-sdk-macos

Zoom Plugin SDK for native macOS companion applications using Swift or Objective-C to control an installed Zoom Workplace client over IPC. Use for Xcode integration, OAuth initialization, start/join flows, participant controls, audio/video settings, app or monitor sharing, recording, captions, and supported meeting UI operations on macOS.

The English summary is being prepared. Showing the original description.

zoom/skills85 stars(GitHub 85 + cccskills 0)
Works withZoom

Run score Not tested

See how to install

Files included (6)

  • SKILL.md4.6 KB
  • agents/openai.yaml234 B
  • capabilities.md687 B
  • references/lifecycle-and-integration.md3.9 KB
  • references/package-and-api-map.md3.0 KB
  • troubleshooting/common-issues.md3.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Zoom Plugin SDK for macOS

Use Swift or Objective-C to control Zoom Workplace from a separate native macOS application.

Start Here

  1. Read Lifecycle and Integration.
  2. Use Package and API Map to locate the authoritative header and sample for a feature.
  3. Use Capabilities to check whether the official client can do the requested operation.
  4. Implement the smallest auth and IPC connection baseline.
  5. Add start/join and meeting-state handling.
  6. Add one feature toolkit at a time.
  7. Use Common Issues when callbacks, linking, permissions, or client compatibility fail.

Baseline Requirements

  • A Zoom Marketplace General app with Plugin SDK enabled.
  • A user OAuth access token containing plugin_sdk:read:connection_meta.
  • Zoom Workplace 7.0.2 or later according to the public setup documentation.
  • Xcode 16.1 or later.
  • The complete signed dependency set from the package's PSDKLibs/ folder.

Package review baseline: zoom-plugin-sdk-macos-universal-7.1.0.595.

Minimal Lifecycle

Retain the listener for the full initialized lifetime:

import Cocoa
import ZoomToolSuite

final class PluginListener: NSObject, ZoomToolSuiteEventListenerProtocol {
    func onAuthResult(_ result: ZoomToolSuiteAuthResult) {
        // Continue only after .success.
    }

    func onIPCConnectStatusChanged(
        _ status: ZoomToolSuiteIPCConnectStatus,
        errorMessage: String?
    ) {
        // Enable controls only after .connected.
    }

    func onMeetingStatusChanged(_ status: ZoomToolSuiteMeetingStatus) {
        // Enable meeting toolkits only after .inMeeting.
    }
}

final class PluginController {
    private let listener = PluginListener()

    func initialize(accessToken: String) {
        let context = ZoomToolSuiteAuthContext()
        context.accessToken = accessToken
        context.domain = "https://zoom.us"
        ZoomToolSuiteAPI.initSDK(context, listener: listener)
    }

    func shutdown() {
        ZoomToolSuiteAPI.uninitSDK()
    }
}

Start or Join

let join = ZoomToolSuiteJoinMeetingParam()
join.displayName = "Display Name"
join.meetingNumber = 1234567890
join.password = ""

let submitted = ZoomToolSuiteAPI.PreMeeting.Launch.joinMeeting(param: join) { result in
    guard result.error_code == .success else {
        return
    }
}

submitted means the SDK accepted the call for processing. The completion result and subsequent meeting-status callbacks determine the actual outcome.

Implementation Guardrails

  • Wait for auth success and .connected IPC status before calling pre-meeting APIs.
  • Wait for .inMeeting before calling meeting feature APIs.
  • Use the relevant ZoomToolSuiteMeetingInstance for default meeting, green room, or breakout-room contexts.
  • Check host/co-host role and feature capability before privileged operations.
  • Keep UI updates on the AppKit main thread if callbacks arrive on another thread.
  • Do not embed client secrets in a distributed macOS app. Use PKCE/public-client behavior or a backend token exchange appropriate to the Marketplace app configuration.
  • Re-sign packaged frameworks and libraries with the application's signing identity.

Feature Routing

TaskAPI family
Start/join, settings window, URL navigationZoomToolSuiteAPI.PreMeeting.Launch
Status, properties, leave/end, statisticsZoomToolSuiteAPI.Meeting.MeetingAPI
Roster, roles, permissions, host controlsZoomToolSuiteAPI.Meeting.Participants
Mute, unmute, mute on entryZoomToolSuiteAPI.Meeting.Audio
Camera, pin, spotlight, avatarZoomToolSuiteAPI.Meeting.Video
Share application, monitor, camera, file, audio, frame, whiteboardZoomToolSuiteAPI.Meeting.Share
Recording, waiting room, chat/UI, captions, Q&A, webinarMatching ZoomToolSuiteAPI.Meeting.* namespace
Device selection and audio/video processing settingsZoomToolSuiteAPI.Setting.Audio and .Video

Sources

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

Zoom Contact Center skill pack for Contact Center apps, web embeds, and native mobile SDK integrations. Use for lifecycle patterns, engagement context/state handling, campaigns, callbacks, and version-drift troubleshooting.

The English summary is being prepared. Showing the original description.

zoom/skills85Updated Oct 20, 2026

Zoom Contact Center SDK for Android. Use for native Android chat/video/ZVA/scheduled callback integrations, campaign mode, service lifecycle, and rejoin handling.

The English summary is being prepared. Showing the original description.

zoom/skills85Updated Oct 20, 2026

Zoom Contact Center SDK for iOS. Use for native iOS chat/video/ZVA/scheduled callback integrations, app lifecycle bridging, rejoin flow, and callback handling.

The English summary is being prepared. Showing the original description.

zoom/skills85Updated Oct 20, 2026

Zoom Contact Center SDK for Web. Use for web chat/video/campaign embeds, engagement event handling, app-context integrations, and Smart Embed postMessage workflows.

The English summary is being prepared. Showing the original description.

zoom/skills85Updated Oct 20, 2026

Zoom AI Services Decisions for typed predicates, constrained classification, ordered scoring, probability-aware routing, and inline image comparison. Use when building or debugging Decisions requests, production x-api-key authentication, standard/pro model selection, Boolean choices, or score-label normalization.

The English summary is being prepared. Showing the original description.

zoom/skills85Updated Oct 20, 2026

Zoom Meeting SDK for Linux - C++ headless meeting bots with raw audio/video access, transcription, recording, and AI integration for server-side automation

The English summary is being prepared. Showing the original description.

zoom/skills85Updated Oct 20, 2026

See all skills by zoom

Report a problem with this skill