On Premises

Install CRM Service for Salesforce

The CRM Customer Relationship Management, or CRM, is (usually) a software-based, data management method to deal with interactions with customers and potential customers. Service for Salesforce is used to retrieve relevant information about the caller (for both inbound and outbound) during a conversation handled by the UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). A UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location.. 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 Anywhere365 WebAgent.

Note: An additional Anywhere365 WebAgent for Voice or for Omnichannel license is required.
Note: A CRM connector license specific to each data source (Database or CRM backend platform) is required.

Dependencies

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

Deploy package

  1. Unzip the Anywhere365 CRM Service package from the Bundle Package

  2. Edit the properties.ps1

    • Domain = Domain of the install account

    • UserName = Username of the install account

  3. Run InstallCrmService.ps1 in PowerShell as administrator

(Optional) More than one CRM Service - use the CRM Service variable

Used in file: properties.ps1

$crmservice = "CrmService"

The variable $crmservice allows you to change the name under which the CRM Service will be installed in IIS, as well as it’s folder name in wwwroot.

If you need to have more than one CRM Service on a server or want to make clear which CRM Service is installed you can alter this value to suit your needs. All CRM Services fall under the applicationpool CrmApplicationPool.

Configure Plugin

Deploy plugin

  1. Unzip the Salesforce package

  2. Paste the Salesforce folder inside the Plugin folder of the CRM Service:

    Copy
    Default path
    C:\inetpub\wwwroot\CrmService\Plugins

Activate plugin

  1. Open the CrmConfiguration.yaml

    Copy
    Default path
    C:\inetpub\wwwroot\CrmService\CrmConfiguration.yaml
  2. Change the description to:

    Copy
    CrmConfiguration.yaml
    # Plugin
    description: Salesforce
  3. Change the useSharePoint to:

    Copy
    CrmConfiguration.yaml
    # Use SharePoint to get configuration
    useSharePoint: true

Add Endpoint

  1. Open the UCC Config page on SharePoint

  2. Open the Plugin Settings list

  3. Add CRMService settings endpoint to ListsPlugin ListsEndpoints

Note: Add to the existing item and separate with "Enter".

Setting

Value

Scope

ListsEndpoints

http://FQDN FDQN stands for Fully Qualified Domain Name and specifies the exact location in the tree hierarchy of the Domain Name System (DNS). An example for [hostname].[domain].[top level domain] is [www].[microsoft].[com]/webagentservice/api/v1/settings

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

Note: The CrmService name could be different if a custom name was provided so could be http://fqdn/CrmService or http://fqdn/CrmServiceSalesforce

Warning: Make sure to configure the setting to the ".local" URL when using multiple services in the same region. If this is not done, you may experience unexpected behavior.

ListsPlugin

Add WebAgentService URL

  1. Open the UCC Config page on SharePoint
  2. Open the Plugin Settings list
  3. Add 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.
Note: The CrmService name may be different if a custom name was provided or if muliple CrmServices are configured.
The URL values http://fqdn/CrmService or http://fqdn/CrmServiceSalesforce may therefore be different.

Warning: Make sure to configure the setting to the ".local" URL when using multiple services in the same region. If this is not done, you may experience unexpected behavior.

WebAgentService

Add PluginSettings

Warning: This CRM service depends on primary settings shared across multiple UCCs, meaning the value should remain consistent across all UCC configurations using it. A primary setting is initiated only during startup of the UCC with the first UCC to publish its settings defining the primary setting for all UCCs sharing this service. If values vary across multiple UCCs this will lead to unpredictable behavior after a restart, so it is extremely important to keep the values consistent and valid.
  1. Open the UCC Config page on SharePoint

  2. Open the Plugin Settings list

  3. Add the following mandatory settings:

Setting

Value

Scope

ApplicationHost

Salesforce application URL.

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

CrmService

Username

The 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, see: Generating an encrypted password string for CRM service for Salesforce authentication

CrmService

Note: The Password is a generated encrypted string that will be generated by the A365.PWTool.exe using 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)

CrmService

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 will require using both a password as well as a security token (provided by Salesforce) to generate an encrypted password string, using A365.PWTool.exe, according to the procedure described below.

To generate a CRM Service for Salesforce authentication password

  1. Use/update the Salesforce Password from your Salesforce administration account. Salesforce will automatically send a new Salesforce Security Token.

  2. Concatenate these 2 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. You will be prompted to enter a password. Enter the Concatenated Password, which would be, using our example, this string:
    TypicalPasswordpR8&uI234&BiGgg

    and press enter. The program will encrypt the input string and display an Encrypted password that should resemble this (for 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.