Skip to main content
Version: 2.10

External Client App for IVR integration

Configure the External Client App for Cisco CVP (UCCE) / Cisco IP IVR (UCCX) integration

To use Service Cloud Voice to its full extent, the Contact Center call flow can be adapted to create the Voice Call record and to execute a Salesforce Omni-Channel flow while the call is on the IVR.

info

There are two options to connect your Salesforce data with third-party applications. Both Connected Apps and External Client Apps are frameworks to integrate data. External Client Apps are the next generation of connected apps.

Configuration steps

The following configuration steps are required to enable Contact Center Flows and IVRs to connect to Service Cloud Voice:

  1. Create a Permission Set for the SCV Integration User
  2. Clone and modify the Profile Minimum Access - API Only Integrations
  3. Create a User: SCV Integration User
  4. Create a External Client App
  5. Assign the Permission Set and the SCV Integration User to the External Client App

Permission Set for the SCV Integration User

The following Permission Set grants access to Apex classes used by Connects for SCV for the integration with Contact Center IVR flows and b+s Connects for SCV

info

The following is an example configuration and describes the minimum required permissions for the Contact Center / IVR integration to work.

  • From Setup, navigate to Users | Permission Sets
  • Click on New button
    • Enter a Label, for example: IVR Access to SCV Apex Classes
    • API Name is automatically filled out
    • License: None
    • Click on Save button
  • The new Permission Set opens
  • Navigate to Apex Class Access
  • Click on Edit button and add the following Apex classes
    • cnxscv.ServiceRouting
  • Navigate to System Permissions
  • Click on Edit button and enabled the following Permissions
    • Apex REST Services
    • API Enabled

Minimum Access - API Only Integrations Profile

This Profile is used to integrate with b+s Connects for SCV to create Voice Call records and Execute Omni-Flow from the IVR flow.

info

The following is an example configuration and describes the minimum required permissions for the Contact Center / IVR integration to work.

This is a clone from the Minimum Access - API Only Integrations profile

  • From Setup, navigate to Users | Profiles
  • In the Profiles list, search for the Profile Minimum Access - API Only Integrations
  • Click on the profile name to open the Minimum Access - API Only Integrations profile
  • On the Minimum Access - API Only Integrations profile, click the Clone button
  • Enter a new Profile Name, for example: SCV Integration
  • Click on Save button
  • The new Profile opens
  • Verify that your Minimum Access – API Only Integrations profile has all permissions removed from the profile itself
  • Navigate to System Permissions
  • Make sure the following Permissions are enabled
    • API Enabled
    • Api Only User

SCV Integration User

info

The following is an example configuration and describes the minimum required permissions for the Contact Center / IVR integration to work.

No Salesforce Service Cloud Voice license or b+s Connects for SCV license is required for the SCV Integration User.

  • From Setup, navigate to Users | Users
  • Click on New User button
    • Enter First Name, Last Name, and all other mandatory fields
    • User License: Salesforce Integration
    • Profile: select the profile created in the previous step ("SCV Integration profile", clone of Minimum Access - API Only Integrations profile)
  • Click on Save button
  • Open the new User record
  • Assign the Permission Set License Salesforce API Integration
  • Assign the Permission Set created before ("IVR Access to SCV Apex Classes")

Create and configure a External Client App

The Service Cloud Voice API Wrapper requires a External Client App in order to obtain a valid Salesforce Access Token via OAuth 2.

The following section shows the minimal required configuration needed in order to allow the external components to connect to your Salesforce Org.

  • From Setup, navigate to Apps | External Client Apps | External Client App Manager
  • Click on New External Client App button
  1. External Client App - Basic Information

    • External Client App Name: b+s Connects for Service Cloud Voice
    • API Name: B_s_Connects_for_Service_Cloud_Voice
    • Contact Email: < your email >
    • Distribution State: select Local

    External Client App - Basic Information

  1. External Client App - API (Enable OAuth Settings)

    • Select: Enable OAuth
    • App Settings
      • Callback URL: https://login.salesforce.com/services/oauth2/callback as a sample callback URL
    • OAuth Scopes
      • Select OAuth scopes:
        • Manage user data via APIs (api)

    External Client App - API Enable OAuth Settings

    • Flow Enablement
      • Select: Enable Client Credentials Flow

    External Client App - Flow Enablement

    • Security
      • Uncheck the Require secret for the Web Server Flow option

    External Client App - Security

  2. Click on Create button

  3. Change to Tab Policies

    • Click on Edit button
  4. Policies - OAuth Policies

    • Plugin Policies
      • Permitted Users: select Admin approved users are pre-authorized
      • Confirm the change
    • OAuth Flows and External Client App Enhancements
      • Select: Enable Client Credentials Flow
      • Run As (Username): user name of the SCV Integration User created before
    • App Authorization
      • Refresh Token Policy: select Immediately expire refresh token
      • IP Relaxation: select Enforce IP restrictions

    External Client App - OAuth Policies

  5. Policies - App Policies

    • Start Page: none
    • Select Permission Sets: Assign the Permission Set created before ("IVR Access to SCV Apex Classes")

    External Client App - App Polices

  6. Click on Save button

  7. Change to Tab Settings

    • Section OAuth Settings, click Consumer Key and Secret button
    • wait for email and verify your identity

    External Client App - OAuth Settings, request Consumer Key and Secret

    • A new browser tab opens a screen with the Consumer Details
    • Click Copy and save the Consumer Key and the Consumer Secret. These values will be necessary for authenticating to the External Client App to receive the access_token required for all subsequent requests.

    Manage Consumer Key

Important: Maintain Security by Periodically Rotating Secrets

Make sure you regularly rotate your Client IDs and Client Secrets to keep your integrations secure. You can follow the process described in Stage, Rotate, and Delete OAuth Credentials for an External Client App.

After generating new credentials, remember to update the Client ID and Client Secret in all Contact Center flows and IVR scripts where they are used. This will prevent any disruptions in your existing integrations.