Zoom Component
Easily manage users, meetings, and webinars in your Zoom account
Component key: zoomDescription
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
andmeeting:write:admin
- If you plan to view and manage webinars, add
webinar:master
,webinar:read:admin
andwebinar:write:admin
- If you plan to view and manage recordings, add
recording:master
,recording:read:admin
andrecording:write:admin
- If you plan to view and manage users, add
user:master
,user:read:admin
anduser: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 Receiver
Handle and validate webhook requests from Zoom | key: webhookReceiver
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 a raw HTTP request to Zoom API | 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