[Index]

Model: relation/SparkCustomer

Webex Control Hub Access

Full HTML Help

This procedure adds the Cisco Webex service (Webex Control Hub instance).

Prerequisites:

Note

No action is required to create a Network Device Lists (NDL). When an import from Webex Control Hub is run for the first time, the VOSS Automate workflow creates a blank NDL at the customer if no other NDL exists. When the sites are auto created based on the imported Webex Locations, the sites will use this new blank NDL.

See the Network Device Lists (NDLs) topic in the Core Feature Guide.

Important

For users upgrading to release 21.4-PB2, existing access tokens need to be refreshed in order to update permissions for newly added workspace_locations.

To create the Cisco Webex service:

  1. Log in to the Admin GUI as a provider or reseller administrator.

  2. Select the relevant customer hierarchy.

  3. Go to Webex Control Hub Access (Action search for the page) to open the list view of all configured Webex Organizations.

    Note

    Existing accounts added before Automate 21.4-PB3 will show the internal account ID as the Organization Account Number, while accounts added from Automate 21.4-PB3 onwards, show the external account ID.

  4. Click the Plus icon (+), then, on the new record page:

    Note

    You'll need to add the Webex organization account details to Automate before access tokens can be obtained.

  5. Click Save.

    Note

    When adding a new Webex Control Hub Access entry for a customer, data syncs and schedules are automatically created. Deleting a customer's Webex Control Hub Access automatically deletes these data syncs and schedules.

  6. Once the new Webex organization is saved, return to the created account to view (in the Access Tokens section), the Connect to Webex Control Hub link that is used to request the tokens.

  7. Click the Connect to Webex Control Hub link to obtain the access tokens (Webex Wholesale tokens for Customers and Subscribers if Wholesale Customer is enabled) for the Webex Control Hub account, and to be redirected to the Automate Transactions page.

    Note

    When first using this link, a Webex admin user (with sufficient privileges) must log in and accept the API authorization scope that Automate requires for integration.

  8. On the Transactions page, monitor progress for retrieving the access tokens.

    Note

    • Syncing of roles and licenses into Automate is included in this transaction.

    • Once the transaction completes, you can view expiry times for the access token and for the refresh token.

      • Automate automatically refreshes the access tokens every 7 days for 90 days, that is, until the expiry of the Refresh Token.

      • The Refresh Token is valid for 90 days. You can use the Connect to Webex Control Hub link to refresh it. Automate General Settings provide options for Webex App Tab to send impending expiry notifications and messages. See: Global Settings.

        For more information around access token management, see https://developer.webex.com/docs/integrations

  9. If Wholesale Customer was enabled, the Wholesale Customer section of the Webex Control Hub Access form shows Wholesalecustomer instance(s) associated with the Webex organization account. Customer details and associated calling and collaboration packages can then be managed if needed:

The list view item for the Webex for Wholesale control hub will show Wholesale Status as true.

Related Topics

This relation implements the workflows to manage Spark Customer connection parameters and enabled services.

Model Details: relation/SparkCustomer

Title Description Details
Customer Name * Name of this customer
  • Field Name: name
  • Type: String
Wholesale Customer Select this option if the customer is a wholesale customer.
  • Field Name: wholesale_status
  • Type: Boolean
Contact Center Customer Select this option if the customer is a Webex Contact Center customer.
  • Field Name: webex_contact_center
  • Type: Boolean
Region Select an option in the following list to map the API endpoints for your region.
  • Field Name: base_url_setting
  • Type: String
Organization Account Number This can be found when logging into the Webex Control Hub portal under the Account menu. E.g. 000fd0e4-83ef-d398-be23-d06998580fed
  • Field Name: account_number_external
  • Type: String
Admin Account Email This is the email address of the account used to generate the access token.
  • Field Name: account_email
  • Type: String
Organization Account Number (Internal) This is the internal API id for the organization. This is automatically resolved from the external account number.
  • Field Name: account_number
  • Type: String
Default Calling Behaviour This is the default calling behaviour for the organization.
  • Field Name: default_calling_behaviour
  • Type: String
  • Choices: ["Calling in Webex App", "Calling in Webex App (Unified CM)", "Cisco Jabber app", "Third-Party app"]
Email Domain for Hybrid Calling in Workspaces This is the email domain that will be used when creating a Unified CM user associated with a Workspace in Webex App Control Hub for hybrid calling.
  • Field Name: email_domain
  • Type: String
