Install CRM Service for Salesforce
The 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 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 Dialogue Cloud WebAgent.
Note
An additional Dialogue Cloud 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
-
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
ClientIdandClientSecret. The Salesforce user account providesUsernameandPassword. All four settings are required.Complete the following instructions:
-
Enable OAuth Setting for API integration
-
For the CallBack, an IVR menu feature for voice, enables the customer to confirm or leave an alternative phone number to be called back by an available agent during business hours. 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.
Deploy package
-
Unzip the CRM Service package from the A bundle is a fixed combination of our software platform elements of very specific versions. These are designed and tested to optimally work together to assure their intended function and interoperability. Package
-
Edit the properties.ps1
-
Domain = Domain of the install account
-
UserName = Username of the install account
-
-
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
-
Unzip the Salesforce package
-
Paste the Salesforce folder inside the Plugin folder of the CRM Service:
Default pathC:\inetpub\wwwroot\CrmService\Plugins
Activate plugin
-
Open the CrmConfiguration.yaml
Default pathC:\inetpub\wwwroot\CrmService\CrmConfiguration.yaml
-
Change the description to:
CrmConfiguration.yaml# Plugin description: Salesforce
-
Change the useSharePoint to:
CrmConfiguration.yaml# Use SharePoint to get configuration useSharePoint: true
Add Endpoint
-
Open the UCC Config page on SharePoint
-
Open the Plugin Settings list
-
Add CRMService settings endpoint to ListsPlugin ListsEndpoints
Note
Add to the existing item and separate with "Enter".
| Setting | Value | Scope |
|---|---|---|
| ListsEndpoints |
http://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 during install so could be http://fqdn/CrmService or http://fqdn/CrmServiceSalesforce. We advice to always install this service as http://fqdn/CrmServiceSalesforce 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 |
Add WebAgentService URL
- Open the UCC Config page on SharePoint
- Open the Plugin Settings list
- 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. Note The CrmService name may be different if a custom name was provided or if multiple CrmServices are configured. 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 |
Add 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.
-
Open the UCC Config page on SharePoint
-
Open the Plugin Settings list
-
Add the following mandatory settings:
| Setting | Value | Scope |
|---|---|---|
| ApplicationHost |
Salesforce application URL. (e.g. |
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 |
||
| 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. |
CrmService |
| LoginEndPoint |
Salesforce Login Endpoint. (e.g. 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
-
Use or update the Salesforce Password from your Salesforce administration account. Salesforce automatically sends a new Salesforce Security Token.
-
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=
TypicalPasswordand the Salesforce Security Token=pR8&uI234&BiGggthen the Concatenated Password would be:TypicalPasswordpR8&uI234&BiGggNote
There are no spaces inserted between the 2 strings.
-
Run the A365.PWTool.exe. When prompted to enter a password, enter the Concatenated Password. Using the previous example, enter this string:
TypicalPasswordpR8&uI234&BiGggPress Enter. The program encrypts the input string and displays an Encrypted password that should resemble this example:
9Jp9DTd5/Gbur0MlznIhg8GllpBQ3KYX8NvS0HsyzaM= -
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.