zoom-automation
Original:🇺🇸 English
Not Translated
Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.
1installs
Added on
NPX Install
npx skill4agent add sickn33/antigravity-awesome-skills zoom-automationSKILL.md Content
Zoom Automation via Rube MCP
Automate Zoom operations including meeting scheduling, webinar management, cloud recording retrieval, participant tracking, and usage reporting through Composio's Zoom toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Zoom connection via with toolkit
RUBE_MANAGE_CONNECTIONSzoom - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS - Most features require a paid Zoom account (Pro plan or higher)
Setup
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_MANAGE_CONNECTIONSzoom - If connection is not ACTIVE, follow the returned auth link to complete Zoom OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create and Schedule Meetings
When to use: User wants to create a new Zoom meeting with specific time, duration, and settings
Tool sequence:
- - Verify authenticated user and check license type [Prerequisite]
ZOOM_GET_USER - - Create the meeting with topic, time, duration, and settings [Required]
ZOOM_CREATE_A_MEETING - - Retrieve full meeting details including join_url [Optional]
ZOOM_GET_A_MEETING - - Modify meeting settings or reschedule [Optional]
ZOOM_UPDATE_A_MEETING - - Register participants for registration-enabled meetings [Optional]
ZOOM_ADD_A_MEETING_REGISTRANT
Key parameters:
- : Always use
userIdfor user-level apps"me" - : Meeting subject line
topic - :
type(instant),1(scheduled),2(recurring no fixed time),3(recurring fixed time)8 - : ISO 8601 format (
start_timefor UTC oryyyy-MM-ddTHH:mm:ssZwith timezone field)yyyy-MM-ddTHH:mm:ss - : Timezone ID (e.g.,
timezone)"America/New_York" - : Duration in minutes
duration - :
settings__auto_recording,"none", or"local""cloud" - : Boolean to enable waiting room
settings__waiting_room - : Boolean (disabled when waiting room is enabled)
settings__join_before_host - : Array of invitee objects with email addresses
settings__meeting_invitees
Pitfalls:
- must be in the future; Zoom stores and returns times in UTC regardless of input timezone
start_time - If no is set for type
start_time, it becomes an instant meeting that expires after 30 days2 - The for participants and
join_urlfor host come from the create response - persist thesestart_url - expires in 2 hours (or 90 days for
start_urlusers)custCreate - Meeting creation is rate-limited to 100 requests/day
- Setting names use double underscores for nesting (e.g., )
settings__host_video
2. List and Manage Meetings
When to use: User wants to view upcoming, live, or past meetings
Tool sequence:
- - List meetings by type (scheduled, live, upcoming, previous) [Required]
ZOOM_LIST_MEETINGS - - Get detailed info for a specific meeting [Optional]
ZOOM_GET_A_MEETING - - Modify meeting details [Optional]
ZOOM_UPDATE_A_MEETING
Key parameters:
- : Use
userIdfor authenticated user"me" - :
type(default),"scheduled","live","upcoming","upcoming_meetings""previous_meetings" - : Records per page (default 30)
page_size - : Pagination token from previous response
next_page_token - /
from: Date range filtersto
Pitfalls:
- excludes instant meetings and only shows unexpired scheduled meetings
ZOOM_LIST_MEETINGS - For past meetings, use
type: "previous_meetings" - Pagination: always follow until empty to get complete results
next_page_token - Token expiration: expires after 15 minutes
next_page_token - Meeting IDs can exceed 10 digits; store as long integers, not standard integers
3. Manage Recordings
When to use: User wants to list, retrieve, or delete cloud recordings
Tool sequence:
- - List all cloud recordings for a user within a date range [Required]
ZOOM_LIST_ALL_RECORDINGS - - Get recordings for a specific meeting [Optional]
ZOOM_GET_MEETING_RECORDINGS - - Move recordings to trash or permanently delete [Optional]
ZOOM_DELETE_MEETING_RECORDINGS - - List archived meeting/webinar files [Optional]
ZOOM_LIST_ARCHIVED_FILES
Key parameters:
- : Use
userIdfor authenticated user"me" - /
from: Date range intoformat (max 1 month range)yyyy-mm-dd - : Meeting ID or UUID for specific recording retrieval
meetingId - :
action(recoverable) or"trash"(permanent) for deletion"delete" - : Set to
include_fieldsto get JWT for downloading recordings"download_access_token" - : Set
trashto list recordings from trashtrue
Pitfalls:
- Date range maximum is 1 month; API auto-adjusts if range exceeds this
from - Cloud Recording must be enabled on the account
- UUIDs starting with or containing
/must be double URL-encoded// - defaults to
ZOOM_DELETE_MEETING_RECORDINGSaction (recoverable);"trash"is permanent"delete" - Download URLs require the OAuth token in the Authorization header for passcode-protected recordings
- Requires Pro plan or higher
4. Get Meeting Participants and Reports
When to use: User wants to see who attended a past meeting or get usage statistics
Tool sequence:
- - List attendees of a completed meeting [Required]
ZOOM_GET_PAST_MEETING_PARTICIPANTS - - Get meeting details and registration info for upcoming meetings [Optional]
ZOOM_GET_A_MEETING - - Get daily usage statistics (meetings, participants, minutes) [Optional]
ZOOM_GET_DAILY_USAGE_REPORT - - Get AI-generated meeting summary [Optional]
ZOOM_GET_A_MEETING_SUMMARY
Key parameters:
- : Meeting ID (latest instance) or UUID (specific occurrence)
meetingId - : Records per page (default 30)
page_size - : Pagination token for large participant lists
next_page_token
Pitfalls:
- only works for completed meetings on paid plans
ZOOM_GET_PAST_MEETING_PARTICIPANTS - Solo meetings (no other participants) return empty results
- UUID encoding: UUIDs starting with or containing
/must be double-encoded// - Always paginate with until empty to avoid dropping attendees
next_page_token - requires a paid plan with AI Companion enabled; free accounts get 400 errors
ZOOM_GET_A_MEETING_SUMMARY - has a Heavy rate limit; avoid frequent calls
ZOOM_GET_DAILY_USAGE_REPORT
5. Manage Webinars
When to use: User wants to list webinars or register participants for webinars
Tool sequence:
- - List scheduled or upcoming webinars [Required]
ZOOM_LIST_WEBINARS - - Get detailed webinar information [Optional]
ZOOM_GET_A_WEBINAR - - Register a participant for a webinar [Optional]
ZOOM_ADD_A_WEBINAR_REGISTRANT
Key parameters:
- : Use
userIdfor authenticated user"me" - :
type(default) or"scheduled""upcoming" - : Records per page (default 30)
page_size - : Pagination token
next_page_token
Pitfalls:
- Webinar features require Pro plan or higher with Webinar add-on
- Free/basic accounts cannot use webinar tools
- Only shows unexpired webinars
- Registration must be enabled on the webinar for to work
ZOOM_ADD_A_WEBINAR_REGISTRANT
Common Patterns
ID Resolution
- User ID: Always use for user-level apps to refer to the authenticated user
"me" - Meeting ID: Numeric ID (store as long integer); use for latest instance
- Meeting UUID: Use for specific occurrence of recurring meetings; double-encode if starts with or contains
/// - Occurrence ID: Use with recurring meetings to target a specific occurrence
Pagination
Most Zoom list endpoints use token-based pagination:
- Follow until it is empty or missing
next_page_token - Token expires after 15 minutes
- Set explicit (default 30, varies by endpoint)
page_size - Do not use (deprecated on many endpoints)
page_number
Time Handling
- Zoom stores all times in UTC internally
- Provide field alongside
timezonefor local time inputstart_time - Use ISO 8601 format: (UTC) or
yyyy-MM-ddTHH:mm:ssZ(with timezone field)yyyy-MM-ddTHH:mm:ss - Date-only fields use format
yyyy-mm-dd
Known Pitfalls
Plan Requirements
- Most recording and participant features require Pro plan or higher
- Webinar features require Webinar add-on
- AI meeting summaries require AI Companion feature enabled
- Archived files require "Meeting and Webinar Archiving" enabled by Zoom Support
Rate Limits
- Meeting creation: 100 requests/day, 100 updates per meeting in 24 hours
- : Moderate throttle; add delays for batch processing
ZOOM_GET_PAST_MEETING_PARTICIPANTS - : Heavy rate limit
ZOOM_GET_DAILY_USAGE_REPORT - ,
ZOOM_GET_A_MEETING: Light rate limitZOOM_GET_MEETING_RECORDINGS - ,
ZOOM_LIST_MEETINGS: Medium rate limitZOOM_LIST_ALL_RECORDINGS
Parameter Quirks
- Nested settings use double underscore notation (e.g., )
settings__waiting_room - expires in 2 hours; renew via API if needed
start_url - is automatically disabled when
join_before_hostiswaiting_roomtrue - Recurring meeting fields () only apply to type
recurrence__*and38 - field has max 10 characters with alphanumeric and
password,@,-,_only*
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Create meeting | | |
| Get meeting details | | |
| Update meeting | | |
| List meetings | | |
| Get user info | | |
| List recordings | | |
| Get recording | | |
| Delete recording | | |
| Past participants | | |
| Daily usage report | | date params |
| Meeting summary | | |
| List webinars | | |
| Get webinar | | webinar ID |
| Register for meeting | | |
| Register for webinar | | webinar ID, participant details |
| List archived files | | |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.