Reference · Tools

Zoom

Manage meetings, meeting registrants, and webinars via the Zoom API v2

Action Communication v1

The Zoom node manages meetings, meeting registrants and webinars — creating, retrieving, updating, deleting and listing them through API v2. A typical build is creating a meeting when a booking is confirmed and registering the attendee automatically.

Node type
Action
Parameters
39
Outputs
Output, Error
Credentials
Zoom OAuth2

Zoom

Manage Zoom meetings, registrants, and webinars

Overview

Zoom is a video conferencing platform. This tool provides operations for managing meetings (create, get, get many, update, delete), meeting registrants (create, get many, update status), and webinars (create, get, get many, update, delete) via the Zoom REST API v2. Supports OAuth2 authentication with automatic token refresh.

Category: Communication
Tool Name: zoom
Version: 1

Appearance: Icon: si-zoom | Color: #2D8CFF

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Zoom OAuth2 credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Meetingmeeting
Meeting RegistrantmeetingRegistrant
Webinarwebinar

Operations

OperationValueDescription
CreatecreateCreate a meeting
DeletedeleteDelete a meeting
GetgetRetrieve a meeting
Get ManygetAllRetrieve many meetings
UpdateupdateUpdate a meeting

Meeting Registrant offers create, getAll and update (which changes the registrant’s status). Webinar offers the same five values as Meeting, against webinars.

Parameters

Meeting: Create

ParameterTypeRequiredDefaultDescription
TopicstringNoTopic of the meeting. Supports expressions.
Additional FieldscollectionNo{}Optional meeting settings.
— AgendastringNoMeeting agenda.
— DurationnumberNo0Meeting duration in minutes.
— PasswordstringNoPassword to join the meeting, maximum 10 characters.
— Schedule ForstringNoSchedule meeting for someone else from your account. Provide their email ID.
— SettingscollectionNo{}In-meeting behaviour.
— — AudiooptionsNobothHow participants can join the audio portion of the meeting.
Options: both (telephony and VoIP), telephony, voip
— — Alternative HostsstringNoAlternative hosts email IDs (comma-separated).
— — Auto RecordingoptionsNononeAutomatic recording setting.
Options: local, cloud, none (disabled)
— — Host Meeting in ChinabooleanNofalseWhether to host the meeting in China.
— — Host Meeting in IndiabooleanNofalseWhether to host the meeting in India.
— — Host VideobooleanNofalseWhether to start video when host joins the meeting.
— — Join Before HostbooleanNofalseWhether to allow participants to join before host starts the meeting.
— — Mute Upon EntrybooleanNofalseWhether to mute participants upon entry.
— — Participant VideobooleanNofalseWhether to start video when participant joins the meeting.
— — Registration TypeoptionsNo1Registration type. Used for recurring meetings with fixed time only.
Options: 1 (register once, attend any occurrence), 2 (register for each occurrence), 3 (register once, choose occurrences)
— — WatermarkbooleanNofalseWhether to add a watermark when viewing shared screen.
— Start TimedateTimeNoMeeting start time (ISO 8601). Used for scheduled or recurring meetings with fixed time.
— TimezonestringNoIANA timezone identifier (e.g. America/New_York, Europe/London). Find your timezone at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
— TypeoptionsNo2Meeting type.
Options: 1 (instant meeting), 2 (scheduled meeting), 3 (recurring meeting with no fixed time), 8 (recurring meeting with fixed time)

Meeting: Get

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesThe meeting ID. Supports expressions.
Additional FieldscollectionNo{}Optional lookup settings.
— Occurrence IDstringNoTo view meeting details of a particular occurrence of a recurring meeting.
— Show Previous OccurrencesbooleanNofalseWhether to show details of all previous occurrences of a recurring meeting.

Meeting: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo30Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrows the meeting list.
— TypeoptionsNoliveMeeting type filter.
Options: scheduled (all valid past, live and upcoming scheduled meetings), live (all ongoing meetings), upcoming (all upcoming meetings including live ones)

