AVAILABLE IN VERSION 9.7.7 OR LATER
Zoom Meeting and Phone recordings can be archived into the system, using the import service framework.
For general information about Zoom recording and archiving, see Zoom.
Configure Zoom compliance archiving
Enable and configure compliance recording for Zoom users
Refer to the Zoom documentation to enable and configure meeting and phone call archiving.
For more information on meeting archiving setup, see https://support.zoom.us/hc/en-us/articles/4405656451213
Create a Zoom application
In order to allow access to the Zoom APIs, an application has to be created on the Zoom portal. The system is integrated using either the JWT based or the Server-to-server OAuth 2.0 based authentication option which is suitable for the server-to-server type of integrations.
Server-to-server OAuth 2.0 app
Create a Server-to-server OAuth 2.0 app following this article: https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/
A know bug in Zoom APIs invalidates every Server-to-server OAuth tokens upon requesting a new one, so a single OAuth app can ONLY be used by one server. If you plan to use multiple servers, create an app for each of them!
- Apply the required granular scopes to the app:
- For Zoom Phone integrations:
- Granular Scopes:
phone:read:list_call_recordings:admin
phone:read:list_call_logs:admin
- Scopes:
phone:read:admin
phone_recording:read:admin
phone_call_log:read:admin
- Granular Scopes:
For Zoom Meetings integrations:
Granular Scopes:
archiving:read:list_archived_files:admin
archiving:read:list_archived_files:master
dashboard:read:list_meeting_participants:admin
dashboard:read:list_meetings:admin
Scopes:
recording:read:admin
dashboard_meetings:read:admin
dashboard:read:admin
Scopes are being deprecated, and they are being replaced with granular scopes. Do not set scopes for new apps, and update your existing apps to include the corresponding granular scopes to avoid the apps or integrations breaking.
- For Zoom Phone integrations:
Make a note of the Account ID, Client ID, Client secret of your app, because these will be required for the import source configuration.
Configure Zoom import
The configuration includes the following steps:
- Enabling the Import Service on a server (if not enabled before)
- Creating a Zoom Meeting and/or Zoom Phone import source(s)
- Creating the corresponding import policies where CDR reconciliation can be optionally enabled
- Adding users and recorded extensions for Zoom users
- Optionally change the Zoom specific settings for the Import Service
The system includes 2 separate import sources for Zoom:
- Zoom Meeting: imports Zoom Meeting archives and optionally reconciles Zoom meeting logs with recordings
- Zoom Phone: imports Zoom Phone archives and optionally reconciles Zoom call logs with recordings
If you want to archive both Zoom Meeting and Zoom Phone, both import sources have to be configured separately.
It is not recommended to enable the import source on more than 1 server because the 2 servers will separately query the same data using the Zoom APIs. The system will eventually import only one copy of the same call and meeting, but the API usage will be doubled.
Enabling the Verba Import Service
Step 1 - In the Verba Web Interface go to System \ Servers
Step 2 - Select the server from the list where you want to enable the Import Service which will integrate with the Zoom APIs. The Import Service can be enabled on the following Server roles: Recording Server, Media Repository, Media Repository and Recording Server.
Step 3 - Activate the Verba Import Service by clicking on the icon.
Step 4 - Click on the Service Control tab.
Step 5 - Start the Verba Import Service by clicking on the icon.
Creating a Zoom Meeting or Zoom Phone import source
Follow the steps below to create a new Verba Import source for Zoom:
Step 1 - Open the Verba Web interface then select Data / Import Sources from the top menu
Step 2 - Click on the Add New Import Source link on the top right
Step 3 - Complete the configuration according to the requirements in the following table:
Name | Description |
---|---|
API Key | The Zoom API key associated with the Zoom application registered earlier |
API Secret | The Zoom API secret associated with your Zoom application registered earlier |
Forward Proxy Address | IP of the forward proxy server. If left empty, no attempt is made for establishing a forward proxy connection. |
Forward Proxy Port | Port for the forward proxy connection. |
Forward Proxy User | Username for authenticating with the Forward Proxy. If left empty, authentication is omitted. |
Forward Proxy Password | Password for authenticating with the Forward Proxy. |
API Address | The base URL of the Zoom API |
TLS Certificate File / Thumbprint | Specify the certificate file / certificate thumbprint that is being used for the Zoom API connection. If left empty then the Verba default certificate will be used. |
TLS Key File | Specify the file where the certificate key is stored if not in the windows certificate store. |
TLS Key Password | Specify the password for the file that contains the certificate keys. |
TLS Trust List | Specify the list of certificates that Verba trusts from a 3rd-party connection. Available options:
|
Step 4 - Click Save to save the settings
Creating an import policy
Once the import sources are created, a new import policy has to be created. For more information, refer to Data Import policy.
Optionally, CDR reconciliation can be enabled in the policy. For more information, see CDR reconciliation.
Adding users for archiving
In order to enable Zoom archiving create the users and the extensions on the Verba side. This can also be done via Active Directory Synchronization.
- Zoom Phone: to control which user recordings have to be downloaded and archived, and to match the imported conversations to an extension (and to a user account) you need to add the Zoom user phone extension numbers (not the Zoom user ID) as extensions with type User / Agent ID.
- Zoom Meeting: to control which user recordings have to be downloaded and archived, and to match the imported conversations to an extension (and to a user account) you need to add the Zoom user ID as extensions with type User / Agent ID.
Changing the Zoom import specific settings for the Import Service
To change the server/service level settings from the Zoom integration, follow the steps below:
Step 1 - In the Verba Web Interface go to System / Servers
Step 2 - Select the server from the list where you have the Import Service enabled for the Zoom integration.
Step 3 - Expand the Import / Zoom Phone or Import / Zoom Meeting node.
Step 4 - Change the settings based on the description below:
Name | Description |
---|---|
Give Up Timeout In Minutes | The number of minutes before finally abandoning a repeatedly failing import. Default value: 10080 → a week |
Maximum Number Of Entries To Import | The maximum number of meetings/phone calls to try and import from the Zoom API before throttling them in one import cycle. This will limit the maximal memory usage of the Import Source. This is not a hard limit, as sometimes to preserve the integrity of the imported data the application has to overstep it. If this has to happen it will be only done to the degree it is absolutely necessary. |
Maximum Page Size | The page_size argument for the Zoom API requests. The value should be between 30-100. It defines how many results should be returned per API request. More should be desirable as it reduces the number of API calls that are to be made. Default value: 100. |
Working Directory | The working directory where intermediate files will be stored. These describe where the files will be downloaded as well. The folders will be cleaned regularly, preventing their growth. Default value: [verba install directory]\work\cdrimport\zoom\phone |
Worker Thread Count | How many worker threads should be used to concurrently download media and import them. An exceedingly big number can be given, but that will be overridden if the underlying machine does not support the necessary number of cores. This way an invalid config cannot starve the system of resources. Default value: 4 |
Step 5 - Save the changes by clicking on the icon.
Step 6 - A notification banner will appear on the top. Click on the click here link, so you will be redirected to the Configuration Tasks tab. Click on the Execute button in order to execute the changes.