> ## 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 – StackOne Hub

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

<Warning>A Webex account with integration creation permissions is required. Free developer accounts are available at developer.webex.com.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;webex_list_admin_audit_events&#x22;,&#x22;label&#x22;:&#x22;List Admin Audit Events&#x22;,&#x22;scopes&#x22;:[&#x22;audit:events_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_recordings_admin&#x22;,&#x22;label&#x22;:&#x22;List Recordings (Admin/Compliance Officer)&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:recordings_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_recording_admin&#x22;,&#x22;label&#x22;:&#x22;Delete Recording (Admin)&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:recordings_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_attachment_action_details&#x22;,&#x22;label&#x22;:&#x22;Get Attachment Action Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:messages_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_attachment_action&#x22;,&#x22;label&#x22;:&#x22;Create Attachment Action&#x22;,&#x22;scopes&#x22;:[&#x22;spark:messages_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_compliance_events&#x22;,&#x22;label&#x22;:&#x22;List Compliance Events (Slido Secure Premium)&#x22;,&#x22;scopes&#x22;:[&#x22;spark-compliance:events_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_hybrid_clusters&#x22;,&#x22;label&#x22;:&#x22;List Hybrid Clusters&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:hybrid_clusters_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_hybrid_cluster_details&#x22;,&#x22;label&#x22;:&#x22;Get Hybrid Cluster Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:hybrid_clusters_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_hybrid_connectors&#x22;,&#x22;label&#x22;:&#x22;List Hybrid Connectors&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:hybrid_connectors_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_hybrid_connector_details&#x22;,&#x22;label&#x22;:&#x22;Get Hybrid Connector Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:hybrid_connectors_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_get_me&#x22;,&#x22;label&#x22;:&#x22;Get Unified Credentials&#x22;,&#x22;scopes&#x22;:[&#x22;spark:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_auth_test&#x22;,&#x22;label&#x22;:&#x22;IAM Auth Test&#x22;,&#x22;scopes&#x22;:[&#x22;spark:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_list_groups&#x22;,&#x22;label&#x22;:&#x22;List Unified Groups&#x22;,&#x22;scopes&#x22;:[&#x22;spark:teams_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_get_group&#x22;,&#x22;label&#x22;:&#x22;Get Unified Group&#x22;,&#x22;scopes&#x22;:[&#x22;spark:teams_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_list_organizations&#x22;,&#x22;label&#x22;:&#x22;List Unified Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:organizations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_get_organization&#x22;,&#x22;label&#x22;:&#x22;Get Unified Organization&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:organizations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_list_resource_types&#x22;,&#x22;label&#x22;:&#x22;List Unified Resource Types&#x22;,&#x22;scopes&#x22;:[&#x22;spark:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_list_resource_users&#x22;,&#x22;label&#x22;:&#x22;List Unified Resource Users&#x22;,&#x22;scopes&#x22;:[&#x22;spark:team_memberships_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_list_roles&#x22;,&#x22;label&#x22;:&#x22;List Unified Roles&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:roles_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_get_role&#x22;,&#x22;label&#x22;:&#x22;Get Unified Role&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:roles_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_list_users&#x22;,&#x22;label&#x22;:&#x22;List Unified Users&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_unified_get_user&#x22;,&#x22;label&#x22;:&#x22;Get Unified User&#x22;,&#x22;scopes&#x22;:[&#x22;spark:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_locations&#x22;,&#x22;label&#x22;:&#x22;List Locations&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:locations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_location_details&#x22;,&#x22;label&#x22;:&#x22;Get Location Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:locations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_location&#x22;,&#x22;label&#x22;:&#x22;Create Location&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:locations_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_location&#x22;,&#x22;label&#x22;:&#x22;Update Location&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:locations_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_meeting_participants&#x22;,&#x22;label&#x22;:&#x22;List Meeting Participants&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:participants_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_meeting_participant_details&#x22;,&#x22;label&#x22;:&#x22;Get Meeting Participant Details&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:participants_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_meeting_participant&#x22;,&#x22;label&#x22;:&#x22;Update Meeting Participant&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:participants_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_meeting_preferences&#x22;,&#x22;label&#x22;:&#x22;Get Meeting Preferences&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:preferences_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_personal_meeting_room_options&#x22;,&#x22;label&#x22;:&#x22;Get Personal Meeting Room Options&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:preferences_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_personal_meeting_room_options&#x22;,&#x22;label&#x22;:&#x22;Update Personal Meeting Room Options&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:preferences_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_scheduling_options&#x22;,&#x22;label&#x22;:&#x22;Get Scheduling Options&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:preferences_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_meeting_qualities&#x22;,&#x22;label&#x22;:&#x22;Get Meeting Qualities&#x22;,&#x22;scopes&#x22;:[&#x22;analytics:read_all&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_meeting_invitees&#x22;,&#x22;label&#x22;:&#x22;List Meeting Invitees&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_meeting_invitee&#x22;,&#x22;label&#x22;:&#x22;Get Meeting Invitee&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_meeting_invitee&#x22;,&#x22;label&#x22;:&#x22;Create Meeting Invitee&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_meeting_invitee&#x22;,&#x22;label&#x22;:&#x22;Update Meeting Invitee&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_meeting_invitee&#x22;,&#x22;label&#x22;:&#x22;Delete Meeting Invitee&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_meeting_sites&#x22;,&#x22;label&#x22;:&#x22;List Meeting Sites&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:admin_config_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_meeting_transcripts&#x22;,&#x22;label&#x22;:&#x22;List Meeting Transcripts&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:transcripts_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_download_meeting_transcript&#x22;,&#x22;label&#x22;:&#x22;Download Meeting Transcript&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:transcripts_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_transcript_snippets&#x22;,&#x22;label&#x22;:&#x22;List Transcript Snippets&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:transcripts_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_meetings&#x22;,&#x22;label&#x22;:&#x22;List Meetings&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_meeting_details&#x22;,&#x22;label&#x22;:&#x22;Get Meeting Details&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_meeting&#x22;,&#x22;label&#x22;:&#x22;Create Meeting&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_meeting&#x22;,&#x22;label&#x22;:&#x22;Update Meeting&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_meeting&#x22;,&#x22;label&#x22;:&#x22;Delete Meeting&#x22;,&#x22;scopes&#x22;:[&#x22;meeting:schedules_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_recordings&#x22;,&#x22;label&#x22;:&#x22;List Recordings&#x22;,&#x22;scopes&#x22;:[&#x22;spark:recordings_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_recording_details&#x22;,&#x22;label&#x22;:&#x22;Get Recording Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:recordings_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_recording&#x22;,&#x22;label&#x22;:&#x22;Delete Recording&#x22;,&#x22;scopes&#x22;:[&#x22;spark:recordings_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_memberships&#x22;,&#x22;label&#x22;:&#x22;List Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;spark:memberships_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_membership_details&#x22;,&#x22;label&#x22;:&#x22;Get Membership Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:memberships_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_membership&#x22;,&#x22;label&#x22;:&#x22;Create Membership&#x22;,&#x22;scopes&#x22;:[&#x22;spark:memberships_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_membership&#x22;,&#x22;label&#x22;:&#x22;Update Membership&#x22;,&#x22;scopes&#x22;:[&#x22;spark:memberships_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_membership&#x22;,&#x22;label&#x22;:&#x22;Delete Membership&#x22;,&#x22;scopes&#x22;:[&#x22;spark:memberships_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_team_memberships&#x22;,&#x22;label&#x22;:&#x22;List Team Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;spark:team_memberships_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_team_membership_details&#x22;,&#x22;label&#x22;:&#x22;Get Team Membership Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:team_memberships_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_team_membership&#x22;,&#x22;label&#x22;:&#x22;Create Team Membership&#x22;,&#x22;scopes&#x22;:[&#x22;spark:team_memberships_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_team_membership&#x22;,&#x22;label&#x22;:&#x22;Update Team Membership&#x22;,&#x22;scopes&#x22;:[&#x22;spark:team_memberships_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_team_membership&#x22;,&#x22;label&#x22;:&#x22;Delete Team Membership&#x22;,&#x22;scopes&#x22;:[&#x22;spark:team_memberships_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_messages&#x22;,&#x22;label&#x22;:&#x22;List Messages&#x22;,&#x22;scopes&#x22;:[&#x22;spark:messages_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_message_details&#x22;,&#x22;label&#x22;:&#x22;Get Message Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:messages_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_message&#x22;,&#x22;label&#x22;:&#x22;Create Message&#x22;,&#x22;scopes&#x22;:[&#x22;spark:messages_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_message&#x22;,&#x22;label&#x22;:&#x22;Update Message&#x22;,&#x22;scopes&#x22;:[&#x22;spark:messages_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_message&#x22;,&#x22;label&#x22;:&#x22;Delete Message&#x22;,&#x22;scopes&#x22;:[&#x22;spark:messages_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_organizations&#x22;,&#x22;label&#x22;:&#x22;List Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;spark:organizations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_organization_details&#x22;,&#x22;label&#x22;:&#x22;Get Organization Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:organizations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_licenses&#x22;,&#x22;label&#x22;:&#x22;List Licenses&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:licenses_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_license_details&#x22;,&#x22;label&#x22;:&#x22;Get License Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:licenses_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_roles&#x22;,&#x22;label&#x22;:&#x22;List Roles&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:roles_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_role_details&#x22;,&#x22;label&#x22;:&#x22;Get Role Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:roles_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_events&#x22;,&#x22;label&#x22;:&#x22;List Events&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:organizations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_event_details&#x22;,&#x22;label&#x22;:&#x22;Get Event Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:organizations_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_devices&#x22;,&#x22;label&#x22;:&#x22;List Devices&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:devices_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_device_details&#x22;,&#x22;label&#x22;:&#x22;Get Device Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:devices_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_people&#x22;,&#x22;label&#x22;:&#x22;List People&#x22;,&#x22;scopes&#x22;:[&#x22;spark:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_person_details&#x22;,&#x22;label&#x22;:&#x22;Get Person Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_my_details&#x22;,&#x22;label&#x22;:&#x22;Get My Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:people_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_person&#x22;,&#x22;label&#x22;:&#x22;Create Person&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:people_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_person&#x22;,&#x22;label&#x22;:&#x22;Update Person&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:people_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_person&#x22;,&#x22;label&#x22;:&#x22;Delete Person&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:people_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_report_templates&#x22;,&#x22;label&#x22;:&#x22;List Report Templates&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:reports_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_reports&#x22;,&#x22;label&#x22;:&#x22;List Reports&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:reports_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_report_details&#x22;,&#x22;label&#x22;:&#x22;Get Report Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:reports_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_report&#x22;,&#x22;label&#x22;:&#x22;Create Report&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:reports_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_report&#x22;,&#x22;label&#x22;:&#x22;Delete Report&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:reports_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_resource_groups&#x22;,&#x22;label&#x22;:&#x22;List Resource Groups&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:resource_groups_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_resource_group_details&#x22;,&#x22;label&#x22;:&#x22;Get Resource Group Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:resource_groups_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_resource_group_memberships&#x22;,&#x22;label&#x22;:&#x22;List Resource Group Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:resource_group_memberships_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_resource_group_membership_details&#x22;,&#x22;label&#x22;:&#x22;Get Resource Group Membership Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:resource_group_memberships_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_resource_group_membership&#x22;,&#x22;label&#x22;:&#x22;Update Resource Group Membership&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:resource_group_memberships_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_rooms&#x22;,&#x22;label&#x22;:&#x22;List Rooms&#x22;,&#x22;scopes&#x22;:[&#x22;spark:rooms_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_room_details&#x22;,&#x22;label&#x22;:&#x22;Get Room Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:rooms_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_room&#x22;,&#x22;label&#x22;:&#x22;Create Room&#x22;,&#x22;scopes&#x22;:[&#x22;spark:rooms_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_room&#x22;,&#x22;label&#x22;:&#x22;Update Room&#x22;,&#x22;scopes&#x22;:[&#x22;spark:rooms_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_room&#x22;,&#x22;label&#x22;:&#x22;Delete Room&#x22;,&#x22;scopes&#x22;:[&#x22;spark:rooms_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_teams&#x22;,&#x22;label&#x22;:&#x22;List Teams&#x22;,&#x22;scopes&#x22;:[&#x22;spark:teams_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_team_details&#x22;,&#x22;label&#x22;:&#x22;Get Team Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark:teams_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_team&#x22;,&#x22;label&#x22;:&#x22;Create Team&#x22;,&#x22;scopes&#x22;:[&#x22;spark:teams_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_team&#x22;,&#x22;label&#x22;:&#x22;Update Team&#x22;,&#x22;scopes&#x22;:[&#x22;spark:teams_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_team&#x22;,&#x22;label&#x22;:&#x22;Delete Team&#x22;,&#x22;scopes&#x22;:[&#x22;spark:teams_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_workspaces&#x22;,&#x22;label&#x22;:&#x22;List Workspaces&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:workspaces_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_workspace_details&#x22;,&#x22;label&#x22;:&#x22;Get Workspace Details&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:workspaces_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_workspace&#x22;,&#x22;label&#x22;:&#x22;Create Workspace&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:workspaces_write&#x22;,&#x22;spark-admin:telephony_config_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_workspace&#x22;,&#x22;label&#x22;:&#x22;Update Workspace&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:workspaces_write&#x22;,&#x22;spark-admin:telephony_config_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_workspace&#x22;,&#x22;label&#x22;:&#x22;Delete Workspace&#x22;,&#x22;scopes&#x22;:[&#x22;spark-admin:workspaces_write&#x22;,&#x22;spark-admin:telephony_config_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_list_webhooks&#x22;,&#x22;label&#x22;:&#x22;List Webhooks&#x22;,&#x22;scopes&#x22;:[&#x22;application:webhooks_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_get_webhook_details&#x22;,&#x22;label&#x22;:&#x22;Get Webhook Details&#x22;,&#x22;scopes&#x22;:[&#x22;application:webhooks_read&#x22;]},{&#x22;id&#x22;:&#x22;webex_create_webhook&#x22;,&#x22;label&#x22;:&#x22;Create Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;application:webhooks_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_update_webhook&#x22;,&#x22;label&#x22;:&#x22;Update Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;application:webhooks_write&#x22;]},{&#x22;id&#x22;:&#x22;webex_delete_webhook&#x22;,&#x22;label&#x22;:&#x22;Delete Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;application:webhooks_write&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Creating a Webex Integration</h2>

  <p>To connect Webex with StackOne, you'll need to create an OAuth integration at Webex Developer Portal to obtain your Client ID and Client Secret.</p>

  <Steps>
    <Step title="Sign in to Webex Developer Portal">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your <a href="https://developer.webex.com" target="_blank" rel="noopener noreferrer">Webex Developer Portal</a> using your Webex credentials.</p>
      </div>
    </Step>

    <Step title="Navigate to My Webex Apps">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click on your profile icon in the top-right corner and select <strong>My Webex Apps</strong> from the dropdown menu.</p>
      </div>
    </Step>

    <Step title="Create a New Integration">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click the <strong>Create a New App</strong> button, then select <strong>Create an Integration</strong>.</p>
      </div>
    </Step>

    <Step title="Configure Integration Details">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fill in the required integration information.</p>

        <ul>
          <li><strong>Will this integration use a mobile SDK?:</strong> No</li>
          <li><strong>Integration Name:</strong> StackOne Integration (or your preferred name)</li>
          <li><strong>Icon:</strong> Upload an optional icon for your integration or select from default</li>
          <li><strong>App Hub Description:</strong> Enter a brief description of your integration's purpose</li>
          <li><strong>Redirect URI(s):</strong> <code>[https://api.stackone.com/connect/oauth2/webex/callback](https://api.stackone.com/connect/oauth2/webex/callback)</code></li>
          <li><strong>Scopes:</strong> Select the scopes your integration requires (see <code>Select OAuth Scopes</code> section below)</li>
        </ul>
      </div>
    </Step>

    <Step title="Select OAuth Scopes">
      <div data-guide-step data-guide-scopes="analytics:read_all,application:webhooks_read,application:webhooks_write,audit:events_read,meeting:admin_config_read,meeting:participants_read,meeting:participants_write,meeting:preferences_read,meeting:preferences_write,meeting:schedules_read,meeting:schedules_write,meeting:transcripts_read,spark-admin:devices_read,spark-admin:hybrid_clusters_read,spark-admin:hybrid_connectors_read,spark-admin:licenses_read,spark-admin:locations_read,spark-admin:locations_write,spark-admin:organizations_read,spark-admin:people_write,spark-admin:recordings_read,spark-admin:recordings_write,spark-admin:reports_read,spark-admin:reports_write,spark-admin:resource_group_memberships_read,spark-admin:resource_group_memberships_write,spark-admin:resource_groups_read,spark-admin:roles_read,spark-admin:telephony_config_write,spark-admin:workspaces_read,spark-admin:workspaces_write,spark-compliance:events_read,spark:memberships_read,spark:memberships_write,spark:messages_read,spark:messages_write,spark:organizations_read,spark:people_read,spark:recordings_read,spark:recordings_write,spark:rooms_read,spark:rooms_write,spark:team_memberships_read,spark:team_memberships_write,spark:teams_read,spark:teams_write" data-guide-display-scopes-list="analytics:read_all,application:webhooks_read,application:webhooks_write,audit:events_read,meeting:admin_config_read,meeting:participants_read,meeting:participants_write,meeting:preferences_read,meeting:preferences_write,meeting:schedules_read,meeting:schedules_write,meeting:transcripts_read,spark-admin:devices_read,spark-admin:hybrid_clusters_read,spark-admin:hybrid_connectors_read,spark-admin:licenses_read,spark-admin:locations_read,spark-admin:locations_write,spark-admin:organizations_read,spark-admin:people_write,spark-admin:recordings_read,spark-admin:recordings_write,spark-admin:reports_read,spark-admin:reports_write,spark-admin:resource_group_memberships_read,spark-admin:resource_group_memberships_write,spark-admin:resource_groups_read,spark-admin:roles_read,spark-admin:telephony_config_write,spark-admin:workspaces_read,spark-admin:workspaces_write,spark-compliance:events_read,spark:memberships_read,spark:memberships_write,spark:messages_read,spark:messages_write,spark:organizations_read,spark:people_read,spark:recordings_read,spark:recordings_write,spark:rooms_read,spark:rooms_write,spark:team_memberships_read,spark:team_memberships_write,spark:teams_read,spark:teams_write">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="analytics:read_all,application:webhooks_read,application:webhooks_write,audit:events_read,meeting:admin_config_read,meeting:participants_read,meeting:participants_write,meeting:preferences_read,meeting:preferences_write,meeting:schedules_read,meeting:schedules_write,meeting:transcripts_read,spark-admin:devices_read,spark-admin:hybrid_clusters_read,spark-admin:hybrid_connectors_read,spark-admin:licenses_read,spark-admin:locations_read,spark-admin:locations_write,spark-admin:organizations_read,spark-admin:people_write,spark-admin:recordings_read,spark-admin:recordings_write,spark-admin:reports_read,spark-admin:reports_write,spark-admin:resource_group_memberships_read,spark-admin:resource_group_memberships_write,spark-admin:resource_groups_read,spark-admin:roles_read,spark-admin:telephony_config_write,spark-admin:workspaces_read,spark-admin:workspaces_write,spark-compliance:events_read,spark:memberships_read,spark:memberships_write,spark:messages_read,spark:messages_write,spark:organizations_read,spark:people_read,spark:recordings_read,spark:recordings_write,spark:rooms_read,spark:rooms_write,spark:team_memberships_read,spark:team_memberships_write,spark:teams_read,spark:teams_write" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Create Attachment Action, Create Location, Create Meeting, Create Meeting Invitee, Create Membership, Create Message, Create Person, Create Report, Create Room, Create Team, Create Team Membership, Create Webhook, Create Workspace, Delete Meeting, Delete Meeting Invitee, Delete Membership, Delete Message, Delete Person, Delete Recording, Delete Recording (Admin), Delete Report, Delete Room, Delete Team, Delete Team Membership, Delete Webhook, Delete Workspace, Download Meeting Transcript, Get Attachment Action Details, 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 Meeting Qualities, Get Membership Details, Get Message Details, Get My Details, Get Organization Details, Get Person Details, Get Personal Meeting Room Options, Get Recording Details, Get Report Details, Get Resource Group Details, Get Resource Group Membership Details, Get Role Details, Get Room Details, Get Scheduling Options, Get Team Details, Get Team Membership Details, Get Unified Credentials, Get Unified Group, Get Unified Organization, Get Unified Role, Get Unified User, Get Webhook Details, Get Workspace Details, IAM Auth Test, 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 Memberships, List Messages, List Organizations, List People, List Recordings, List Recordings (Admin/Compliance Officer), List Report Templates, List Reports, List Resource Group Memberships, List Resource Groups, List Roles, List Rooms, List Team Memberships, List Teams, List Transcript Snippets, List Unified Groups, List Unified Organizations, List Unified Resource Types, List Unified Resource Users, List Unified Roles, List Webhooks, List Workspaces, Update Location, Update Meeting, Update Meeting Invitee, Update Meeting Participant, Update Membership, Update Message, Update Person, Update Personal Meeting Room Options, Update Resource Group Membership, Update Room, Update Team, Update Team Membership, Update Webhook, Update Workspace</span>
        </div>

        <p>Choose the appropriate scopes based on your integration needs. The following scopes are required for full connector functionality.</p>

        <ul>
          <li><strong>User-level scopes (11 scopes):</strong> spark:people\_read, spark:teams\_write, spark:teams\_read, spark:team\_memberships\_write, spark:team\_memberships\_read, spark:rooms\_write, spark:rooms\_read, spark:messages\_write, spark:messages\_read, spark:memberships\_write, spark:memberships\_read, spark:organizations\_read</li>
          <li><strong>Meeting scopes (12 scopes):</strong> meeting:schedules\_write, meeting:schedules\_read, meeting:preferences\_write, meeting:preferences\_read, meeting:participants\_write, meeting:participants\_read, meeting:transcripts\_read, meeting:admin\_config\_read, spark:recordings\_write, spark:recordings\_read</li>
          <li><strong>Admin scopes (18 scopes):</strong> spark-admin:people\_write, spark-admin:organizations\_read, spark-admin:licenses\_read, spark-admin:roles\_read, spark-admin:locations\_write, spark-admin:locations\_read, spark-admin:workspaces\_write, spark-admin:workspaces\_read, spark-admin:devices\_read, spark-admin:telephony\_config\_write, spark-admin:recordings\_write, spark-admin:recordings\_read, spark-admin:reports\_write, spark-admin:reports\_read, spark-admin:resource\_groups\_read, spark-admin:resource\_group\_memberships\_write, spark-admin:resource\_group\_memberships\_read, spark-admin:hybrid\_clusters\_read, spark-admin:hybrid\_connectors\_read</li>
          <li><strong>Compliance & Security scopes (3 scopes):</strong> spark-compliance:events\_read, audit:events\_read, analytics:read\_all</li>
          <li><strong>Webhook scopes (2 scopes):</strong> application:webhooks\_write, application:webhooks\_read</li>
          <li><strong>For basic usage:</strong> Select only user-level scopes (spark:\*) for messaging and teams functionality</li>
          <li><strong>For admin features:</strong> Admin scopes (spark-admin:\*) require appropriate administrator role in your Webex organization</li>
          <li><strong>Note:</strong> You can leave the Scopes field blank in StackOne to use the default comprehensive set of all 46 scopes, or specify a custom space-separated list of only the scopes you need</li>
        </ul>
      </div>
    </Step>

    <Step title="Copy Integration Credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>After clicking <strong>Add Integration</strong>, you'll see your credentials.</p>

        <ul>
          <li>Copy the <strong>Client ID</strong> — this will be visible anytime you view your integration</li>
          <li>Copy the <strong>Client Secret</strong> — this is shown only once during creation; store it securely for use later</li>
          <li>Important: If you lose the Client Secret, you'll need to regenerate it from the integration settings</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

## Linking the Account from the Hub

<Steps>
  <Step title="Navigate to the Hub">
    Use one of the three <a href="/guides/accounts-section#linking-accounts">Linking Account Methods</a> to access the Hub.
  </Step>

  <Step title="Fill out the fields">
    Fill out the following fields using details from your provider:

    <ul>
      <li><strong>Client ID</strong></li>
      <li><strong>Client Secret</strong></li>
      <li><strong>OAuth Scopes</strong> (Optional)</li>
    </ul>
  </Step>

  <Step title="Connect">
    <ul>
      <li>Click <strong>Connect</strong></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>
  </Step>
</Steps>

If the account linking is successful, you will see the newly linked account in your <a href="/guides/accounts-section">Accounts</a> page.
