Install CRM Service for Salesforce

Prerequisites

Licensing prerequisites

To display contact and case information in WebAgent, you need:

  • A valid WebAgent license.
  • A CRM connector entitlement for each configured data source or CRM connection. This may be included in your subscription or provided through AW301, CRM Connector (read-only).

A CRM connector retrieves information for WebAgent. It does not, by itself, license embedding WebAgent inside a CRM application.

Contact your AnywhereNow representative if you are unsure whether your subscription includes the required connector.

Introduction

The CRM Service for Salesforce is used to retrieve relevant information about the caller (for both inbound and outbound) during a conversation handled by the . The CRM Service retrieves contact info regarding the caller and if applicable the related relevant cases. The CRM Service will be used in combination with the Dialogue Cloud WebAgent.

Dependencies

  • A Salesforce environment with a connected app. For more information, see Salesforce documentation: Create Connected App.

    The CRM Service for Salesforce uses the Salesforce OAuth username-password flow. The connected app provides ClientId and ClientSecret. The Salesforce user account provides Username and Password. All four settings are required.

    Complete the following instructions:

    • Configure Basic Connected App Settings

    • Enable OAuth Setting for API integration

      • For the URL use:
        sfdc://oauth/restapi/success

      • For the OAuth Scopes use:

        • Manage user data via APIs (api)
        • Perform request at any time (refresh_token, offline_access)
  • User account that has access to the Salesforce API of your environment.

Follow the instructions below to install the CRM Service for Salesforce.

Request CRM Service for Dialogue Cloud

For customers

Request the Crm Service for Salesforce to be enabled (for specific UCC's) via your regular AnywhereNow contact or Partner.

For partners

  1. Navigate to the Partner Portal

  2. Request the "Integrated with Salesforce" when selecting WebAgent > Webagent For Voice Communication / Webagent for Omnichannel Communication.

    This can be done during:

    1. Create UCC, see: Create - Contact Center (UCC)

    2. Edit UCC, see: View (and edit) - Contact Centers (UCC's)

Validate Endpoint

Note

Required settings fields will be automatically added in your SharePoint lists after requesting this feature through . Some of these settings, like ConnectionString, will need to be completed ASAP with your valid credentials.

  1. Open the UCC Config page on SharePoint

  2. Open the Plugin Settings list

  3. Validate CRMService settings endpoint to ListsPlugin ListsEndpoints

Setting Value Scope
ListsEndpoints

http:///webagentservice/api/v1/settings

http://FQDN/CrmServiceSalesforce/api/v1/settings

Warning

Make sure to leave the fqdn to this service configured as a ".local" URL, especially when using multiple UCC services in the same region. If this is not done, the UCC cannot reach the right webserver internally leading to undesired or non-functional WebAgent behavior.

ListsPlugin

Validate WebAgentService URL

Note

Required settings fields will be automatically added in your SharePoint lists after requesting this feature through OnePortal. Some of these settings, like ConnectionString, will need to be completed ASAP with your valid credentials.

  1. Open the UCC Config page on SharePoint
  2. Open the Plugin Settings list
  3. Validate the following setting:
Setting Value Scope
CrmServiceUrl

http://fqdn/CrmServiceSalesforce

Note

URL (Value) needs to be accessible from the WebAgentService to this CRM Service.
If on the same server this can be http and a .local address.

Warning

Make sure to leave the fqdn to this service configured as a ".local" URL, especially when using multiple UCC services in the same region. If this is not done, the UCC cannot reach the right webserver internally leading to undesired or non-functional WebAgent behavior.

WebAgentService

Configure PluginSettings

Warning

This CRM service depends on settings which need to be identical if used across multiple UCC's within a service, meaning the values should be identical across all UCC configurations using it. We call these primary settings. A primary setting is defined by the first UCC to publish its settings during startup of the service. This may not always be the same UCC if multiple UCC's share this service! If values differ across multiple UCC's this will lead to unpredictable behavior after a service restart. It is extremely important to keep the values consistent/identical and valid.

Note

Required settings fields will be automatically added in your SharePoint lists after requesting this feature through OnePortal. Some of these settings, like ConnectionString, will need to be completed ASAP with your valid credentials.

  1. Open the UCC Config page on SharePoint

  2. Open the Plugin Settings list

  3. Configure the following mandatory settings:

Setting Value Scope
ApplicationHost

Salesforce application URL.

(e.g. https://eu6.salesforce.com/)

CrmService
Username

Username of the user account that has access to the Salesforce API of your environment.

CrmService
Password

The generated encrypted password string of the user account that has access to the Salesforce API of your environment. For more information, see Generating an encrypted password string for CRM Service for Salesforce authentication.

CrmService

Note

The Password setting is a generated encrypted string created with A365.PWTool.exe from your Salesforce password and token. For more information, see Generating an encrypted password string for CRM Service for Salesforce authentication

ClientId Connected app provided client ID.

Note

Value should be encrypted by A365.PWTool.exe

CrmService
ClientSecret Connected app provided client secret.

Note

Value should be encrypted by A365.PWTool.exe

CrmService
ApiEndPoint

Salesforce REST API endpoint

(e.g. services/data/v37.0/)

CrmService
LoginEndPoint

Salesforce Login Endpoint.

(e.g. https://login.salesforce.com/services/oauth2/token)

Use the token endpoint that is valid for the connected app.

CrmService

Configure Salesforce authentication

CRM Service for Salesforce uses the Salesforce OAuth username-password flow. The token request is sent to LoginEndPoint with ClientId, ClientSecret, Username, and Password.

Note

Configuring only ClientId and ClientSecret is not sufficient. CRM Service for Salesforce also requires Username and Password.

The Password value must be the encrypted concatenated password string. For more information, see Generating an encrypted password string for CRM Service for Salesforce authentication.

For additional information on obtaining credentials for this connection, refer to Salesforce's documentation: Create a Connected App.

For additional or optional configuration parameters see Additional configuration CRM Service for Salesforce

Generating an encrypted password string for CRM Service for Salesforce authentication

Accessing Salesforce data requires both a password and a security token provided by Salesforce. Use A365.PWTool.exe to generate the encrypted password string, according to the procedure described below.

To generate a CRM Service for Salesforce authentication password

  1. Use or update the Salesforce Password from your Salesforce administration account. Salesforce automatically sends a new Salesforce Security Token.

  2. Concatenate these two strings by adding the Salesforce Password to the Salesforce Security Token in the following way:

    [Salesforce Password]+[Salesforce Security Token] = [Concatenated Password]

    Example: If the Salesforce Password=TypicalPassword and the Salesforce Security Token= pR8&uI234&BiGgg then the Concatenated Password would be:

    TypicalPasswordpR8&uI234&BiGgg

    Note

    There are no spaces inserted between the 2 strings.

  3. Run the A365.PWTool.exe. When prompted to enter a password, enter the Concatenated Password. Using the previous example, enter this string:
    TypicalPasswordpR8&uI234&BiGgg

    Press Enter. The program encrypts the input string and displays an Encrypted password that should resemble this example:

    9Jp9DTd5/Gbur0MlznIhg8GllpBQ3KYX8NvS0HsyzaM=

  4. Copy this string, making sure to not copy extra characters or spaces, and paste it into the Password field in your UCC's Plugin Settings.