On Premises

Install CRM Service for Bullhorn

Last updated: February 2024

The CRM Service for Bullhorn is used to retrieve relevant information about the caller (for both inbound and outbound) during a conversation handled by the UCC. 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 AnywhereNow WebAgent.

Note

An additional AnywhereNow 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 Bullhorn Environment with an OAuth application endpoint by creating a support ticket via the Bullhorn Resource Center.

    See: Get Started with the Bullhorn REST API | Bullhorn

  • A Bullhorn user account for authenticating with the following permission:

    • Login information access: Permissions to access login-related information.
    • API access: Permissions to use the Bullhorn API, including accessing endpoints and making requests.
    • Authentication: Permissions related to authentication mechanisms, such as OAuth or API key authentication.
    • Role-based access: Depending on your organization's setup, the API username may need specific roles or permissions assigned to it to access the login information endpoint.

Request login information from BullHorn

Making a request (GET) to this endpoint to return the list of correct URLs for that user.

Copy
cUrl
curl --location --globoff 'https://rest.bullhornstaffing.com/rest-services/loginInfo?username={API_Username}'

Note

API_Username: Correspond with the username with API permissions.

The response should look similar to:

Copy
Response
{
    "atsUrl": "https://cls91.bullhornstaffing.com",
    "billingSyncUrl": "https://wfr-west9.bullhornstaffing.com/billing-sync-services",
    "coreUrl": "https://cls91.bullhornstaffing.com/core",
    "documentEditorUrl": "https://docs-emea.bullhornstaffing.com/document/",
    "mobileUrl": "https://m-west9.bullhorn.com",
    "oauthUrl": "https://auth-west9.bullhornstaffing.com/oauth",
    "restUrl": "https://rest-west9.bullhornstaffing.com/rest-services",
    "samlUrl": "http://cls91.bullhornstaffing.com/BullhornStaffing/SAML/Login.cfm",
    "novoUrl": "https://app.bullhornstaffing.com",
    "pulseInboxUrl": "https://pulse-inbox.bullhornstaffing.com",
    "canvasUrl": "https://lasbigateway.bullhorn.com/canvas/cgi-bin/cognosisapi.dll",
    "npsSurveyUrl": "https://surveys-west9.bullhorn.com{{path}}?sl=91&{{params}}",
    "ulUrl": "https://lasuniversal9.bullhornstaffing.com/universal-login",
    "dataCenterId": 91,
    "superClusterId": 91
}

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

Deploy package

  1. Unzip the 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 Bullhorn package

  2. Paste the Bullhorn 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: Bullhorn
  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/webagentservice/api/v1/settings

http://FQDN/CrmServiceBullhorn/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/CrmServiceBullhorn. We advice to always install this service as http://fqdn/CrmServiceBullhorn

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

  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/CrmServiceBullhorn

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 multiple CrmServices are configured.
The URL values http://fqdn/CrmService or http://fqdn/CrmServiceBullhorn may therefore be different. We advice to always install this service as http://fqdn/CrmServiceBullhorn

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.

  1. Open the UCC Config page on SharePoint

  2. Open the Plugin Settings list

  3. Addthe following mandatory settings

Setting Value Scope
ApplicationHost

Bullhorn application URL.

This correspond with the atsUrl in the response during Request login information from BullHorn
(e.g. https://api-[CLUSTER_ID].bullhornstaffing.com)

CrmService
AuthorizationUrl

Bullhorn authorization URL.

This correspond with the oauthUrl in the response during Request login information from BullHorn
s(e.g. https://auth-[CLUSTER_ID].bullhornstaffing.com)

CrmService
RestApiLoginUrl

Bullhorn Rest API Login URL.

This correspond with the restUrl in the response during Request login information from BullHorn
(e.g. https://rest-[CLUSTER_ID].bullhornstaffing.com)

CrmService
Username

Username of the Bullhorn user created in the Dependencies

CrmService
Password

Password of the Bullhorn user created in the Dependencies

Note

Value should be encrypted by A365.PWTool.exe

CrmService
ClientId

Connected App provided client ID.

This is retrieved when requesting an OAuth application endpoint by creating a support ticket via the Bullhorn Resource Center

CrmService
ClientSecret

Connected App provided Client secret.

This is retrieved when requesting an OAuth application endpoint by creating a support ticket via the Bullhorn Resource Center

CrmService

This service can be additional configured by added optional settings, Learn More