Meeting: Update

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesThe meeting ID. Supports expressions.
Update FieldscollectionNo{}Values to change on the meeting.
— AgendastringNoMeeting agenda.
— DurationnumberNo0Meeting duration in minutes.
— PasswordstringNoPassword to join the meeting, maximum 10 characters.
— Schedule ForstringNoSchedule meeting for someone else. Provide their email ID.
— SettingscollectionNo{}In-meeting behaviour.
— — AudiooptionsNobothHow participants can join the audio portion of the meeting.
Options: both (telephony and VoIP), telephony, voip
— — Alternative HostsstringNoAlternative hosts email IDs (comma-separated).
— — Auto RecordingoptionsNononeAutomatic recording setting.
Options: local, cloud, none (disabled)
— — Host Meeting in ChinabooleanNofalseWhether to host the meeting in China.
— — Host Meeting in IndiabooleanNofalseWhether to host the meeting in India.
— — Host VideobooleanNofalseWhether to start video when host joins the meeting.
— — Join Before HostbooleanNofalseWhether to allow participants to join before host starts the meeting.
— — Mute Upon EntrybooleanNofalseWhether to mute participants upon entry.
— — Participant VideobooleanNofalseWhether to start video when participant joins the meeting.
— — Registration TypeoptionsNo1Registration type. Used for recurring meetings with fixed time only.
Options: 1 (register once, attend any occurrence), 2 (register for each occurrence), 3 (register once, choose occurrences)
— — WatermarkbooleanNofalseWhether to add a watermark when viewing shared screen.
— Start TimedateTimeNoMeeting start time (ISO 8601).
— TimezonestringNoIANA timezone identifier (e.g. America/New_York).
— TopicstringNoMeeting topic.
— TypeoptionsNo2Meeting type.
Options: 1 (instant meeting), 2 (scheduled meeting), 3 (recurring meeting with no fixed time), 8 (recurring meeting with fixed time)

Meeting: Delete

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesThe meeting ID. Supports expressions.
Additional FieldscollectionNo{}Optional deletion settings.
— Occurrence IDstringNoMeeting occurrence ID.
— Schedule ReminderbooleanNofalseWhether to notify hosts and alternative hosts about meeting cancellation via email.

Meeting Registrant: Create

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesThe meeting ID. Supports expressions.
EmailstringYesValid email address of the registrant. Supports expressions.
First NamestringYesFirst name of the registrant. Supports expressions.
Additional FieldscollectionNo{}Optional registrant details.
— AddressstringNoAddress of registrant.
— CitystringNoCity of registrant.
— CommentsstringNoAllows registrants to provide any questions they have.
— CountrystringNoCountry of registrant.
— Job TitlestringNoJob title of registrant.
— Last NamestringNoLast name of registrant.
— Occurrence IDsstringNoOccurrence IDs, separated by comma.
— OrganizationstringNoOrganization of registrant.
— Phone NumberstringNoPhone number of registrant.
— Purchasing Time FrameoptionsNoPurchasing time frame.
Options: Within a month, 1-3 months, 4-6 months, More than 6 months, No timeframe
— Role in Purchase ProcessoptionsNoRole in purchase process.
Options: Decision Maker, Evaluator/Recommender, Influencer, Not Involved
— StatestringNoState of registrant.
— Zip CodestringNoZip code of registrant.

Meeting Registrant: Get Many

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesThe meeting ID. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo30Max number of results to return. (shown when Return All is false)
Additional FieldscollectionNo{}Narrows the registrant list.
— Occurrence IDstringNoMeeting occurrence ID.
— StatusoptionsNoapprovedRegistrant status filter.
Options: pending, approved, denied

Meeting Registrant: Update

ParameterTypeRequiredDefaultDescription
Meeting IDstringYesThe meeting ID. Supports expressions.
ActionoptionsYesAction to perform on the registrant status.
Options: approve, cancel, deny
Additional FieldscollectionNo{}Optional targeting for recurring meetings.
— Occurrence IDstringNoMeeting occurrence ID.

Webinar: Create

ParameterTypeRequiredDefaultDescription
User IDstringYesUser ID or email address. Supports expressions.
Additional FieldscollectionNo{}Webinar settings.
— AgendastringNoWebinar agenda.
— Alternative HostsstringNoAlternative hosts email IDs (comma-separated).
— Approval TypeoptionsNo2Registration approval type.
Options: 0 (automatically approve), 1 (manually approve), 2 (no registration required)
— AudiooptionsNobothHow participants can join the audio portion.
Options: both (telephony and VoIP), telephony, voip
— Auto RecordingoptionsNononeAutomatic recording setting.
Options: local, cloud, none (disabled)
— DurationnumberNo0Webinar duration in minutes.
— Host VideobooleanNofalseWhether to start video when host joins the webinar.
— Panelists VideobooleanNofalseWhether to start video when panelists join the webinar.
— PasswordstringNoPassword to join the webinar, maximum 10 characters.
— Practice SessionbooleanNofalseWhether to enable practice session.
— Registration TypeoptionsNo1Registration type. Used for recurring webinars with fixed time only.
Options: 1 (register once, attend any occurrence), 2 (register for each occurrence), 3 (register once, choose occurrences)
— Start TimedateTimeNoWebinar start time (ISO 8601).
— TimezonestringNoIANA timezone identifier (e.g. America/New_York).
— TopicstringNoWebinar topic.
— TypeoptionsNo5Webinar type.
Options: 5 (webinar), 6 (recurring webinar with no fixed time), 9 (recurring webinar with fixed time)

Webinar: Get

