Something went wrong!
Hang in there while we get back on track
Zoom API Integration
Manage Zoom meetings, users, recordings, and webinars programmatically via the Zoom REST API
Requires Claude Code CLI
This skill integrates with Zoom through Claude Code. Install Claude Code and add this skill to use it.
Available Actions
List Meetings
Retrieve all scheduled meetings for a specific user
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| user_id | string | Required | User ID or email address. Use 'me' for authenticated user |
Returns
object List of meetings with details including ID, topic, start time, and join URL
Try saying...
- "Show me all upcoming Zoom meetings"
- "List my scheduled Zoom meetings"
- "What Zoom meetings do I have?"
Create Meeting
Schedule a new Zoom meeting
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| user_id | string | Required | User ID or email. Use 'me' for authenticated user |
| topic | string | Required | Meeting title/topic |
| duration | integer | Optional | Meeting duration in minutes |
Returns
object Created meeting details including meeting ID, start URL, join URL, and password
Try saying...
- "Create a Zoom meeting called 'Project Review'"
- "Schedule a 30 minute Zoom meeting for the team"
- "Set up a new Zoom meeting"
Get Meeting Details
Retrieve detailed information about a specific meeting
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| meeting_id | string | Required | The meeting ID or UUID |
Returns
object Full meeting details including settings, participants, and URLs
Try saying...
- "Get details for Zoom meeting 123456789"
- "Show me information about meeting ID 123456789"
- "What are the details of this Zoom meeting?"
Delete Meeting
Cancel and delete a scheduled meeting
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| meeting_id | string | Required | The meeting ID to delete |
Returns
string Confirmation message
Try saying...
- "Delete Zoom meeting 123456789"
- "Cancel meeting ID 123456789"
- "Remove this Zoom meeting"
List Recordings
Get all cloud recordings for a user
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| user_id | string | Required | User ID or email. Use 'me' for authenticated user |
Returns
object List of recordings with download URLs and metadata
Try saying...
- "Show all Zoom recordings"
- "List my recorded Zoom meetings"
- "What recordings do I have?"
List Users
Get all users in the Zoom account (requires admin privileges)
Returns
object List of users with email, name, and status
Try saying...
- "List all Zoom users"
- "Show me all users in my Zoom account"
- "Who are the Zoom users?"
Getting Started
- 1 Go to Zoom App Marketplace: https://marketplace.zoom.us/develop/create
- 2 Click 'Create' and select 'Server-to-Server OAuth'
- 3 Fill in app details (name, company, developer contact)
- 4 Copy your Account ID, Client ID, and Client Secret
- 5 Add required scopes: meeting:write:admin, meeting:read:admin, user:read:admin, recording:read:admin
- 6 Activate your app
- 7 Add credentials to shell config: echo 'export ZOOM_ACCOUNT_ID="YOUR_ID"' >> ~/.zshrc
- 8 Add Client ID: echo 'export ZOOM_CLIENT_ID="YOUR_ID"' >> ~/.zshrc
- 9 Add Client Secret: echo 'export ZOOM_CLIENT_SECRET="YOUR_SECRET"' >> ~/.zshrc
- 10 Restart terminal or run: source ~/.zshrc
Verify Setup
source ~/.config/claude-skills/zoom-api/.venv/bin/activate && python /workspace/webserver/lib/smartvox/skill_hub/skills/zoom-api/scripts/client.py list-users
Success: Returns JSON with users list
Security & Access
Access Scope
Full access to meetings, users, recordings, and webinars based on configured OAuth scopes. Can create, read, update, and delete resources in your Zoom account.
- Server-to-Server OAuth apps have account-level access - be careful with permissions
- Only grant the minimum scopes needed for your use case
- Client Secret provides full API access - keep it secure and never commit to version control
- Access tokens are cached in memory for 55 minutes for performance
- Anyone with your credentials can manage your Zoom account via the API
Limitations
- Cannot access in-meeting controls (mute participants, current speaker, etc.)
- Some endpoints require admin-level privileges
- Access tokens expire after 1 hour (automatically refreshed by client)
- Rate limits vary based on account subscription level
Get This Skill
Requires Pro subscription ($9/month)
Quick Reference
- Type
- REST API
- Auth
- OAuth 2.0
- Setup
- Moderate Setup
- Tools Required
- Bash
- Python Dependencies
- requests>=2.28.0
Documentation
Have Feedback?
Help us improve this skill by sharing your ideas and suggestions.
Request Improvements