Zoom Integration Guide

This document serves as a comprehensive guide that outlines the steps required to integrate a Zoom tenant with the NetSpeek platform.


Prerequisites

Before beginning, confirm the following:

  • Zoom Room systems are already enrolled in Zoom and connected to your organization.
  • You have administrative access to your Zoom tenant’s portal.
  • You have access to your NetSpeek tenant with permission to manage Connectors.

Terminology change, October 2026

The device and tenant level “Connector” configurations were previously called “Integration” and have been renamed in both the NetSpeek portal interface, and NetSpeek Docs.


Enabling Server-to-Server OAuth Authentication for Zoom

Step 1: Enable API Control on Zoom Rooms

  1. Sign in to the Zoom web portal.
  2. Go to:
    Admin ➔ Room Management ➔ Zoom Rooms
  3. Locate the Zoom Room to connect (see note below about configuring multiple rooms or the full Zoom tenant).
  4. Click the Settings gear icon.
  5. Scroll to the Devices section and enable Control System API.

Note

The above example shows the Zoom Rooms Control System API being enabled for an individual room, and this configuration may be applicable to small-scale deployments, such as for a single Zoom Room being tested with NetSpeek before rolling out to more spaces.

To enable the Control System API, or any other Zoom Rooms capability, more quickly to a large number of rooms it is generally advisable to manage settings at an appropriate level of your Zoom hierarchy (such as a region, building, floor, or other) or to enable the setting at the account level. See Zoom’s documentation on this hierarchy here: https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0063345


Step 2: Create a Server-to-Server OAuth App in Zoom Marketplace

  1. Go to the Zoom App Marketplace.
  2. Sign in with the credentials of an administrator for your Zoom account/tenant.
  3. Select Develop ➔ Build App.
  4. Choose Server-to-Server OAuth and click Create.
  5. Give the Connector (an app, from the Zoom App Marketplace’s perspective) a name in the Zoom App MarketPlace, and enter data in sections of the ensuing workflow pages such as developer contact information, company details, and most importantly the Scopes described in Step 3 of this guide below.

Step 3: Assign Required Scopes

To allow NetSpeek to effectively manage Zoom Rooms, devices, and meeting details, specific scopes must be enabled on the Zoom OAuth app. These scopes authorize the required read/write access to perform automation, diagnostics, room control, and reporting functionalities.

Assign the scopes in the table to the application (the description indicates why the scope is required):

Devices

ScopeDescription
device:read:zdm_device:masterRead device
device:read:zdm_device:adminRead device
device:read:list_zdm_devices:adminList devices
device:read:list_zdm_devices:masterList devices
device:read:list_groups:adminList groups
device:read:list_groups:masterList groups

Devices (H.323)

ScopeDescription
h323_device:read:list_devices:adminView H.323 devices
h323_device:update:device:adminUpdate or edit H.323 device
h323_device:delete:device:adminDelete H.323 device
h323_device:write:device:adminAdd new H.323 device

Meeting

ScopeDescription
meeting:read:past_meeting:adminView a past meeting
meeting:read:device:adminView a meeting’s device test result
meeting:read:list_past_instances:adminView past meeting instances
meeting:read:list_meetings:adminView a user’s meetings
meeting:read:invitation:adminView meeting invitation
meeting:read:participant:adminView participants
meeting:update:meeting:adminUpdate a meeting
meeting:delete:meeting:adminDelete a meeting
meeting:update:livestream_status:adminUpdate livestream status
meeting:write:meeting:adminCreate a meeting
meeting:update:status:adminUpdate meeting status
meeting:write:invite_links:adminCreate invite links

Room

ScopeDescription
zoom_rooms:read:list_rooms:adminView Zoom Rooms
zoom_rooms:read:list_devices:adminView Zoom Room devices
zoom_rooms:update:room_controls:adminUpdate room controls
zoom_rooms:update:room_control:adminUpdate specific control

Step 4: Retrieve and Store App Credentials

Copy the following information from your Zoom Server-to-Server OAuth app, to be configured in your NetSpeek tenant in the next step for communication with your Zoom account, and store it according to your organization’s policies:

  • Account ID
  • Client ID
  • Client Secret

Step 5: Configure Zoom in NetSpeek (Tenant Connector)

  1. Ensure you have selected the desired tenant/sub-tenant with the selector in the upper left of the portal interface, and click “Connectors” in the Platform configuration list at the lower left.
  2. Click “+ Add Connector”
  3. Enter a Connector Name (as an example format, Zoom – YourOrgName - YourTenantID).
  4. Set Connector Type = Zoom Connector
  5. (Optional) Enter a description, with details other NetSpeek users may need to know.
  6. Set Connector State = Active.
  7. Choose an authentication mode – this guide describes the “Server to Server (your internal Zoom app)” method.
    • Enter the Account ID, Client ID, and Client Secret information recorded in the prior step.
  8. Click Create new Connector / Update Connector.
    • Note that this interface can test the availability of application scopes in the configured Zoom tenant – save the configuration and re-open it to view the results and to see any missing scopes. (An image showing an example test result is below.)
Example configuration – required scopes shown but not tested yet
Use the “Test Connection” function to validate if any expected application scopes are missing

Step 6. Add Device to NetSpeek Room Canvas

  1. From a new WorkSpace, select Locations and search for or navigate to the Room the device will reside in.
  2. Select the room you wish to add your Zoom Room system to
  3. The Room Canvas opens by default.
  4. Click “Add Devices” and then “Create new“
  5. Choose your desired device from the manufacturer → device model list.
    • Note that, as Zoom does not manufacture hardware, the device to be selected will be equipment manufactured by a hardware vendor, which is registered to your Zoom tenant as a Zoom Room system.
    • It is common for a device to be orchestrated by both hardware-level Connectors (via the hardware manufacturer’s cloud, and/or device APIs via the NetSpeek Edge VM) and a UC platform connector like Zoom. Ensure the device is not already on the Room Canvas – if it is, add the Zoom Connector to the existing device’s list of Connectors rather than creating a duplicate device.
  6. Configure the appropriate values, and in the “Connectors” section, select the previously created Zoom Connector.
    • The example below shows multiple Connectors configured for the same device – first, a hardware-level Connector communicating with the device manufacturer, and second, the Zoom Connector communicating with the Zoom Room identity in the Zoom UC platform.
  7. In the configuration panel, enter the following fields:
    • The “Room Name” from the Zoom tenant’s configured Zoom Rooms

Choose the “Room Name” from the Zoom tenant’s configured Zoom Rooms – the Connector will query the Zoom tenant for the names of rooms configured in Zoom and display them for selection. Manual entry of Zoom Room names is not permitted – ensure the Zoom Room is configured in the Zoom tenant before completing this step.

Note

As Zoom is a Unified Communications platform connector with NetSpeek, it is associated on the Canvas with hardware devices manufactured by other organizations, as shown in the example device configuration in this guide. Typically the device will have multiple connectors simultaneously – the hardware manufacturer’s Connector method(s), and an additional Connector for Zoom as the UC platform.


Verification

Once the relevant settings described above are configured, to validate the Connector:

  • Select a Zoom Room device in the NetSpeek console, open the Device Actions Tab, and select an available device action. It is generally advisable to test by dispatching a non-intrusive command such as a Get Zoom Room Status.
  • On the device, observe the selected action occurring.

Note

Ensure the command used for verification testing is a Zoom Room command using the Zoom connector, and not a hardware command using the hardware vendor’s connector.

Support

If you run into any issues during onboarding or have questions, contact NetSpeek Support at support@netspeek.com.