Zoom

Zoom is a cloud-based video conferencing platform that can be used for video conferencing meetings, audio conferencing, webinars, meeting recordings, and live chat.

Zoom has become a critical piece of IT infrastructure for many businesses. Having accessible data on the usage, billing, and performance of Zoom as a communications tool will relieve pressure from IT teams who otherwise have to spend time and toil logging in to multiple tools and running reports.

Zoom Account creation

Create a Zoom Account in the Zoom App Marketplace.

Pre-requisites

Account ID of the customer is required. Hit an API to get Account Id. You will be able to see the Server-to-Server-OAuth token that is used as a Bearer token to hit the API for getting the Account Id. The bearer token is available in the APP Credentials tab under the installed Server-to-Server-OAuth App in Zoom App Marketplace.

The required API is https://api.zoom.us/v2/users/{userId}. For user-level apps, pass the me value instead of userId parameter. The response of the API contains the account_id of the customer.

If you want the userId of the user, hit API https://api.zoom.us/v2/users.

Types of Authentication

OpsRamp supports Server-to-Server OAuth Authentication.

Server-to-Server OAuth authentication

The administrator for a Zoom account must enable the view and edit permissions for Server-to-Server OAuth apps.

To do this, the administrator must enable the Server-to-Server OAuth app role. Go to User Management > Roles > Role Settings > Advanced features and select the View and Edit check boxes for Server-to-Server OAuth app.

Steps to Create a Server-to-Server OAuth App

  1. Choose the Server-to-Server OAuth app type under Build App section.
  2. Click Create.
  1. Add a name for your app.
  1. Add the following details to activate your app to enable access for using ZOOM APIs:
  • App credentials — View your Account ID, Client ID and Client Secret.
  • Information — Add information about your app, such as a short description and developer contact information (name and email address is required for activation).
  • Scopes - If you have the role permission to add scopes, add scopes that you would like to enable.

Choose Add Scopes to search for and add scopes:
Note: You need to add below permissions to get discovery and monitoring data from the Zoom app:
- account:read:admin
- dashboard_home:read:admin
- dashboard_meetings:read:admin
- dashboard_webinars:read:admin
- dashboard_zr:read:admin
- room:master
- room:read:admin
- user:master
- user:read:admin

  1. Click Activate your app to activate the app.
  1. Your app should be activated. You will not be able to generate an access token to make API calls unless your app is activated. If your app is deactivated, existing tokens will no longer work. You can also choose to Deactivate your app in the section.

For more information, refer Server-to-Server-OAuth App.

Use account credentials to get an access token

To use account credentials to get an access token for your app, call the Zoom OAuth token API with the account_credentials grant_type and your account_id:

POST https://zoom.us/oauth/token?grant_type=account_credentials&account_id={accountId}HTTP/1.1
Host: zoom.us
Authorization: Basic Base64Encoder(clientId:clientSecret)

The successful response will be the access token, which is a Bearer token type that expires in an hour, with the scopes that you chose in your app settings screen:

{
“Access_token“: String,
“Token_type”: “bearer”,
“Expire_in”: long,
“scope” : [String]
}

Make API calls to Zoom endpoints

Use OAuth 2.0 to make API calls to Zoom endpoints. Send the access token in the Authorization header as a Bearer token:

For example:

GET https://api.zoom.us/v2/users/{userID}
HTTP/1.1
Host: api.zoom.us
Authorization: Bearer

Configure the integration

  1. From All Clients, select a client.

  2. Go to Setup > Integrations and Apps. If there are already installed apps, it will redirect to the INSTALLED APPS page where all the installed apps are displayed. Click +ADD and search for the App on the Available apps page.

If there are no installed apps, it will navigate to the AVAILABLE APPS page.

Use the search option available to search for the Zoom application. Alternatively, use All Categories dropdown to search. In this case, select Saas Application. All SAAS apps are displayed.
Note: The search option is used to search for apps on a page.

  1. Click ADD under Zoom:

  2. In Add ZOOM page, enter your account information:

    Image
    PropertyDescription
    Name(required) User-defined, descriptive integration name.
    Account Number(required) Enter UserId.
    Client ID(required) Enter API Key from Steps to Create a Server-to-Server OAuth App step 4
    Security Key(required) Enter API Secret from Steps to Create a Server-to-Server OAuth App step 4
    Confirm Security Key(required) Re-enter the API Secret.
  3. Click Next.In the RESOURCE TYPE section, select:

    • ALL: All the existing and future resources will be discovered.
    • SELECT: You can select one or multiple resources to be discovered.
  4. In the DISCOVERY SCHEDULE section, select Recurrence Pattern to add one of the following patterns:

    • Minutes
    • Hourly
    • Daily
    • Weekly
    • Monthly
      Image
  5. Click Finish.
    The application is now installed and displayed on the Installed Integration page. Use the search field to find the installed application.

  6. After configuring the integration, Zoom metrics can be viewed from the Infrastructure page.

    Image

The Zoom integration enables discovery of the Zoom Rooms resource.

Supported metrics

ResourceMetric NameMetric Display NameUnitsDescription
Cloud Providerzoom_TotalUsersCountTotalUsersCountcountTotal number of users on the account.
zoom_ActiveUsersCountActiveUsersCountcountThe number of active users on the account.
zoom_MeetingsCountMeetingsCountcountThe number of meetings hosted on the account.
zoom_MeetingParticipantsCountMeetingParticipantsCountcountThe count of the participants in a meeting.
zoom_FreeStorageUsedFreeStorageUsedgbAmount of free cloud storage used.
zoom_FreeStorageTotalFreeStorageTotalgbTotal amount of free storage of a recording.
zoom_PlanStorageUsedPlanStorageUsedgbThe cloud recording storage used by users on the account.
zoom_PlanStorageTotalPlanStorageTotalgbThe total cloud recording storage available on the account.
zoom_ClientSatisfactionPercentClientSatisfactionPercentpercentagePercentage of satisfaction of a client.
zoom_WebinarsCountWebinarsCountcountThe number of webinars hosted on the account.
zoom_WebinarParticipantsCountWebinarParticipantsCountcountThe count of webinar participants.
zoom_PlanHostsTotalPlanHostsTotalcountTotal number of hosts in a plan.
zoom_PlanHostsUsedPlanHostsUsedcountTotal number of hosts used.
zoom_PlanRoomsTotalPlanRoomsTotalcountNumber of rooms in a plan.
zoom_PlanRoomsUsedPlanRoomsUsedcountThe number of rooms used.
zoom_PlanWebinarsTotalPlanWebinarsTotalcountTotal number of webinars in a plan.
zoom_PlanWebinarsUsedPlanWebinarsUsedcountNumber of Webinars used in a plan.
Zoom Roomzoom_room_audio_not_meet_usability_thresholdAudio device has quality issuesNoneSend an alert when the audio echo test result does not meet the usability threshold.
zoom_room_controller_scheduling_disconnectedController or Scheduling display disconnectedNoneSend an alert when the connection to the Controller or Scheduling Display cannot be detected.
zoom_room_cpu_usage_high_detectedHigh CPU usage detectedNoneSend an alert when CPU usage is above 90%.
zoom_room_mic_speaker_camera_disconnectedMicrophone, Speaker, or Camera disconnectedNoneSend an alert when the mic, speaker, or camera is disconnected in the Zoom Room.
zoom_room_network_unstable_detectedLow bandwidth network detectedNoneSend an alert when a low bandwidth network is detected.
zoom_room_offlineZoom Room offlineNoneSend an alert when the machine hosting the Zoom Room application has a network issue or cannot connect with the Controller.