Skip to content
Business
Skill

/linux

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

From plugin
knowledge-work-plugins
24k192 skills5 agents15 commands40 MCP
Install
$ npx -y skills add anthropics/knowledge-work-plugins --skill linux --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/linux

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

linux.SKILL.md
name: meeting-sdk/linux
description: "Zoom Meeting SDK for Linux - C++ headless meeting bots with raw audio/video access, transcription, recording, and AI integration for server-side automation"
user-invocable: false
triggers:
  - "linux meeting bot"
  - "headless zoom bot"
  - "meeting sdk linux"
  - "zoom raw recording linux"
  - "meeting transcription bot"
  - "zoom docker bot"
  - "pulseaudio zoom"
  - "meeting sdk raw data"

Zoom Meeting SDK - Linux Development

Expert guidance for building headless meeting bots with the Zoom Meeting SDK on Linux. This SDK enables server-side meeting participation, raw media capture, transcription, and AI-powered meeting automation.

How to Build a Meeting Bot That Automatically Joins and Records

Use this skill when the requirement is:

  • visible bot joins a real Zoom meeting
  • the bot records raw media itself
  • or the bot triggers a Zoom-managed cloud-recording workflow after join

Skill chain:

  • primary: `meeting-sdk/linux`
  • add `zoom-rest-api` for OBF/ZAK lookup, scheduling, or cloud-recording settings
  • add `zoom-webhooks` when post-meeting cloud recording retrieval is required

Minimal raw-recording flow:

JoinParam join_param;
join_param.userType = SDK_UT_WITHOUT_LOGIN;
auto& params = join_param.param.withoutloginuserJoin;
params.meetingNumber = meeting_number;
params.userName = "Recording Bot";
params.psw = meeting_password.c_str();
params.app_privilege_token = obf_token.c_str();

SDKError join_err = meeting_service->Join(join_param);
if (join_err != SDKERR_SUCCESS) {
    throw std::runtime_error("join_failed");
}

// In MEETING_STATUS_INMEETING callback:
auto* record_ctrl = meeting_service->GetMeetingRecordingController();
if (!record_ctrl) {
    throw std::runtime_error("recording_controller_unavailable");
}

if (record_ctrl->CanStartRawRecording() != SDKERR_SUCCESS) {
    throw std::runtime_error("raw_recording_not_permitted");
}

SDKError record_err = record_ctrl->StartRawRecording();
if (record_err != SDKERR_SUCCESS) {
    throw std::runtime_error("start_raw_recording_failed");
}

GetAudioRawdataHelper()->subscribe(new MyAudioDelegate());

Use **raw recording** when the bot must own PCM/YUV media or feed an AI pipeline directly. Use **cloud recording + webhooks** when the requirement is Zoom-managed MP4/M4A/transcript assets after the meeting.

**Official Documentation**: https://developers.zoom.us/docs/meeting-sdk/linux/ **API Reference**: https://marketplacefront.zoom.us/sdk/meeting/linux/ **Sample Repository (Raw Recording)**: https://github.com/zoom/meetingsdk-linux-raw-recording-sample **Sample Repository (Headless)**: https://github.com/zoom/meetingsdk-headless-linux-sample

Quick Links

**New to Meeting SDK Linux? Follow this path:**

1. **[linux.md](linux.md)** - Quick start guide with complete workflow 2. **[concepts/high-level-scenarios.md](concepts/high-level-scenarios.md)** - Production bot architectures 3. **[meeting-sdk-bot.md](meeting-sdk-bot.md)** - Resilient bot with retry logic 4. **[references/linux-reference.md](references/linux-reference.md)** - Dependencies, Docker, CMake

**Common Use Cases:**

  • **Transcription Bot** → [high-level-scenarios.md#scenario-1-transcription-bot](concepts/high-level-scenarios.md)
  • **Recording Bot** → [high-level-scenarios.md#scenario-2-recording-bot](concepts/high-level-scenarios.md)
  • **AI Meeting Assistant** → [high-level-scenarios.md#scenario-3-ai-meeting-assistant](concepts/high-level-scenarios.md)
  • **Quality Monitoring** → [high-level-scenarios.md#scenario-4-monitoring-quality-bot](concepts/high-level-scenarios.md)
  • **Auto-Join + Recording Bot** → [meeting-sdk-bot.md](meeting-sdk-bot.md) for raw recording orchestration, retry, and cloud-recording handoff

**Having issues?**

  • Docker audio issues → [references/linux-reference.md#pulseaudio-setup](references/linux-reference.md)
  • Raw recording permission denied → [meeting-sdk-bot.md#raw-recording-permission-denied](meeting-sdk-bot.md)
  • Build errors → [references/linux-reference.md#troubleshooting](references/linux-reference.md)

Routing Rule for Bots

If the user asks to build a bot that **automatically joins a Zoom meeting and records it**, start with [meeting-sdk-bot.md](meeting-sdk-bot.md).

  • Use **Meeting SDK Linux** for the visible participant, join flow, and raw recording control.
  • Chain **zoom-rest-api** when the bot must fetch OBF/ZAK tokens, schedule meetings, or enable account-side recording settings.
  • Chain **zoom-webhooks** when the requirement is Zoom cloud recording retrieval after meeting end.

SDK Overview

The Zoom Meeting SDK for Linux is a **C++ library optimized for headless server environments**:

  • **Headless Operation**: No GUI required, perfect for Docker/cloud
  • **Raw Data Access**: YUV420 video, PCM audio at 32kHz
  • **GLib Event Loop**: Async event handling for callbacks
  • **Docker-Ready**: Pre-configured Dockerfiles for CentOS/Ubuntu
  • **PulseAudio Integration**: Virtual audio devices for headless environments

Key Differences from Video SDK

| Feature | Meeting SDK (Linux) | Video SDK | |---------|-------------------|-----------| | **Primary Use** | Join existing meetings as bot | Host custom video sessions | | **Visibility** | Visible participant | Session participant | | **UI** | Headless (no UI) | Optional custom UI | | **Authentication** | JWT + OBF/ZAK for external meetings | JWT only | | **Recording Control** | `StartRawRecording()` required | Direct raw data access | | **Platform** | Linux only | Windows, macOS, iOS, Android |

Prerequisites

System Requirements

  • **OS**: Ubuntu 22+, CentOS 8/9, Oracle Linux 8
  • **Architecture**: x86_64
  • **Compiler**: gcc/g++ with C++11 support
  • **Build Tools**: cmake 3.16+

Development Dependencies

# Ubuntu
apt-get install -y build-essential cmake \
    libx11-xcb1 libxcb-xfixes0 libxcb-shape0 libxcb-shm0 \
    libxcb-randr0 libxcb-image0 libxcb-keysyms1 libxcb-xtest0 \
    libglib2.0-dev libcur
Read more
Ships withknowledge-work-plugins

Plugins that turn Claude into a specialist for your role, team, and company. Built for Claude Cowork, also compatible with Claude Code.

Get the whole plugin

Other skills on knowledge-work-plugins.