Table of Contents |
---|
Introduction
...
Login to admin webex - https://admin.webex.com/manage-users/users with a service account. Note: this has to be a separate account from your main admin account, since it is not possible to assign "Compliance officer" role to yourself. It needs to be assigned a different account.
In the Profile tab click on the admin line:Set the user to have a Compliance Officer and Full administrator privileges:
Login to Webex Development: https://developer.webex.com/ with the user created above.
Click on Start Building Apps button:
Click Create an Integration
Select Integration as a new app type:Fill in all the required settings. Integration Name should be simply "SphereShield". The icon should be the SphereShield logo. Contact email should be support@agatsoftware.com
The important setting here is the Redirect URL. You should enter your Access Portal URL (provided by AGAT) with the addition of /account/webexauth suffix.
Example for Fiji: https://ap.fiji.agat.world/account/webexauth
Note that the redirect URL is case sensitive.
Select the following scopes for Webex Meeting:
meeting:recordings_read
meeting:admin_recordings_read
spark-admin:people_read
spark-admin:resource_group_memberships_read
spark-admin:resource_groups_read
spark-compliance:events_read
spark-compliance:memberships_read
spark-compliance:team_memberships_read
spark-compliance:teams_read
meeting:admin_schedule_read (scope needed to request meeting title for eDiscovery purpose)
meeting:admin_schedule_write (scope needed for sending meeting invitee to make Compliance officer as CoHost in scheduled meeting)
meeting:participants_write (scope needed for being able to expel users from scheduled meeting)
meeting:admin_participants_read (scope needed to create “meetingParticipants” webhook)
meeting:controls_read (scope needed to be able to request meeting recording state)
meeting:controls_write (scope needed to be able to change meeting recording state)
meeting:admin_preferences_write(scope needed to be able to make Compliance officer as CoHost in PMR meeting)
spark-compliance:meetings_write (scope needed
for beeing able to get ended meeting chats)spark-compliance:meetings_read(scope needed
for beeing able to get ended meeting chats)spark-admin:calls_write (might require escalation to Webex Support) (Note: The following scopes from the above list may not exist: spark-admin:call_memberships_read, spark-admin:calls_read, spark-admin:calls_write)
...
Code:
Code Block | ||
---|---|---|
| ||
try { let requiredScopes } catch (e) { console.log("variable already declared") console.log(e) } if (typeof requiredScopes === 'undefined') { console.log("defining scopes") requiredScopes = [ let webexMeeting = [ "meeting:recordings_read", "meeting:admin_recordings_read", "spark-admin:people_read", "spark-admin:resource_group_memberships_read", "spark-admin:resource_groups_read", "spark-compliance:events_read", "spark-compliance:memberships_read", "spark-compliance:team_memberships_read", "spark-compliance:teams_read" , "meeting:admin_schedule_read" "meeting:admin_schedule_write", "meeting:participants_write" , "meeting:admin_participants_read" , "meeting:controls_read" , "meeting:controls_write" , "meeting:admin_preferences_write", "spark-compliance:meetings_writewrit" , "spark-compliance:meetings_read" , "spark-admin:calls_write" ] function ]clickCheckBoxes(scopeList) { } for (let scope of requiredScopesscopeList) { let validScopescope = scope.replace(":", "\\:") try { element = document.querySelector(`input[id*=${validScopescope}]`) if (!element.checked) { console.log(`Clicking ${validScopescope}`) element.click() } } catch (e) { console.log(`couldn't find element ${scope}`) console.log(e) } } } clickCheckBoxes(webexMeeting) |
Register the Webex App in the Admin Portal
...
Copy all the text in OAuth Authorization URL field (black box):
(can be easily done by 3 left clicks on the black box text to select all the URL and Ctrl+C to copy)Paste it into a new tab of Chrome (recommends to use incognito) in the address line and press Enter:
Accept the required permissions:
4. You will be redirected to the Admin Portal Webex App Configuration page ([adminPortalURL]/account/webexauth):
...
Enter the settings from Webex App: Client ID, Client Secret, Integration ID
In External Portal Web API URL enter your AP external URL, like https://env29.agatcloud.com
Info |
---|
Note that here it comes without any suffix, just the site base URL. |
...