> For the complete documentation index, see [llms.txt](https://docs.harmony.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.io/integrations/saas-applications/zoom.md).

# Zoom

Harmony's Zoom integration connects your Zoom account to give you full visibility into user activity, license usage, and meeting patterns across your organization. Once connected, Harmony automatically syncs your Zoom data and surfaces it across your application, instance, and user views - helping you optimize licenses and track adoption.

#### What the Zoom integration enables

| Capability              | Description                                                                   |
| ----------------------- | ----------------------------------------------------------------------------- |
| License Optimization    | Track Zoom usage to identify underutilized licenses and reduce costs          |
| Usage Analytics         | Understand meeting patterns, user adoption, and collaboration trends          |
| Activity Monitoring     | Monitor sign-in events and per-user activity with up to 90 days of history    |
| License Tier Visibility | See each user's license tier (Paid, Free, or Unknown) alongside activity data |

***

#### Prerequisites

1. **Zoom Pro or higher plan** - the usage, sign-in activity, and role endpoints Harmony reads are only available on Pro and above
2. **Zoom Administrator access** - Account Owner or Admin role is required to authorize the integration
3. **A Harmony account** with admin privileges

***

#### Connect Zoom to Harmony

**Step 1: Navigate to Integrations**

1. Log into your Harmony dashboard
2. Navigate to **Settings** > **Integrations**
3. Find **Zoom** under **SaaS Applications**

**Step 2: Authorize Zoom**

1. **Initiate the connection**

   1. Click the **Zoom** integration card
   2. Click **Connect**

   A Zoom authorization modal will open.
2. **Authorize in Zoom**

   Sign in with your Zoom administrator account if prompted.

   1. Review the permissions Harmony is requesting (see [Permissions Explained](#permissions-explained) below)
   2. Click **Allow** to authorize the connection
   3. The modal closes automatically and you are returned to Harmony

   Once authorized, Harmony begins syncing your Zoom data. The initial sync may take a few minutes depending on your organization size. Up to 90 days of historical sign-in activity is pulled in on the first connection, and your user inventory refreshes automatically every 6 hours to reflect any changes.

***

#### Disconnect Zoom from Harmony

1. Log into your Harmony dashboard
2. Navigate to **Settings** > **Integrations**
3. Find **Zoom** under **SaaS Applications** and click the integration card
4. Click **Disconnect**
5. Confirm the disconnection when prompted

Once disconnected, Harmony stops syncing data from Zoom. Previously synced data remains available in Harmony.

***

#### What Harmony Syncs from Zoom

| Data            | Description                                                    |
| --------------- | -------------------------------------------------------------- |
| User profiles   | Name, email, status, and role                                  |
| License types   | License tier (Paid, Free, or Unknown) and assignment status    |
| User activity   | Last login date, sign-in events, and per-user activity metrics |
| Meeting history | Hosted meetings, duration, and participant count               |
| Usage analytics | Meeting frequency and hosting patterns per user                |

{% hint style="info" %}
**Only active users are synced.** Harmony collects Zoom users whose status is **active**. Users that are deactivated or still pending activation in Zoom are not included in the inventory.
{% endhint %}

{% hint style="info" %}
**Where to find Zoom data in Harmony:**

* **Applications** - Zoom appears as a discovered application with license and usage details, including activity metrics at the application and instance level
* **People** - Each employee's profile shows their Zoom license tier, role, last activity, and per-user meeting hosting data
  {% endhint %}

{% hint style="info" %}
**Historical data on first connection:**

Harmony pulls up to 90 days of historical sign-in activity when you first connect Zoom. After that, sign-in events are kept in sync automatically.
{% endhint %}

***

#### Permissions Explained

**Required scopes**

| Scope                               | Description                         | Purpose                                                                                            |
| ----------------------------------- | ----------------------------------- | -------------------------------------------------------------------------------------------------- |
| `user:read:user:admin`              | View a user                         | Identify the Zoom account and read individual user profiles                                        |
| `user:read:list_users:admin`        | View users                          | List all active users for inventory sync                                                           |
| `report:read:user:admin`            | View a user's usage reports         | Collect per-user meeting host reports - number of meetings hosted, duration, and participant count |
| `report:read:user_activities:admin` | View user sign in/out activity logs | Track sign-in activity and last login dates                                                        |

**Optional scopes**

| Scope                        | Description | Purpose                                                                                                                                                                                                             |
| ---------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `role:read:list_roles:admin` | View roles  | Resolve the names of custom Zoom roles. Zoom's built-in Owner, Admin, and Member roles are resolved without this scope; without it, users holding a custom role are reported as unresolved rather than by role name |

***

#### Use Cases

<details>

<summary>License Optimization</summary>

Identify unused and underutilized licenses so you can reclaim seats from inactive users and reduce Zoom costs. Each user's license tier (Paid, Free, or Unknown) is visible alongside their activity data so you can make informed decisions about reassignment.

</details>

<details>

<summary>Usage Insights</summary>

Track adoption across your organization, analyze meeting trends, and make data-driven decisions about your Zoom investment. Per-user activity metrics - such as meeting hosting frequency and duration - are surfaced at the user, instance, and application level in your Harmony dashboard.

</details>

<details>

<summary>User Activity Monitoring</summary>

Monitor sign-in events across your organization with up to 90 days of historical activity available from the moment you connect. Harmony refreshes your Zoom user inventory every 6 hours so your data stays current as users are added, removed, or change roles.

</details>

***

#### Troubleshooting

<details>

<summary>Data is not appearing after connection</summary>

**Possible causes:**

* The initial sync has not completed yet (may take up to 15 minutes)
* The Zoom account is not on a Pro or higher plan
* The authorizing user does not have Admin or Owner permissions

**Solutions:**

1. Wait up to 15 minutes for the initial sync to complete
2. Verify your Zoom plan in the Zoom Admin Console under **Account Management**
3. Reconnect the integration with a user that has Admin or Owner permissions

</details>

<details>

<summary>Meeting data is incomplete</summary>

**Possible causes:**

* Harmony backfills up to 90 days of meeting history when you first connect - older meetings are not imported
* Zoom's meeting reports only cover the past six months, so older meetings cannot be retrieved at all
* Zoom returns a meeting in its reports only if it had two or more unique participants

**Solutions:**

1. Allow the integration to stay connected - meeting history accumulates from the connection date onwards
2. Meetings that fall outside Zoom's six-month report window, or that had a single participant, are not available through the Zoom API - this is a Zoom platform limitation

</details>

<details>

<summary>A user's role shows as unresolved</summary>

**Possible causes:**

* The user holds a custom Zoom role and the `role:read:list_roles:admin` scope was not granted during authorization
* Role management is not available on the account's Zoom plan

**Solutions:**

1. Disconnect and reconnect the Zoom integration, granting the optional roles scope when prompted
2. Users on Zoom's built-in Owner, Admin, and Member roles are resolved without this scope

</details>

***

#### Data & Privacy

<details>

<summary>Key privacy principles</summary>

For information about how Harmony handles your data, see our [Privacy Policy](https://harmony.io/privacy).

* Harmony accesses Zoom data in read-only mode and does not modify any data in your Zoom account
* Integration can be revoked at any time from Zoom or Harmony settings

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.harmony.io/integrations/saas-applications/zoom.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
