zoom-automation
通过Rube MCP(Composio)自动化Zoom会议创建、管理、录制、网络研讨会及参与者跟踪。始终优先搜索工具以获取当前架构信息。
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_MANAGE_CONNECTIONS with toolkit zoomRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit zoomCore 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:
ZOOM_GET_USER - Verify authenticated user and check license type [Prerequisite]ZOOM_CREATE_A_MEETING - Create the meeting with topic, time, duration, and settings [Required]ZOOM_GET_A_MEETING - Retrieve full meeting details including join_url [Optional]ZOOM_UPDATE_A_MEETING - Modify meeting settings or reschedule [Optional]ZOOM_ADD_A_MEETING_REGISTRANT - Register participants for registration-enabled meetings [Optional]Key parameters:
userId: Always use "me" for user-level appstopic: Meeting subject linetype: 1 (instant), 2 (scheduled), 3 (recurring no fixed time), 8 (recurring fixed time)start_time: ISO 8601 format (yyyy-MM-ddTHH:mm:ssZ for UTC or yyyy-MM-ddTHH:mm:ss with timezone field)timezone: Timezone ID (e.g., "America/New_York")duration: Duration in minutessettings__auto_recording: "none", "local", or "cloud"settings__waiting_room: Boolean to enable waiting roomsettings__join_before_host: Boolean (disabled when waiting room is enabled)settings__meeting_invitees: Array of invitee objects with email addressesPitfalls:
start_time must be in the future; Zoom stores and returns times in UTC regardless of input timezonestart_time is set for type 2, it becomes an instant meeting that expires after 30 daysjoin_url for participants and start_url for host come from the create response - persist thesestart_url expires in 2 hours (or 90 days for custCreate users)settings__host_video)2. List and Manage Meetings
When to use: User wants to view upcoming, live, or past meetings
Tool sequence:
ZOOM_LIST_MEETINGS - List meetings by type (scheduled, live, upcoming, previous) [Required]ZOOM_GET_A_MEETING - Get detailed info for a specific meeting [Optional]ZOOM_UPDATE_A_MEETING - Modify meeting details [Optional]Key parameters:
userId: Use "me" for authenticated usertype: "scheduled" (default), "live", "upcoming", "upcoming_meetings", "previous_meetings"page_size: Records per page (default 30)next_page_token: Pagination token from previous responsefrom / to: Date range filtersPitfalls:
ZOOM_LIST_MEETINGS excludes instant meetings and only shows unexpired scheduled meetingstype: "previous_meetings"next_page_token until empty to get complete resultsnext_page_token expires after 15 minutes3. Manage Recordings
When to use: User wants to list, retrieve, or delete cloud recordings
Tool sequence:
ZOOM_LIST_ALL_RECORDINGS - List all cloud recordings for a user within a date range [Required]ZOOM_GET_MEETING_RECORDINGS - Get recordings for a specific meeting [Optional]ZOOM_DELETE_MEETING_RECORDINGS - Move recordings to trash or permanently delete [Optional]ZOOM_LIST_ARCHIVED_FILES - List archived meeting/webinar files [Optional]Key parameters:
userId: Use "me" for authenticated userfrom / to: Date range in yyyy-mm-dd format (max 1 month range)meetingId: Meeting ID or UUID for specific recording retrievalaction: "trash" (recoverable) or "delete" (permanent) for deletioninclude_fields: Set to "download_access_token" to get JWT for downloading recordingstrash: Set true to list recordings from trashPitfalls:
from if range exceeds this/ or containing // must be double URL-encodedZOOM_DELETE_MEETING_RECORDINGS defaults to "trash" action (recoverable); "delete" is permanent4. Get Meeting Participants and Reports
When to use: User wants to see who attended a past meeting or get usage statistics
Tool sequence:
ZOOM_GET_PAST_MEETING_PARTICIPANTS - List attendees of a completed meeting [Required]ZOOM_GET_A_MEETING - Get meeting details and registration info for upcoming meetings [Optional]ZOOM_GET_DAILY_USAGE_REPORT - Get daily usage statistics (meetings, participants, minutes) [Optional]ZOOM_GET_A_MEETING_SUMMARY - Get AI-generated meeting summary [Optional]Key parameters:
meetingId: Meeting ID (latest instance) or UUID (specific occurrence)page_size: Records per page (default 30)next_page_token: Pagination token for large participant listsPitfalls:
ZOOM_GET_PAST_MEETING_PARTICIPANTS only works for completed meetings on paid plans/ or containing // must be double-encodednext_page_token until empty to avoid dropping attendeesZOOM_GET_A_MEETING_SUMMARY requires a paid plan with AI Companion enabled; free accounts get 400 errorsZOOM_GET_DAILY_USAGE_REPORT has a Heavy rate limit; avoid frequent calls5. Manage Webinars
When to use: User wants to list webinars or register participants for webinars
Tool sequence:
ZOOM_LIST_WEBINARS - List scheduled or upcoming webinars [Required]ZOOM_GET_A_WEBINAR - Get detailed webinar information [Optional]ZOOM_ADD_A_WEBINAR_REGISTRANT - Register a participant for a webinar [Optional]Key parameters:
userId: Use "me" for authenticated usertype: "scheduled" (default) or "upcoming"page_size: Records per page (default 30)next_page_token: Pagination tokenPitfalls:
ZOOM_ADD_A_WEBINAR_REGISTRANT to workCommon Patterns
ID Resolution
"me" for user-level apps to refer to the authenticated user/ or contains //Pagination
Most Zoom list endpoints use token-based pagination:
next_page_token until it is empty or missingpage_size (default 30, varies by endpoint)page_number (deprecated on many endpoints)Time Handling
timezone field alongside start_time for local time inputyyyy-MM-ddTHH:mm:ssZ (UTC) or yyyy-MM-ddTHH:mm:ss (with timezone field)yyyy-mm-dd formatKnown Pitfalls
Plan Requirements
Rate Limits
ZOOM_GET_PAST_MEETING_PARTICIPANTS: Moderate throttle; add delays for batch processingZOOM_GET_DAILY_USAGE_REPORT: Heavy rate limitZOOM_GET_A_MEETING, ZOOM_GET_MEETING_RECORDINGS: Light rate limitZOOM_LIST_MEETINGS, ZOOM_LIST_ALL_RECORDINGS: Medium rate limitParameter Quirks
settings__waiting_room)start_url expires in 2 hours; renew via API if neededjoin_before_host is automatically disabled when waiting_room is truerecurrence__) only apply to type 3 and 8password field has max 10 characters with alphanumeric and @, -, _, onlyQuick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Create meeting | ZOOM_CREATE_A_MEETING | userId, topic, start_time, type |
| Get meeting details | ZOOM_GET_A_MEETING | meetingId |
| Update meeting | ZOOM_UPDATE_A_MEETING | meetingId, fields to update |
| List meetings | ZOOM_LIST_MEETINGS | userId, type, page_size |
| Get user info | ZOOM_GET_USER | userId |
| List recordings | ZOOM_LIST_ALL_RECORDINGS | userId, from, to |
| Get recording | ZOOM_GET_MEETING_RECORDINGS | meetingId |
| Delete recording | ZOOM_DELETE_MEETING_RECORDINGS | meetingId, action |
| Past participants | ZOOM_GET_PAST_MEETING_PARTICIPANTS | meetingId, page_size |
| Daily usage report | ZOOM_GET_DAILY_USAGE_REPORT | date params |
| Meeting summary | ZOOM_GET_A_MEETING_SUMMARY | meetingId |
| List webinars | ZOOM_LIST_WEBINARS | userId, type |
| Get webinar | ZOOM_GET_A_WEBINAR | webinar ID |
| Register for meeting | ZOOM_ADD_A_MEETING_REGISTRANT | meetingId, participant details |
| Register for webinar | ZOOM_ADD_A_WEBINAR_REGISTRANT | webinar ID, participant details |
| List archived files | ZOOM_LIST_ARCHIVED_FILES | from, to |