Brightmetrics provides powerful analytics and reporting for Zoom Phone and Zoom Contact Center. This guide walks you through creating a private Server-to-Server OAuth app in your Zoom account, which allows Brightmetrics to securely access your Zoom data for analytics processing.
Estimated time: Less than 15 minutes
Prerequisites
- A Zoom account with admin privileges (account owner or admin role)
- A Zoom Phone and/or Zoom Contact Center license
- Your Brightmetrics account credentials
Part 1: Create an App in the Zoom Marketplace
Complete all steps in the Zoom App Marketplace first. After the setup is complete in Zoom, you will copy your credentials from the completed app into Brightmetrics.
-
1
Enable the Server-to-Server OAuth Role
Before creating an app, verify that the Server-to-Server OAuth role is enabled in your Zoom account. In the Zoom web portal, go to User Management > Roles > Role Settings > Advanced Features and select the View and Edit check boxes for Server-to-server OAuth app.
-
2
Open the Zoom App Marketplace
Log in to the Zoom App Marketplace with your Zoom admin account. In the top navigation bar, click Develop and then select Build App.
-
3
Create a Server-to-Server OAuth App
Zoom will ask what kind of app you are creating. Select Server to Server OAuth App and click Create.
This app type allows Brightmetrics to communicate directly with the Zoom API on behalf of your account without requiring individual user authorization.
-
4
Name the App
Enter Brightmetrics as the App Name and click Create.
-
5
App Credentials
After the app is created, you will see the App Credentials page displaying your Account ID, Client ID, and Client Secret. You do not need to copy these yet — you will return to this page after setup is complete.
Click Continue.
-
6
Fill In App Information
On the Information page, fill in the required fields:
App Name Brightmetrics Short Description Can be left blank for private apps Company Name Brightmetrics Developer Contact Name Brightmetrics Support Developer Contact Email support@brightmetrics.com These fields are required by Zoom for all apps, even private ones that will not be published. Click Continue when done.
-
7
Feature
On the Feature page, you will see a Secret Token under the Token section. You will copy this value later when configuring Brightmetrics.
You do not need to enable the Event Subscriptions toggle — Brightmetrics will configure webhook subscriptions automatically.
Click Continue.
-
8
Add Scopes
On the Scopes page, click + Add Scopes to open the scope selection dialog.
Scopes define which Zoom APIs Brightmetrics is allowed to access. All required scopes must be added before connecting to Brightmetrics, since Brightmetrics will verify that the necessary scopes are present. Brightmetrics currently requires about 50 scopes. You may select them individually, or you can grant scopes at the category level — this second method is faster but will grant more scopes than are technically required for Brightmetrics to operate correctly.
Quick Method (Recommended)The fastest way to add scopes is to search by category prefix and select all matching scopes at once:
1. In the search box, type
phone:read:and select the Phone product on the left2. Click the Select All dropdown and choose Select All (Admin)
3. Clear the search box and type
contact_center:read:and select the Contact Center product4. Click Select All and choose Select All (Admin)
5. Repeat for the remaining categories:
user:read:(User product),group:read:(Group product),marketplace:read:(Marketplace product)6. Click Done
If you prefer to add only the specific scopes Brightmetrics requires, refer to the Required Scopes section at the end of this article and add each scope individually.
Optional Scopes — If you use any of these Zoom add-on products with Brightmetrics, add these additional scopes:
Workforce Management (WFM) Reporting:
workforce_management:read:list_adherence_agents:adminworkforce_management:read:list_schedule_agents:admin
Quality Management (QM) Reporting:
zoom_quality_management:read:evaluations:adminzoom_quality_management:read:interactions:admin
Click Continue when all scopes have been added.
-
9
Activate the App
On the Activation page, click Activate your app. You should see a green checkmark and a confirmation message: "Your app is activated on the account."
Your Zoom app is now fully configured. Next, you will enter your credentials into Brightmetrics.
Part 2: Connect Brightmetrics
-
10
Open Data Source Configuration
Log in to Brightmetrics and click Data Source Configuration in the left-hand sidebar. Find the Zoom Data Connection Group card and click the gear icon to open the Data Connection Instance settings.
-
11
Enter Your Zoom Credentials
In the Edit Data Connection Instance dialog, enter the following values from your Zoom app:
1. Return to the Zoom App Marketplace and open your Brightmetrics app. Navigate to App Credentials to find your Account ID, Client ID, and Client Secret.
2. Enter each value into the corresponding field in Brightmetrics: Account ID, App Credentials Client ID, and App Credentials Client Secret.
3. Navigate to the Feature page in the Zoom app and copy the Secret Token.
4. Paste it into the Webhook Secret field in Brightmetrics.
ImportantKeep your Client Secret and Webhook Secret secure. Do not share them via email or store them in an unsecured location.
-
12
Authenticate
Click Authenticate. Brightmetrics will validate your credentials and verify that all required scopes are present on your Zoom app.
If any scopes are missing, Brightmetrics will display a diagnostics dialog listing the specific scopes you need to add. Return to your Zoom app's Scopes page, add the missing scopes, and try again.
Once authentication succeeds, Brightmetrics will begin the initial data import.
NoteThe initial data import may take several hours depending on the volume of historical data in your Zoom account.
Troubleshooting
| Scopes not available | If certain scopes do not appear in the scope picker, your Zoom account may not have the required product licenses (e.g., Zoom Phone or Zoom Contact Center). Contact your Zoom account representative to verify your licenses. |
| Connection errors after setup | If Brightmetrics reports a connection error, verify that the Account ID, Client ID, Client Secret, and Webhook Secret were copied correctly and that the app is in an activated state in the Zoom App Marketplace. |
| Missing scopes | If Brightmetrics diagnostics reports missing scopes, return to your Zoom app's Scopes page in the App Marketplace, add the listed scopes, and click Try Again in Brightmetrics. |
Required Scopes
Below is the complete list of scopes Brightmetrics requires. All scopes are read-only admin permissions.
Contact Center (19 scopes)
| Scope |
|---|
contact_center:read:dataset_agent_performance:admin |
contact_center:read:dataset_engagement:admin |
contact_center:read:dataset_flow_performance:admin |
contact_center:read:dataset_outbound_dialer_performance:admin |
contact_center:read:dataset_queue_performance:admin |
contact_center:read:engagement:admin |
contact_center:read:engagement_log:admin |
contact_center:read:list_engagements:admin |
contact_center:read:list_flows:admin |
contact_center:read:list_queue_agents:admin |
contact_center:read:list_queues:admin |
contact_center:read:list_role_users:admin |
contact_center:read:list_roles:admin |
contact_center:read:list_skill_users:admin |
contact_center:read:list_skills:admin |
contact_center:read:list_users:admin |
contact_center:read:outbound_campaign:admin |
contact_center:read:queue:admin |
contact_center:read:team:admin |
Phone (15 scopes)
| Scope |
|---|
phone:read:call_log:admin |
phone:read:call_pickup_group:admin |
phone:read:call_pickup_group_member:admin |
phone:read:list_call_logs:admin |
phone:read:list_call_pickup_groups:admin |
phone:read:list_call_queue_members:admin |
phone:read:list_call_queues:admin |
phone:read:list_monitoring_groups:admin |
phone:read:list_roles:admin |
phone:read:list_shared_line_groups:admin |
phone:read:list_users:admin |
phone:read:monitoring_group:admin |
phone:read:role:admin |
phone:read:role_member:admin |
phone:read:shared_line_group:admin |
User (3 scopes)
| Scope |
|---|
user:read:list_users:admin |
user:read:presence_status:admin |
user:read:user:admin |
Group (2 scopes)
| Scope |
|---|
group:read:list_groups:admin |
group:read:list_members:admin |
Marketplace (2 scopes)
| Scope |
|---|
marketplace:read:app:admin |
marketplace:read:list_apps:admin |
Have questions or need help? Email support@brightmetrics.com.