> ## 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 Webex with OAuth 2.0 (Client Credentials) – StackOne Hub

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

> [!WARNING]
>
> A Full Admin of your Webex organization must authorize the Service App in Control Hub. Read-only and device admins cannot authorize it.

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

## Setting up a Webex Service App

A Service App calls Webex as a machine account in your organization, so the connection keeps working when any one user leaves. You need its **Client ID**, **Client Secret** and a refresh token for your organization.

**1. Sign in to Webex for Developers**

Sign in to your [Webex for Developers account](https://developer.webex.com) with the Webex account that will own the Service App.

<ul>
  <li>Enter your Email and Password.</li>
  <li>Click **Sign In**.</li>
</ul>

![Webex sign-in](https://mintcdn.com/stackone-60/PGH7zoRCx8RGlPaz/connectors/webex/images/oauth2_service_app-config-sign-in.png?fit=max\&auto=format\&n=PGH7zoRCx8RGlPaz\&q=85\&s=d6e488f3c27fff0d3cd8c91976a08ba3)

**2. Create a new app**

Click your profile avatar in the top-right corner, then select [My Webex Apps](https://developer.webex.com/my-apps).

<ul>
  <li>Click **Create New App**.</li>
</ul>

![My Webex Apps](https://mintcdn.com/stackone-60/PGH7zoRCx8RGlPaz/connectors/webex/images/oauth2_service_app-config-my-apps.png?fit=max\&auto=format\&n=PGH7zoRCx8RGlPaz\&q=85\&s=1f8dc28d079877fbb1c62ea4c529eb42)

**3. Choose the Service App type**

On **What would you like to configure?**, find the **Service App** card.

<ul>
  <li>Click **Onboard Service App**.</li>
</ul>

![Onboard Service App](https://mintcdn.com/stackone-60/PGH7zoRCx8RGlPaz/connectors/webex/images/oauth2_service_app-config-onboard-service-app.png?fit=max\&auto=format\&n=PGH7zoRCx8RGlPaz\&q=85\&s=3aeecb8333fc3ae894b06c3c3c30cfca)

**4. Fill in the app details**

Complete the **New Service App** form. Admins see these details in Control Hub when they authorize the app.

<ul>
  <li>**App name**: the name your Service App shows in Webex</li>
  <li>**Icon**: upload your own or keep a default</li>
  <li>**Description**: what the app does and how your organization uses it</li>
  <li>**Contact Email**: the email address admins can contact about the app</li>
</ul>

![New Service App form](https://mintcdn.com/stackone-60/PGH7zoRCx8RGlPaz/connectors/webex/images/oauth2_service_app-config-new-service-app.png?fit=max\&auto=format\&n=PGH7zoRCx8RGlPaz\&q=85\&s=42751c9acb9b558dd432ed2e9e0d86d8)

**5. Select the scopes**

Enables actions: Create Device By MAC Address, Create Location, Create Meeting, Create Meeting Invitee, Create Person, Create Workspace, Delete Device, Delete Location, Delete Meeting, Delete Meeting Invitee, Delete Person, Delete Recording, Delete Recording (Admin), Delete Workspace, Download Meeting Transcript, Get Device Details, Get Event Details, Get Hybrid Cluster Details, Get Hybrid Connector Details, Get License Details, Get Location Details, Get Meeting Details, Get Meeting Invitee, Get Meeting Participant Details, Get Meeting Preferences, Get Personal Meeting Room Options, Get Recording Details, Get Resource Group Details, Get Resource Group Membership Details, Get Role Details, Get Scheduling Options, Get Unified Organization, Get Unified Role, Get Workspace Details, List Admin Audit Events, List Compliance Events (Slido Secure Premium), List Devices, List Events, List Hybrid Clusters, List Hybrid Connectors, List Licenses, List Locations, List Meeting Invitees, List Meeting Participants, List Meeting Sites, List Meeting Transcripts, List Meetings, List Recordings, List Recordings (Admin/Compliance Officer), List Resource Group Memberships, List Resource Groups, List Roles, List Transcript Snippets, List Unified Organizations, List Unified Roles, List Unified Users, List Workspaces, Update Location, Update Meeting, Update Meeting Invitee, Update Person, Update Personal Meeting Room Options, Update Resource Group Membership, Update Workspace

In **Scopes** on the same form, select the scopes the connector's actions need, then create the app. Request only these, so the admin can see exactly what access the app is granted.

<ul>
  <li>Scopes starting with `spark-compliance:` need a Full Admin who also has the Compliance Officer role to authorize the app.</li>
  <li>Scopes starting with `meeting:admin_` need a Webex Meetings site in your organization. Without one, Control Hub cannot authorize the app, so leave these scopes out if your organization has no Webex Meetings subscription. The meeting actions then do not work with this connection.</li>
</ul>

<ul>
  <li>
    spark-admin:organizations\_read
  </li>

  <li>
    spark-admin:licenses\_read
  </li>

  <li>
    spark-admin:roles\_read
  </li>

  <li>
    spark-admin:people\_read
  </li>

  <li>
    spark-admin:people\_write
  </li>

  <li>
    spark-admin:locations\_read
  </li>

  <li>
    spark-admin:locations\_write
  </li>

  <li>
    spark-admin:workspaces\_read
  </li>

  <li>
    spark-admin:workspaces\_write
  </li>

  <li>
    spark-admin:devices\_read
  </li>

  <li>
    spark-admin:devices\_write
  </li>

  <li>
    spark-admin:telephony\_config\_write
  </li>

  <li>
    spark-admin:recordings\_read
  </li>

  <li>
    spark-admin:recordings\_write
  </li>

  <li>
    spark-admin:resource\_groups\_read
  </li>

  <li>
    spark-admin:resource\_group\_memberships\_read
  </li>

  <li>
    spark-admin:resource\_group\_memberships\_write
  </li>

  <li>
    spark-admin:hybrid\_clusters\_read
  </li>

  <li>
    spark-admin:hybrid\_connectors\_read
  </li>

  <li>
    meeting:admin\_schedule\_read
  </li>

  <li>
    meeting:admin\_schedule\_write
  </li>

  <li>
    meeting:admin\_participants\_read
  </li>

  <li>
    meeting:admin\_transcripts\_read
  </li>

  <li>
    meeting:admin\_preferences\_read
  </li>

  <li>
    meeting:admin\_preferences\_write
  </li>

  <li>
    meeting:admin\_recordings\_read
  </li>

  <li>
    meeting:admin\_recordings\_write
  </li>

  <li>
    meeting:admin\_config\_read
  </li>

  <li>
    audit:events\_read
  </li>

  <li>
    spark-compliance:events\_read
  </li>
</ul>

**6. Copy the client credentials**

The app's page opens after it is created. Under **Authorization**, it shows the **Client ID** and **Client Secret**.

<ul>
  <li>Click **Copy** next to the **Client ID** and paste it into the **Client ID** field when you connect your account.</li>
  <li>Copy the **Client Secret** and paste it into the **Client Secret** field when you connect your account.</li>
  <li>The **Client Secret** is shown only once. If you lose it, click **Regenerate the client secret** on the app's page.</li>
</ul>

![Service App credentials](https://mintcdn.com/stackone-60/PGH7zoRCx8RGlPaz/connectors/webex/images/oauth2_service_app-config-copy-credentials.png?fit=max\&auto=format\&n=PGH7zoRCx8RGlPaz\&q=85\&s=18a8d6e753f52ad580cf6b3f2d89dc72)

**7. Request admin authorization**

On the app's page, click **Request Admin Authorization**. Under **Admin Authorization**, the **Submission Status** changes to **Submitted**, and the app appears in your organization's Control Hub, where a Full Admin can authorize it.

## Authorizing the Service App

A Full Admin of your organization authorizes the app in Control Hub. Other admin roles do not see **Apps** in Control Hub.

**1. Authorize the app**

Sign in to your organization's [Webex Control Hub](https://admin.webex.com) as a Full Admin, then go to **Management** > **Apps**.

<ul>
  <li>Open the **Service Apps** tab, then **Other service apps**.</li>
  <li>Click your Service App to review its description and requested scopes.</li>
  <li>Turn on **Authorized**. If the toggle is locked, the app requests `meeting:admin_` scopes and your organization has no Webex Meetings site.</li>
  <li>Click **Save**.</li>
</ul>

![Authorize Service App](https://mintcdn.com/stackone-60/PGH7zoRCx8RGlPaz/connectors/webex/images/oauth2_service_app-config-authorize.png?fit=max\&auto=format\&n=PGH7zoRCx8RGlPaz\&q=85\&s=c86422fc261bf403299c129db52dc90e)

## Find your refresh token

After the app is authorized, retrieve the token pair for your organization from the Service App's page in My Webex Apps.

**1. Copy the refresh token**

In the **Org Authorizations** section, select your organization from the drop-down list.

<ul>
  <li>Paste the app's **Client Secret** into the field provided. This is the secret you copied when you registered the app; if you no longer have it, regenerate it on the app's page.</li>
  <li>Retrieve the access and refresh tokens.</li>
  <li>Copy the refresh token and paste it into the **Refresh Token** field when you connect your account.</li>
  <li>Webex renews the refresh token each time it is used. Retrieve a new one if an admin authorizes the app again or its scopes change.</li>
</ul>

## Link the Account

**1. 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>

**2. Use Actions**

Connect an AI platform to the linked account's actions. See [AI Platforms](https://docs.stackone.com/ai-platforms/overview.md).

Other ways to call actions are listed in [Protocols & SDKs](https://docs.stackone.com/connect/protocols-and-sdks.md).

## Next Steps

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


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