ParameterTypeRequiredDefaultDescription
Webinar IDstringYesThe webinar ID. Supports expressions.
Additional FieldscollectionNo{}Optional lookup settings.
— Occurrence IDstringNoTo view webinar details of a particular occurrence of a recurring webinar.
— Show Previous OccurrencesbooleanNofalseWhether to show details of all previous occurrences of a recurring webinar.

Webinar: Get Many

ParameterTypeRequiredDefaultDescription
User IDstringYesUser ID or email address. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo30Max number of results to return. (shown when Return All is false)

Webinar: Update

ParameterTypeRequiredDefaultDescription
Webinar IDstringYesThe webinar ID. Supports expressions.
Additional FieldscollectionNo{}Values to change on the webinar.
— AgendastringNoWebinar agenda.
— Alternative HostsstringNoAlternative hosts email IDs (comma-separated).
— Approval TypeoptionsNo2Registration approval type.
Options: 0 (automatically approve), 1 (manually approve), 2 (no registration required)
— AudiooptionsNobothHow participants can join the audio portion.
Options: both (telephony and VoIP), telephony, voip
— Auto RecordingoptionsNononeAutomatic recording setting.
Options: local, cloud, none (disabled)
— DurationnumberNo0Webinar duration in minutes.
— Host VideobooleanNofalseWhether to start video when host joins the webinar.
— Occurrence IDstringNoWebinar occurrence ID.
— Panelists VideobooleanNofalseWhether to start video when panelists join the webinar.
— PasswordstringNoPassword to join the webinar, maximum 10 characters.
— Practice SessionbooleanNofalseWhether to enable practice session.
— Registration TypeoptionsNo1Registration type. Used for recurring webinars with fixed time only.
Options: 1 (register once, attend any occurrence), 2 (register for each occurrence), 3 (register once, choose occurrences)
— Start TimedateTimeNoWebinar start time (ISO 8601).
— TimezonestringNoIANA timezone identifier (e.g. America/New_York).
— TopicstringNoWebinar topic.
— TypeoptionsNo5Webinar type.
Options: 5 (webinar), 6 (recurring webinar with no fixed time), 9 (recurring webinar with fixed time)

Webinar: Delete

ParameterTypeRequiredDefaultDescription
Webinar IDstringYesThe webinar ID. Supports expressions.
Additional FieldscollectionNo{}Optional targeting for recurring webinars.
— Occurrence IDstringNoWebinar occurrence ID.

All Operations

ParameterTypeRequiredDefaultDescription
Zoom AccountcredentialNoConnect your Zoom account via OAuth2.
Max ConcurrencynumberNo5Maximum number of items to process concurrently. Keep low due to Zoom rate limits (free plan: 1 req/sec).

Output Data

The Zoom API response is merged onto the top level of the item JSON; anything already on the item passes through, and binary data is forwarded unchanged.

  • One output item per input item for create, get and update on every resource — the item carries the meeting, registrant or webinar object Zoom returned.
  • getAll fans out: Meeting → one item per meeting, Meeting Registrant → one item per registrant, Webinar → one item per webinar. With Return All on, the node walks Zoom’s page numbers until the last page.
  • delete returns no body, so the item carries success: true.
  • Endpoints that answer 204 with an empty body leave the item unchanged apart from what was already on it.

Usage Examples

  • Create a scheduled Zoom meeting
  • List all upcoming meetings
  • Delete a meeting by ID
  • Register someone for a meeting
  • Create a webinar for a user
  • Update meeting settings

Example Configuration

Create a scheduled meeting:

{
  "type": "zoom",
  "parameters": {
    "resource": "meeting",
    "operation": "create",
    "topic": "Weekly Team Standup",
    "additionalFields": {
      "agenda": "Review progress and blockers",
      "duration": 60,
      "password": "secure123",
      "startTime": "2026-01-15T10:00:00Z",
      "timeZone": "America/New_York",
      "type": 2,
      "settings": {
        "audio": "both",
        "hostVideo": true,
        "participantVideo": false,
        "joinBeforeHost": true,
        "muteUponEntry": true,
        "autoRecording": "cloud"
      }
    }
  }
}

Read a meeting, including its past occurrences:

{
  "type": "zoom",
  "parameters": {
    "resource": "meeting",
    "operation": "get",
    "meetingId": "123456789",
    "additionalFields": {
      "showPreviousOccurrences": true
    }
  }
}

List live meetings — one output item per meeting:

{
  "type": "zoom",
  "parameters": {
    "resource": "meeting",
    "operation": "getAll",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "type": "live"
    }
  }
}

Update a meeting:

{
  "type": "zoom",
  "parameters": {
    "resource": "meeting",
    "operation": "update",
    "meetingId": "123456789",
    "updateFields": {
      "topic": "Updated Meeting Topic",
      "duration": 90,
      "agenda": "Updated agenda with new items",
      "settings": {
        "hostVideo": true,
        "participantVideo": true,
        "muteUponEntry": false
      }
    }
  }
}