Directory Synchronization Enabled This setting must be enabled if the Organization has been enabled for Directory Synchronization on the Webex Control Hub side.
  • Field Name: dirsync_enabled
  • Type: Boolean
Please Note Field to display notes to the user.
  • Field Name: notes
  • Type: String
Authorize Webex This is the link to initiate the Webex OAuth flow to obtain tokens.
  • Field Name: token_link
  • Type: String
  • Format: link
Admin Access Token This is the Access Token provided when logging into Webex App Developer portal. This token is valid for 14 days. The Refresh token can be used to generate a new Access Token.
  • Field Name: token
  • Type: String
  • Is Password: True
Refresh Token This is the Refresh Token provided when logging into Webex App Developer portal. This token will be used to create a new access token. The refresh token is valid for 90 dyas.
  • Field Name: refresh_token
  • Type: String
  • Is Password: True
Access Token Expires At Time when the Access Token will expire.
  • Field Name: access_token_expires
  • Type: String
Refresh Token Expires At Time when the Refresh Token will expire.
  • Field Name: refresh_token_expires
  • Type: String
HTTP Proxy Specifies an outbound internet proxy server for HTTP traffic to the public Internet. The format should be (http(s)://[user:password]@host:port). Note that this is the location of the proxy and the URL scheme is not necessarily "http" just because the traffic being forwarded to it is HTTP traffic. Please consult the administrator of the proxy server for the correct URL. Special characters in either the user or password must be URL encoded.
  • Field Name: http_proxy
  • Type: String
  • Is Password: True
  • Store Encrypted: True
HTTPS Proxy Specifies an outbound internet proxy server for HTTPS traffic to the public Internet. The format should be (http(s)://[user:password]@host:port). Note that this is the location of the proxy and the URL scheme is not necessarily "https" just because the traffic being forwarded to it is HTTPS traffic. Please consult the administrator of the proxy server for the correct URL. Special characters in either the user or password must be URL encoded.
  • Field Name: https_proxy
  • Type: String
  • Is Password: True
  • Store Encrypted: True
Sync on Create Sync this organization's roles and licenses from Control Hub on creation.
  • Field Name: sync
  • Type: Boolean
Wholesalecustomer
  • Field Name: wholesalecustomer.[n]
  • Type: Array
  • Cardinality: [0..1]
Id
  • Field Name: wholesalecustomer.[n].id
  • Type: String
Org ID
  • Field Name: wholesalecustomer.[n].orgId
  • Type: String
Org Name
  • Field Name: wholesalecustomer.[n].orgName
  • Type: String
External Id
  • Field Name: wholesalecustomer.[n].externalId
  • Type: String
Address
  • Field Name: address
  • Type: Object
Address Line 1
  • Field Name: wholesalecustomer.[n].address.addressLine1
  • Type: String
Address Line 2
  • Field Name: wholesalecustomer.[n].address.addressLine2
  • Type: String
City
  • Field Name: wholesalecustomer.[n].address.city
  • Type: String
State or Province
  • Field Name: wholesalecustomer.[n].address.stateOrProvince
  • Type: String
ZIP or Postal Code
  • Field Name: wholesalecustomer.[n].address.zipOrPostalCode
  • Type: String
Country
  • Field Name: wholesalecustomer.[n].address.country
  • Type: String
Status
  • Field Name: wholesalecustomer.[n].status
  • Type: String
Packages
  • Field Name: packages.[n]
  • Type: Array
Resource Details
  • Field Name: resourceDetails
  • Type: Object
Packages
  • Field Name: packages.[n]
  • Type: Array
Name
  • Field Name: wholesalecustomer.[n].resourceDetails.packages.[n].name
  • Type: String
Status
  • Field Name: wholesalecustomer.[n].resourceDetails.packages.[n].status
  • Type: String
Warnings
  • Field Name: warnings.[n]
  • Type: Array
errorCode
  • Field Name: wholesalecustomer.[n].resourceDetails.packages.[n].warnings.[n].errorCode
  • Type: Integer
description
  • Field Name: wholesalecustomer.[n].resourceDetails.packages.[n].warnings.[n].description
  • Type: String
Errors
  • Field Name: errors.[n]
  • Type: Array
errorCode
  • Field Name: wholesalecustomer.[n].resourceDetails.packages.[n].errors.[n].errorCode
  • Type: Integer
description
  • Field Name: wholesalecustomer.[n].resourceDetails.packages.[n].errors.[n].description
  • Type: String