Overview
Zoom is a video-conferencing platform. The Automize Zoom connector covers meeting + webinar lifecycle (create, get, list, update, delete), user management, recordings, and registrants.
- Regions: Zoom is a single global service – api.zoom.us. Some accounts are pinned to specific data centres via Zoom's data routing.
- Plans: Basic (free), Pro, Business, Enterprise – all expose the API. Webinars need the Webinar add-on subscription.
Setting up the connection
Auth type: OAuth 2.0 (Client Credentials).
- Go to marketplace.zoom.us → Develop → Build App → Server-to-Server OAuth.
- Name it (e.g. Automize). Add scopes (meeting:read, meeting:write, user:read, recording:read).
- Copy Account ID, Client ID, Client Secret.
- In Automize, open Settings → Connectors → Zoom → Add connection. Paste the three values.
- S2S OAuth uses Client Credentials grant – no user signs in.
Find your credentials at https://marketplace.zoom.us/develop/create.
Rate limits
Zoom enforces per-account daily caps + per-second burst (varies by plan). Heavy meeting-creation work can hit ~80/day on Pro accounts. Connector retries 429 with Retry-After.
Data model
Zoom's primitives:
Account ─┬─ Users
├─ Meetings ─┬─ Registrants (registration meetings)
│ ├─ Participants (post-meeting)
│ └─ Recordings
├─ Webinars (similar shape, separate licence)
└─ Phone (Zoom Phone – separate from this connector)
user_id can be 'me' (the authenticated user, but for S2S there's no
'me' – pass an explicit user ID or email).Available operations
16 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Add registrant | General | Add a registrant to a Zoom meeting. |
| Create Meeting | General | Create a new meeting |
| Create webinar | General | Create a Zoom webinar. |
| Delete Meeting | General | Delete a meeting |
| Delete recording | General | Delete a Zoom cloud recording. |
| Get Meeting | General | Get meeting details |
| Get recording | General | Get recording details for a Zoom meeting. |
| Get User | General | Get user details |
| Get Webinar | General | Get webinar details |
| List Meetings | General | List meetings for a user |
| List participants | General | List participants of a Zoom meeting. |
| List Recordings | General | List cloud recordings for a user |
| List registrants | General | List registrants for a Zoom meeting. |
| List Users | General | List all users |
| List Webinars | General | List webinars for a user |
| Update meeting | General | Update a Zoom meeting. |
Operations
Add registrant
Add a registrant to a Zoom meeting.
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text | |
Email email | Yes | text | |
First Name first_name | Yes | text | |
Last Name last_name | No | text |
Tips
- For registration-enabled meetings. Returns join_url for that specific registrant.
Create Meeting
Create a new meeting
| Parameter | Required | Type | Description |
|---|---|---|---|
User Id user_id | Yes | text | |
Topic topic | Yes | text | |
Type type | Yes | text | |
Start Time start_time | Yes | text | |
Duration duration | Yes | number | |
Timezone timezone | Yes | text | |
Agenda agenda | Yes | text | |
Settings settings | Yes | text |
Tips
- topic (subject) + type (1=instant, 2=scheduled, 3=recurring-no-fixed, 8=recurring-fixed).
- start_time + duration for scheduled. timezone in IANA format (America/New_York).
- settings: join_before_host, mute_upon_entry, waiting_room, host_video, participant_video.
Create webinar
Create a Zoom webinar.
| Parameter | Required | Type | Description |
|---|---|---|---|
User Id user_id | Yes | text | |
Topic topic | No | text | |
Start Time start_time | No | text | |
Duration duration | No | number | |
Type type | No | text |
Tips
- Same shape as Create Meeting but accepts webinar-specific fields (panellists, branding).
Delete Meeting
Delete a meeting
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text |
Tips
- Cancels the meeting. Email participants if schedule_for_reminder=true.
Delete recording
Delete a Zoom cloud recording.
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text |
Get Meeting
Get meeting details
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text |
Tips
- meeting_id (numeric). Returns meeting + start_url (host login link).
Get recording
Get recording details for a Zoom meeting.
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text |
Tips
- meeting_id. Returns recording files (MP4, M4A, VTT, TXT chat). Each has a download_url.
Get User
Get user details
| Parameter | Required | Type | Description |
|---|---|---|---|
User Id user_id | Yes | text |
Tips
- user_id, email, or 'me' (only useful for User OAuth, not S2S).
Get Webinar
Get webinar details
| Parameter | Required | Type | Description |
|---|---|---|---|
Webinar Id webinar_id | Yes | text |
Tips
- webinar_id. Returns webinar metadata.
List Meetings
List meetings for a user
| Parameter | Required | Type | Description |
|---|---|---|---|
User Id user_id | Yes | text |
Tips
- Per-user – pass user_id. type: scheduled, live, upcoming, past.
List participants
List participants of a Zoom meeting.
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text |
Tips
- Past meeting participants (from the dashboard reporting API).
List Recordings
List cloud recordings for a user
| Parameter | Required | Type | Description |
|---|---|---|---|
User Id user_id | Yes | text |
Tips
- Per-user – pass user_id. Filter by from + to dates.
- Returns cloud recordings only (not local).
List registrants
List registrants for a Zoom meeting.
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text |
Tips
- Returns registrants for a meeting. status: pending, approved, denied.
List Users
List all users
No input parameters.
Tips
- Returns users in the account. status: active, inactive, pending.
- Page via page_size + next_page_token.
List Webinars
List webinars for a user
| Parameter | Required | Type | Description |
|---|---|---|---|
User Id user_id | Yes | text |
Tips
- Per-user – pass user_id. Requires Webinar add-on.
Update meeting
Update a Zoom meeting.
| Parameter | Required | Type | Description |
|---|---|---|---|
Meeting Id meeting_id | Yes | text |
Tips
- PATCH-style. To reschedule, update start_time + duration.
FAQ
- S2S OAuth vs User OAuth?
- S2S (Server-to-Server) authenticates as the account, no user interaction – best for backend automation. User OAuth requires a sign-in flow and acts as that user. The connector uses S2S; for User OAuth flows, configure separately.
- Recording download – direct URL?
- download_url in Get Recording. Append ?access_token=<your-zwt> or pass Authorization header. The connector handles auth; if you fetch externally, the URL needs the JWT/zwt.
- Meeting types – what's the difference?
- 1=Instant (start now). 2=Scheduled (fixed time). 3=Recurring no fixed time (unlimited starts). 8=Recurring with fixed schedule (occurrences[]).
- Why is my Create Meeting returning 401 even with valid creds?
- S2S OAuth tokens expire after 1 hour. Connector auto-refreshes, but if you copy a token externally and reuse, it'll expire. Use the connector's bearer mechanism.