Cancel a meeting and notify the hosts:

{
  "type": "zoom",
  "parameters": {
    "resource": "meeting",
    "operation": "delete",
    "meetingId": "123456789",
    "additionalFields": {
      "scheduleForReminder": true
    }
  }
}

Register an attendee, taking their details from the item:

{
  "type": "zoom",
  "parameters": {
    "resource": "meetingRegistrant",
    "operation": "create",
    "meetingId": "123456789",
    "email": "{{ $json.email }}",
    "firstName": "{{ $json.firstName }}",
    "additionalFields": {
      "lastName": "{{ $json.lastName }}",
      "org": "Acme Corp",
      "jobTitle": "Software Engineer",
      "phone": "+1-555-123-4567",
      "city": "New York",
      "state": "NY",
      "zip": "10001",
      "country": "US",
      "purchasingTimeFrame": "Within a month",
      "roleInPurchaseProcess": "Decision Maker",
      "comments": "Looking forward to the session"
    }
  }
}

List approved registrants:

{
  "type": "zoom",
  "parameters": {
    "resource": "meetingRegistrant",
    "operation": "getAll",
    "meetingId": "123456789",
    "returnAll": true,
    "additionalFields": {
      "status": "approved"
    }
  }
}

Approve a pending registrant:

{
  "type": "zoom",
  "parameters": {
    "resource": "meetingRegistrant",
    "operation": "update",
    "meetingId": "123456789",
    "action": "approve",
    "additionalFields": {
      "occurrenceId": "1234567890"
    }
  }
}

Create a webinar:

{
  "type": "zoom",
  "parameters": {
    "resource": "webinar",
    "operation": "create",
    "userId": "user@company.com",
    "additionalFields": {
      "topic": "Product Launch Webinar",
      "agenda": "Introducing our new product features",
      "duration": 120,
      "startTime": "2026-01-20T14:00:00Z",
      "timeZone": "America/Los_Angeles",
      "type": 5,
      "password": "webinar123",
      "registrationType": 1,
      "approvalType": 2,
      "audio": "both",
      "autoRecording": "cloud",
      "hostVideo": true,
      "panelistsVideo": true,
      "practiceSession": true,
      "alternativeHosts": "backup@company.com"
    }
  }
}

Read a webinar:

{
  "type": "zoom",
  "parameters": {
    "resource": "webinar",
    "operation": "get",
    "webinarId": "987654321",
    "additionalFields": {
      "showPreviousOccurrences": false
    }
  }
}

List a user’s webinars:

{
  "type": "zoom",
  "parameters": {
    "resource": "webinar",
    "operation": "getAll",
    "userId": "user@company.com",
    "returnAll": false,
    "limit": 25
  }
}

Update a webinar:

{
  "type": "zoom",
  "parameters": {
    "resource": "webinar",
    "operation": "update",
    "webinarId": "987654321",
    "additionalFields": {
      "topic": "Updated Webinar Topic",
      "agenda": "Updated agenda with latest information",
      "duration": 150,
      "password": "newpassword123",
      "hostVideo": false,
      "panelistsVideo": false,
      "registrationType": 2
    }
  }
}

Delete a single occurrence of a recurring webinar:

{
  "type": "zoom",
  "parameters": {
    "resource": "webinar",
    "operation": "delete",
    "webinarId": "987654321",
    "additionalFields": {
      "occurrenceId": "1234567890"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Use Zoom to create, retrieve, update, delete, and list meetings, meeting registrants, and webinars via the Zoom API.

Key Relationships

  • Resource determines available operations: each resource type has its own set of valid operations
  • Operation determines required parameters: different operations require different mandatory fields
  • Collection parameters use a flat structure: Additional Fields, Update Fields and Filters are plain objects, never arrays
  • Rate limiting: keep Max Concurrency low (default 5) because of Zoom API rate limits, especially on free accounts

Meeting Settings

Meeting Create and Meeting Update nest their in-meeting behaviour under Settings inside the collection. Webinar Create and Webinar Update put the equivalent fields (Audio, Auto Recording, Host Video, Registration Type, …) directly in Additional Fields instead, with no Settings level.

Frequently asked questions

Why do the required fields keep changing?

Resource determines which operations are available, and each operation requires different mandatory fields — so choose resource and operation before filling anything in.

How should collection parameters be structured?

As a flat structure rather than nested wrappers.

Can it manage webinar registration?

Meeting registrants are supported alongside meetings and webinars, so attendee handling can be automated rather than done in the Zoom UI.

Which credential does it need?

A Zoom OAuth2 credential.

Build with the Zoom node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Zoom OAuth2 credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.