> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Zoom with OAuth 2.0 (Client Credentials) – StackOne Hub

> Link a Zoom account in the StackOne Hub using OAuth 2.0 (Client Credentials). End-user guide to authorize the integration and start using Zoom actions.

> [!WARNING]
>
> You need an admin-level role in the Zoom account you are connecting, because the app's scopes are admin-level. The app reads only the Zoom account it was created in.

Select Actions to adjust the guideSome actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.

Select all
Clear

ActionScope(s)

Loading actions...No actions match your search.

Dynamic Guide URL

Copy URL

Scopes Selected

<pre role="textbox" aria-readonly="true" tabIndex="0" />

Separator

Copy scopes

## Create a Server-to-Server OAuth app

Each connection uses a Server-to-Server OAuth app created in the Zoom account you want to connect.

**1. Sign in to Zoom App Marketplace**

Sign in to your developer account on the [Zoom App Marketplace](https://marketplace.zoom.us/).

<ul>
  <li>Open the **Created apps** page.</li>
</ul>

**2. Create the app**

Next to Developer, click the plus sign and select **Build an app**.

<ul>
  <li>Select **Server-to-Server OAuth app**.</li>
  <li>Click **Create**.</li>
</ul>

**3. Copy the app credentials**

In **App credentials**, copy the account ID, client ID, and client secret for use in StackOne Hub.

<ul>
  <li>Paste the account ID into the **Account ID** field in StackOne Hub. It identifies the Zoom account that owns the app.</li>
  <li>Paste the client ID into the **Client ID** field in StackOne Hub. It identifies your app.</li>
  <li>Paste the client secret into the **Client Secret** field in StackOne Hub. It proves the app is yours, so store it securely for use later.</li>
</ul>

**4. Add scopes**

Enables actions: Add Group Members, Add Meeting Registrant, Add Webinar Registrant, Check User Email, Create Channel, Create Group, Create Meeting, Create Meeting Poll, Create User, Create Webinar, Delete Channel, Delete Chat Message, Delete Group, Delete Group Member, Delete Meeting, Delete User, Delete Webinar, Get Channel, Get Group, Get Meeting, Get Meeting Invitation, Get Past Meeting Details, Get Past Meeting Participants, Get Unified Group, Get Unified Organization, Get Unified Role, Get Unified User, Get User, Get User Permissions, Get User Settings, Get Webinar, Invite Channel Members, List Channel Members, List Group Members, List Groups, List Meeting Polls, List Meetings, List Past Meeting Instances, List Past Meeting Q\&A, List Past Webinar Participants, List Past Webinar Q\&A, List Unified Groups, List Unified Organizations, List Unified Roles, List Unified Users, List Upcoming Meetings, List User Channels, List User Chat Messages, List Users, List Webinar Registrants, List Webinars, Remove Channel Members, Send Chat Message, Update Chat Message, Update Group, Update Meeting, Update Meeting Registrant Status, Update Meeting Status, Update User, Update User Settings, Update User Status, Update Webinar

Open **Scopes**, click **Add Scopes**, and add the scopes for the actions you want to use.

<ul>
  <li>
    meeting:read:list\_meetings:admin
  </li>

  <li>
    meeting:write:meeting:admin
  </li>

  <li>
    meeting:read:meeting:admin
  </li>

  <li>
    meeting:update:meeting:admin
  </li>

  <li>
    meeting:delete:meeting:admin
  </li>

  <li>
    meeting:read:list\_past\_participants:admin
  </li>

  <li>
    meeting:read:past\_meeting:admin
  </li>

  <li>
    meeting:read:list\_past\_instances:admin
  </li>

  <li>
    meeting:read:past\_qa:admin
  </li>

  <li>
    meeting:read:list\_upcoming\_meetings:admin
  </li>

  <li>
    meeting:update:status:admin
  </li>

  <li>
    meeting:write:registrant:admin
  </li>

  <li>
    meeting:update:registrant\_status:admin
  </li>

  <li>
    meeting:read:invitation:admin
  </li>

  <li>
    meeting:read:list\_polls:admin
  </li>

  <li>
    meeting:write:poll:admin
  </li>

  <li>
    user:read:list\_users:admin
  </li>

  <li>
    user:write:user:admin
  </li>

  <li>
    user:read:user:admin
  </li>

  <li>
    user:update:user:admin
  </li>

  <li>
    user:delete:user:admin
  </li>

  <li>
    user:read:settings:admin
  </li>

  <li>
    user:update:settings:admin
  </li>

  <li>
    user:update:status:admin
  </li>

  <li>
    user:read:email:admin
  </li>

  <li>
    user:read:list\_permissions:admin
  </li>

  <li>
    webinar:read:list\_webinars:admin
  </li>

  <li>
    webinar:write:webinar:admin
  </li>

  <li>
    webinar:read:webinar:admin
  </li>

  <li>
    webinar:update:webinar:admin
  </li>

  <li>
    webinar:delete:webinar:admin
  </li>

  <li>
    webinar:read:list\_registrants:admin
  </li>

  <li>
    webinar:write:registrant:admin
  </li>

  <li>
    webinar:read:list\_past\_instances:admin
  </li>

  <li>
    webinar:read:past\_qa:admin
  </li>

  <li>
    team\_chat:read:list\_user\_channels:admin
  </li>

  <li>
    team\_chat:write:user\_channel:admin
  </li>

  <li>
    team\_chat:read:channel:admin
  </li>

  <li>
    team\_chat:delete:channel:admin
  </li>

  <li>
    team\_chat:read:list\_members:admin
  </li>

  <li>
    team\_chat:write:members:admin
  </li>

  <li>
    team\_chat:delete:member:admin
  </li>

  <li>
    team\_chat:read:list\_user\_messages:admin
  </li>

  <li>
    team\_chat:write:user\_message:admin
  </li>

  <li>
    team\_chat:update:user\_message:admin
  </li>

  <li>
    team\_chat:delete:user\_message:admin
  </li>

  <li>
    group:read:list\_groups:admin
  </li>

  <li>
    group:write:group:admin
  </li>

  <li>
    group:read:group:admin
  </li>

  <li>
    group:delete:group:admin
  </li>

  <li>
    group:read:list\_members:admin
  </li>

  <li>
    group:write:member:admin
  </li>

  <li>
    group:delete:member:admin
  </li>

  <li>
    group:update:group:admin
  </li>

  <li>
    role:read:admin
  </li>

  <li>
    role:read:role:admin
  </li>

  <li>
    role:read:list\_members:admin
  </li>

  <li>
    account:read:admin
  </li>
</ul>

**5. Activate the app**

Open **Activation** and resolve any errors shown there.

<ul>
  <li>Add a developer contact name and email in **Information**, because Zoom requires both for activation.</li>
</ul>

## Set up webhook events

Webhook events are optional. Skip this section if you do not use native webhook events.

**1. Copy the Secret Token into StackOne Hub**

In your Zoom app, under **Features**, open **Access**. In the **Token** section, click **Copy** next to the **Secret Token**.

<ul>
  <li>Paste it into the **Webhook Secret Token** field in StackOne Hub and save. Save it before the next step, because Zoom validates the endpoint with it.</li>
</ul>

**2. Add the Native Webhook URL to Zoom**

In StackOne Hub, copy the read-only **Native Webhook URL** field. It is available after the account is connected.

<ul>
  <li>Under **General Features**, turn on **Event Subscription**.</li>
  <li>Click **+ Add New Event Subscription** and paste the URL into **Event notification endpoint URL**.</li>
  <li>Click **+ Add Events**, choose the events to receive, and click **Save**. Zoom saves the subscription once it validates the endpoint.</li>
</ul>

## Linking the Account from the Hub

**1. Navigate to the Hub**

Use one of the three [Linking Account Methods](https://docs.stackone.com/connect/managing-connectors/linking-accounts.md) to access the Hub.

**2. Fill out the fields**

Fill out the following fields using details from your provider:

<ul>
  <li>**Account ID**</li>
  <li>**Client ID**</li>
  <li>**Client Secret**</li>
  <li>**Webhook Secret Token** (Optional)</li>
</ul>

**3. Connect**

<ul>
  <li>Click **Connect**</li>
  <li>If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider's authorization flow.</li>
  <li>Once authorization is successful, you will see a confirmation popup</li>
</ul>

If the account linking is successful, you will see the newly linked account on your [Accounts](https://app.stackone.com/accounts) page.

## Next Steps

> **[Webhooks setup](https://docs.stackone.com/connectors/zoom/guides/webhook-setup.md)**
>
> Configure receiving Events for Zoom into StackOne.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.