Skip to main content

Zoom Component

Easily manage users, meetings, and webinars in your Zoom account

Component key: zoom

Description

Zoom is a video teleconferencing software program developed by Zoom Video Communications. The Zoom component allows you to manage meetings, recordings, users and webinars.

Connections

OAuth 2.0

This component uses OAuth 2.0 to connect to Zoom's API. To create a Zoom OAuth 2.0 app, first visit the Zoom Marketplace. Log in and click Develop -> Build an App. Select OAuth as your app type and give your app a name. Select that you want an Account-level app. Do not elect to publish your app to Marketplace.

On the next page give your app an icon (probably your core product's logo). Add Prismatic's OAuth callback URL, https://oauth2.prismatic.io/callback to two places: the Redirect URL for OAuth and to Add allow lists.

Take note of the Client ID and Client secret that were generated - these will be entered into Prismatic when you create an integration that uses the Zoom component. Click Continue.

Give your app a short description, and fill in the remaining basic information about your app. This is the information your customers will see when they grant your integration permission to interact with Zoom on their behalf. Click Continue.

You can safely ignore the Verification Token that is generated for you on the next screen - that's used for incoming webhooks from Zoom. Click Continue.

Zoom OAuth 2.0 Scopes

Scopes determine what an integration is allowed to do on your customer's behalf. For Zoom apps, scopes are configured on the next page. For the correct permissions, add the following scopes to your app:

  • If you plan to view and manage meetings, add meeting:master, meeting:read:admin and meeting:write:admin
  • If you plan to view and manage webinars, add webinar:master, webinar:read:admin and webinar:write:admin
  • If you plan to view and manage recordings, add recording:master, recording:read:admin and recording:write:admin
  • If you plan to view and manage users, add user:master, user:read:admin and user:write:admin

You can omit the other scopes, as this component does not implement actions for accounts, billing, etc. Click Continue to complete the creation of your OAuth app.

You can now authenticate your integration with Zoom. Additional information on Zoom OAuth 2.0 apps is available in Zoom's documentation.

Triggers

Webhook

Receive and validate webhook requests from Zoom for webhooks you configure. | key: webhookReceiver

Webhooks (Event Subscriptions) must be enabled for your Marketplace app with the following configurations:

  • A valid Event Notification Endpoint URL
  • The User has been activated subscription must be enabled under the User event.

To enable Event Subscriptions

  1. In the designated Zoom App navigate to the Feature section and enable Event Subscriptions
  2. Select Add Event Subscriptions and name the Subscripton
  3. for the Event notification endpoint URL use the trigger URL provided in the designated flow of the Prismatic integration.
  4. example: https://hooks.ci.prismatic-dev.io/trig5G5RT5TRGB1lNjBlLTIzYjktNGY4MS04NjY3LTFiNTM2YWQyYWM5Yg==
  5. Add the events you would like the integration to receive updates and Save when completed.

Actions

Add Meeting Registrant

Add a new registrant to an existing meeting | key: addMeetingRegistrant


Add Webinar Registrant

Add a new registrant of an existing webinar | key: addWebinarRegistrant


Create Meeting

Create a new meeting with an existing user as the host | key: createMeeting

Output Example Payload

{
"data": {
"page_count": 1,
"page_number": 1,
"page_size": 30,
"total_records": 1,
"next_page_token": null,
"meetings": [
{
"uuid": "example/PiXZTLiwZLisi+dL+g==",
"id": 87272670533,
"host_id": "example_6cTCWFHEE20SifVg",
"topic": "Daily Meeting",
"type": 2,
"start_time": "2021-12-15T12:02:00Z",
"duration": 60,
"timezone": "America/Chicago",
"created_at": "2021-12-01T20:30:47Z",
"join_url": "https://example.zoom.us/j/87272670532?pwd=UE8xd2NBT0Q3TVpKMGU0WUtuSnI2Zz09"
}
]
}
}

Create User

Create a new user | key: createUser

Output Example Payload

{
"data": {
"page_count": 1,
"page_number": 1,
"page_size": 30,
"total_records": 1,
"next_page_token": null,
"users": [
{
"id": "exampleUserId",
"first_name": "John",
"last_name": "Doe",
"email": "someone@example.com",
"type": 1,
"pmi": 12345,
"timezone": "America/Chicago",
"verified": 1,
"created_at": "2021-11-18-T20:49:06Z",
"status": "active",
"role_id": 0
}
]
}
}

Delete User

Delete the information and metadata of a user by Id | key: deleteUser


Get Accounts Phone Recordings

Get the information and metadata of all recordings by Account | key: getAccountsPhoneRecordings


Get Meeting

Get the information and metadata of a meeting by Id | key: getMeeting

Output Example Payload

{
"data": {
"page_count": 1,
"page_number": 1,
"page_size": 30,
"total_records": 1,
"next_page_token": null,
"meetings": [
{
"uuid": "example/PiXZTLiwZLisi+dL+g==",
"id": 87272670533,
"host_id": "example_6cTCWFHEE20SifVg",
"topic": "Daily Meeting",
"type": 2,
"start_time": "2021-12-15T12:02:00Z",
"duration": 60,
"timezone": "America/Chicago",
"created_at": "2021-12-01T20:30:47Z",
"join_url": "https://example.zoom.us/j/87272670532?pwd=UE8xd2NBT0Q3TVpKMGU0WUtuSnI2Zz09"
}
]
}
}

Get Meeting Invitation

Get an invitation for a meeting | key: getMeetingInvitation

Output Example Payload

{
"data": {
"invitation": "\n John Doe is inviting you to a scheduled Zoom meeting.\n\n Topic: This is an example topic!\n Time: This is a recurring meeting Meet anytime\n\n Join Zoom Meeting\n https://us05web.zoom.us/j/87634730132?pwd=bGIycHczQWc0djdnaXZSTkJnOWJWZz09\n\n Meeting ID: 876 3473 0132\n Passcode: examplePassword\n "
}
}

Get Meeting Recordings

Get a list of all recordings of a meeting | key: getMeetingRecordings


Get Phone Recordings

List all of the given users call recordings | key: getPhoneRecordings


Get User

Get the information and metadata of a user by Id | key: getUser

Output Example Payload

{
"data": {
"page_count": 1,
"page_number": 1,
"page_size": 30,
"total_records": 1,
"next_page_token": null,
"users": [
{
"id": "exampleUserId",
"first_name": "John",
"last_name": "Doe",
"email": "someone@example.com",
"type": 1,
"pmi": 12345,
"timezone": "America/Chicago",
"verified": 1,
"created_at": "2021-11-18-T20:49:06Z",
"status": "active",
"role_id": 0
}
]
}
}

Get Users Phone Recordings

List all phone recordings by a given user | key: getUsersPhoneRecordings


Get Webinar

Get the information and metadata of a webinar by Id | key: getWebinar


List Meeting Registrants

Get the information and metadata of all registrants to a meeting by Id | key: listMeetingRegistrants


List Meetings

List all meetings by user Id | key: listMeetings

Output Example Payload

{
"data": {
"page_count": 1,
"page_number": 1,
"page_size": 30,
"total_records": 1,
"next_page_token": null,
"meetings": [
{
"uuid": "example/PiXZTLiwZLisi+dL+g==",
"id": 87272670533,
"host_id": "example_6cTCWFHEE20SifVg",
"topic": "Daily Meeting",
"type": 2,
"start_time": "2021-12-15T12:02:00Z",
"duration": 60,
"timezone": "America/Chicago",
"created_at": "2021-12-01T20:30:47Z",
"join_url": "https://example.zoom.us/j/87272670532?pwd=UE8xd2NBT0Q3TVpKMGU0WUtuSnI2Zz09"
}
]
}
}

List User's Channels

List all channels of a given user | key: listUsersChannels


List User's Chat Messages

List all chat messages of a given user | key: listUsersChatMessages


List User's Recordings

List all recordings taken by a given user | key: listUsersRecordings


List Users

List all users connected to your Zoom account | key: listUsers

Output Example Payload

{
"data": {
"page_count": 1,
"page_number": 1,
"page_size": 30,
"total_records": 1,
"next_page_token": null,
"users": [
{
"id": "exampleUserId",
"first_name": "John",
"last_name": "Doe",
"email": "someone@example.com",
"type": 1,
"pmi": 12345,
"timezone": "America/Chicago",
"verified": 1,
"created_at": "2021-11-18-T20:49:06Z",
"status": "active",
"role_id": 0
}
]
}
}

List Webinar Participants

List all participants of a given webinar | key: listWebinarParticipants


List Webinar Registrants

List all registrants of a given webinar. | key: listWebinarRegistrants


List Webinars

List all webinars for the given user | key: listWebinars


Raw Request

Send raw HTTP request to Zoom | key: rawRequest


Update Meeting

Update the information and metadata of an existing meeting by Id | key: updateMeeting

Output Example Payload

{
"data": {}
}

Update User

Update the information or metadata of a user by Id | key: updateUser