🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Zoom Unofficial Community Skill

by @tanchunsiong

Zoom API integration for meetings, calendar, chat, and user management. Use when the user asks to schedule meetings, check Zoom calendar, list recordings, send Zoom chat messages, manage contacts, or interact with any Zoom Workplace feature. Supports Server-to-Server OAuth and OAuth apps.

Versionv0.0.5
Downloads2,715
Installs1
Stars⭐ 1
TERMINAL
clawhub install zoom-unofficial-community-skill

πŸ“– About This Skill


name: zoom-unofficial-community-skill description: Zoom API integration for meetings, calendar, chat, and user management. Use when the user asks to schedule meetings, check Zoom calendar, list recordings, send Zoom chat messages, manage contacts, or interact with any Zoom Workplace feature. Supports Server-to-Server OAuth and OAuth apps.

Zoom

Use scripts/zoom.py to interact with Zoom's REST API.

Prerequisites

pip3 install requests PyJWT --break-system-packages

Authentication

Set these in the skill's .env file (copy from .env.example):

  • ZOOM_ACCOUNT_ID β€” Account ID (from Zoom Marketplace app)
  • ZOOM_CLIENT_ID β€” OAuth Client ID
  • ZOOM_CLIENT_SECRET β€” OAuth Client Secret
  • ZOOM_USER_EMAIL β€” Email of the Zoom user to act as (required for S2S apps; defaults to me if unset)
  • ZOOM_RTMS_CLIENT_ID β€” Client ID of the RTMS Marketplace app (required for rtms-start/rtms-stop; this is a separate app from the S2S OAuth app)
  • Create a Server-to-Server OAuth app at https://marketplace.zoom.us/ for full API access. See references/AUTH.md for detailed setup guide.

    Commands

    Meetings

    # List upcoming meetings
    python3 scripts/zoom.py meetings list

    List live/in-progress meetings (requires Business+ plan with Dashboard)

    python3 scripts/zoom.py meetings live

    Start RTMS for a live meeting (requires ZOOM_RTMS_CLIENT_ID)

    python3 scripts/zoom.py meetings rtms-start

    Stop RTMS for a live meeting

    python3 scripts/zoom.py meetings rtms-stop

    Get meeting details

    python3 scripts/zoom.py meetings get

    Schedule a new meeting

    python3 scripts/zoom.py meetings create --topic "Standup" --start "2026-01-28T10:00:00" --duration 30

    Schedule with options

    python3 scripts/zoom.py meetings create --topic "Review" --start "2026-01-28T14:00:00" --duration 60 --agenda "Sprint review" --password "abc123"

    Delete a meeting

    python3 scripts/zoom.py meetings delete

    Update a meeting

    python3 scripts/zoom.py meetings update --topic "New Title" --start "2026-01-29T10:00:00"

    Calendar (upcoming schedule)

    # Today's meetings
    python3 scripts/zoom.py meetings list --from today --to today

    This week's meetings

    python3 scripts/zoom.py meetings list --from today --days 7

    Recordings

    # List cloud recordings
    python3 scripts/zoom.py recordings list

    List recordings for date range

    python3 scripts/zoom.py recordings list --from "2026-01-01" --to "2026-01-31"

    Get recording details

    python3 scripts/zoom.py recordings get

    Download recording files (video/audio)

    python3 scripts/zoom.py recordings download python3 scripts/zoom.py recordings download --output ~/Downloads

    Download transcript files only

    python3 scripts/zoom.py recordings download-transcript python3 scripts/zoom.py recordings download-transcript --output ~/Downloads

    Download AI Companion summary as markdown

    python3 scripts/zoom.py recordings download-summary python3 scripts/zoom.py recordings download-summary --output ~/Downloads

    Delete a recording

    python3 scripts/zoom.py recordings delete

    AI Meeting Summary (AI Companion)

    # List meeting summaries
    python3 scripts/zoom.py summary list
    python3 scripts/zoom.py summary list --from "2026-01-01" --to "2026-01-31"

    Get AI summary for a specific meeting

    python3 scripts/zoom.py summary get

    Users

    # Get my profile
    python3 scripts/zoom.py users me

    List users (admin)

    python3 scripts/zoom.py users list

    Team Chat

    # List chat channels
    python3 scripts/zoom.py chat channels

    List messages in a channel

    python3 scripts/zoom.py chat messages

    Send a message to a channel

    python3 scripts/zoom.py chat send "Hello team!"

    Send a direct message

    python3 scripts/zoom.py chat dm "Hey, are you free?"

    List contacts

    python3 scripts/zoom.py chat contacts

    Phone (Zoom Phone)

    # List call logs
    python3 scripts/zoom.py phone calls --from "2026-01-01" --to "2026-01-31"
    

    Scopes Required

    For Server-to-Server OAuth, enable these scopes in your Zoom Marketplace app. Only add the scopes you need β€” each command group requires specific scopes:

    | Command Group | Scopes Needed | |---|---| | users me / users list | user:read:admin | | meetings list/get/create/update/delete | meeting:read:admin, meeting:write:admin | | recordings list/get/delete | recording:read:admin, recording:write:admin | | chat channels/messages/send/dm | chat_channel:read:admin, chat_message:read:admin, chat_message:write:admin | | chat contacts | contact:read:admin | | summary list/get | meeting_summary:read:admin | | phone calls | phone:read:admin (requires Zoom Phone enabled on account) |

    If you get a scope error, go to https://marketplace.zoom.us/ β†’ your app β†’ Scopes, and add the missing scope listed in the error message.

    Rate Limits

    Zoom API has rate limits (varies by endpoint, typically 30-100 req/sec). The script handles 429 responses with automatic retry.

    βš™οΈ Configuration

    pip3 install requests PyJWT --break-system-packages