Quality of Service Subscription Explainer

Quality of Service Subscription is an add-on product that delivers Meeting, Webinar, and Phone QoS data to a customer’s third-party endpoint.

Quality of Service Subscription is an add-on product that streams near-real-time QoS telemetry for Zoom Meetings, Webinars, and Zoom Phone via event subscriptions

Zoom’s Quality of Service Subscription (QSS) is an add-on product that offers near real-time quality of service (QoS) data for Zoom Meetings, Webinars, and Phone calls. QSS extends Zoom’s product functionality by sending participant-level QoS events at minute-level intervals (rate and aggregation may vary by configuration). Customers can use this rich data stream to identify whether‌ network environments are affecting Zoom’s services.

QSS delivers the same underlying QoS metrics used in Zoom Dashboards and APIs, but sampling and timing differ

The existing Zoom Dashboard provides network performance and usage metrics, which can help customers understand how Zoom is operating in a network environment. QSS offers the same Zoom QoS data, but at a faster rate. Because of this faster rate sampling, aggregated QoS metrics will show values different from the main Zoom Dashboard. However, these metrics still allow customers to configure them into their own dashboard views to correlate Zoom data with additional systems.

The table below describes the QoS data delivered to a customer’s endpoints via QSS.

QoS Data Delivered via QSS

Quality Metrics

Bitrate, Latency, Jitter, Packet Loss, Resolution, Frame Rate, CPU Usage

Usage Metrics

Device, Network, Signaling Region, Client Version, Audio (I/O), Video (I/O)

Frequency

Approx. 1 event per minute, per participant (per QoS metric or aggregated set depending on account settings).

Data Retention

Event-delivery logs are retained for 7 days via the Webhook Logs API; historical QoS data via API endpoints may persist longer (depending on license).

Zoom Dashboard data should not be compared with data delivered via QSS to a customer’s third-party endpoint

QSS and the Zoom Dashboard provide two separate mechanisms for accessing Zoom QoS data that should not be compared. While the Zoom Dashboard and QSS pull from the same pool of QoS data, the data in each mechanism will not match up because of differences in retrieval timing and frequency of data delivery.

QSS supports real-time event data for Meetings, Webinars, and Phone calls

QSS supplies QoS event data for all users on an account for Zoom Meetings and Webinars, as well as for Zoom Phone calls. Because Zoom does not manage the last leg of calls, QSS only provides account-level QoS event data for Zoom Phone calls and therefore cannot provide full visibility into the end-to-end advanced participant data.

QSS data does not include data for external participants

QSS does not provide data for external meeting participants. However, QSS can help pinpoint which internal meeting participant had an issue and what that issue was, as well as the quality and usage metrics that customers will need to troubleshoot issues.

QSS allows customers to bring raw QoS data from Zoom Dashboard into their existing workflows

While Zoom customers have historically been able to use tools like the Zoom Dashboard or APIs to view or retrieve Zoom QoS data, QSS lets you stream Zoom QoS telemetry into your network management and monitoring platforms via event subscriptions (webhook or WebSocket).

QSS delivers near-real-time QoS events to your subscribed endpoints, reducing API polling and rate-limit impact

QSS customers can subscribe to real-time QoS events and data that will be pushed to their application endpoints, which helps free up API capacity and optimize network utilization. QSS is an augmentation of Zoom’s standard webhook service because it can send raw QoS data to an endpoint at a near real-time rate of 4 to 6 times per minute.

QSS enables customers to access near-real-time QoS data from Zoom Dashboard without hitting API rate limits

API services are request based and use a “pull” mechanism to gather data requested by an app or user. APIs are more resource intensive than webhooks because they require repeated calls to pull data from an API endpoint.

Customers who use Zoom APIs to pull QoS data from Zoom Dashboard may encounter rate limits, meaning that they’ve reached the maximum number of API calls they can make within a given time period. QSS does not increase API rate limits, but it reduces customers’ rate-limit concerns by pushing raw QoS data to their endpoints instead of requiring customers to pull the data themselves.

QSS allows customers to consume raw Zoom QoS data and troubleshoot using their preferred network management system

Certain customers may need to assess their network performance on multiple applications at once. QSS allows them to monitor Zoom QoS data in a dashboard alongside other data in their suite of applications, providing a flexible, scalable way to consume Zoom QoS data and seamlessly integrate it into custom dashboards.

Zoom QoS Data is transmitted over TLS 1.2

QSS data is encrypted in transit using TLS 1.2 or higher. Endpoints must use a valid Certificate Authority (CA) certificate. Webhook requests include a signature header and challenge-response check for verification.

For additional security, customers will be prompted to validate their webhook endpoints using a Challenge-Response Check (CRC). The CRC will confirm the ownership and security of their event notification endpoint URLs.

Customers can begin consuming QoS data by creating an application that can receive QSS events

After a customer purchases the QSS add-on plan, at least one user on the account must have developer permissions enabled. Customers can then use the following three steps to create a webhook application that can subscribe to QSS events.

Customers can also pursue the Zoom Developer Pack with a QSS flag enabled, which bundles QSS with other developer tools.

1

Create an Event Subscription app (General or Server-to-Server OAuth). Enable Event Subscriptions and select QoS events

Customers must first create a General or Server-to-Server OAuth app in the Zoom App Marketplace. Then, they would enable Event Subscriptions and select the QoS events they want to receive.

Next, customers must specify the destination for QSS event notifications by entering their application’s Event notification endpoint URL

A Webhook-only App is not required for this configuration. Zoom recommends creating a General App.

2

Subscribe to QSS Webhook events

To subscribe to QSS events, customers must add events and choose from the list of available QSS Event types. Customers can select one or more QSS events before completing the process and activating their application.

Image of the Event types screen, focused on QSS options.

You can also manage subscriptions via the Marketplace UI or using API calls:

  • POST /marketplace/app/event_subscription – create

  • PATCH /{id} – subscribe users/accounts

  • DELETE /{id} – unsubscribe/delete

  • GET /marketplace/app/event_subscription – list

To authenticate via API, use a token from the Client Credentials Grant.

3

Verify Webhook events

After configuring event subscriptions, ensure that both webhook URL ownership and event authenticity are properly validated.

  • URL Validation

    • When you first enable event subscriptions, Zoom performs a Challenge–Response Check (CRC) to verify ownership of your webhook endpoint. This process ensures that Zoom is sending data to a legitimate destination controlled by your app. (You may include CRC handling in an earlier setup step if preferred.)

  • Event Validation

    • Each incoming event notification should be verified by your application to confirm that it originated from Zoom. The app can validate incoming requests using the signature header provided in each webhook event. Developers who prefer an alternative to the default signature method can use one of the other supported verification options described in the Zoom Developer Docs.

    • Use the Get Webhook Logs API to review up to seven days of webhook delivery data, including status, retry count, and trace ID.

For full implementation details, please refer to the QSS Implementation Guide for developers. For technical details, see the Event Subscription API, Webhook Logs API, and Client Credentials Grant authentication guides in Zoom Developer Docs.

Last updated

Was this helpful?