Integrating Remedyforce with BMC Helix Chatbot
BMC Remedyforce can now support integration with BMC Helix Chatbot within Remedyforce Self Service. The chatbot can be used to perform following tasks:
- Create and view service requests
- View knowledge articles and provide feedback on them
- View the 5 latest service requests that got created.
Remedyforce can be integrated with BMC Helix Chatbot based on the following steps:
For more information this integration, see the following sections:
- Set up My Domain in Remedyforce
- Provide Self Service 3.0 URL domain
- Provide your preferred tenant/domain name
- Purchase BMC Helix Chatbot
- Create an Integration User
- Create a Connected App
- Configure Remedyforce in Innovation Suite
- Configure BMC Helix Chatbot settings
- Sync users between Remedyforce and Innovation Suite
- Download and update JSONs for SRDs in Watson flows
- Localization support for chatbot
- For a user, if both Chat and Chatbot features are enabled, then the Chatbot feature will take preference.
- The feature is supported from Innovation Suite 18.11 and RSSO 18.11.
To set up My Domain
If you have already enabled My Domain, you can skip the following steps.
- Navigate to Setup > Domain Management > My Domain.
- Enter your Domain Name. You can choose something like your company name or department.
- Click Check Availability to check if the domain is available. If not, then you will need to come up with a derivative of the domain.
- If the domain is available, click Register Domain.
- You will receive an email in around 30 minutes when your domain is ready for testing.
- Once the domain is ready, go back to My Domain and click Log in to test the new domain.
- Once the log in is successful, click Deploy to Users.
There are advantages to enabling My Domain. As part of Service Assurance from Salesforce, they often move organizations. By enabling My Domain, you will be more insulated from those changes. Note that by enabling My Domain, you might have Email Communication Templates that will need updating to account for the new URL.
For more information about setting up My Domain, see .
Provide Self Service 3.0 URL domain
As part of the BMC Helix Platform for Remedyforce activation, you will need to provide your Self Service 3.0 URL domain. This URL will be used within both RSSO and Innovation Suite to assist with authentication as well as iFrame security. Note that currently Salesforce Lightning is not supported.
To obtain the URL, from Salesforce Classic launch Self Service 3.0 is a new tab. Copy everything from "https://" to "visualforce.com" as shown in the following image.
Provide your preferred tenant/domain name
As part of the BMC Helix Platform for Remedyforce activation, you will need to provide a tenant/domain name.
This tenant/domain will be used to create a unique URL (for example, “calbro” which will result in a URL of calbro.onbmc.com). The tenant/domain name should not contain special characters and should be your company or system name. It is recommended that you have the tenant/domain name as close to the domain that you use in Salesforce for your usernames.
Purchase BMC Helix Chatbot
Reach out to your Business Relationship Manager or BMC Account Manager to discuss pricing for BMC Helix Chatbot.
At the time of purchase, you will be required to provide the URL of all Self Service sites where you want to enable chatbot.
Once BMC completes the chatbot configurations, you will be provided the following information:
- Remedy Single-Sign On URL: Required for chatbot configuration settings in Remedyforce.
- Innovation Suite URL: Required for Chatbot settings configuration in Remedyforce.
- issuer: Required for Chatbot settings configuration in Remedyforce.
- Tenant Admin credentials: Required to configure Remedyforce settings in IS.
- Private key: Required for Chatbot settings configuration in Remedyforce.
- Watson credentials: These are credentials for a ready-to-use workspace that is provided to you for building out the Watson Intents, Entities, and Dialog.
Create an Integration User
Create an Integration User who will exclusively perform the integration activities. At the minimum, the Integration User should have the permissions equivalent to that of a Staff user. Also, ensure that the API enabled check box is selected for this user.
For more information about creating a user, see Adding or editing users.
Access to Apex classes
Ensure that the Integration User has access to the following Apex classes:
Access to Permission Set
Ensure that the Integration User has access to the ServiceDesk Client Permission Set.
Permissions for objects
The Integration User must have the following permissions:
|Knowledge Feedback||Read, Create|
|Request Detail||Read, Create|
|Request Detail Inputs||Read|
|Knowledge Article Viewed||Read|
To create a Connected App
- Go to Salesforce > Setup.
- In the Search box type “Apps”.
- Based on whether you are on Salesforce Classic or Salesforce Lightning, perform the following action.
- For Salesforce Classic, from the search result, click Build > Create > Apps > Connected Apps > New.
- For Salesforce Lightning, from the search result, click Apps > App Manager > New Connected App.
On the New Connected App page, enter the required values as shown in the following example. For more information about the parameters, see Connected App parameters.
Parameter Value Connected App Name Helix Chatbot API Name This is automatically completed for you Contact Email the email address of the Remedyforce/Salesforce administrator API (Enable OAuth Settings) > Enable OAuth Settings Select the check box. Callback URL https://login.salesforce.com Selected OAuth Scopes Full access (full) Require Secret for Web Server Flow Select this checkbox
Click Continue. You will be redirected to your Connected App page.
Note your consumer secret in the Consumer Secret field by clicking Click to reveal.
Note your consumer key in the Consumer Key field.
Connected App parameters
The following table lists the fields that you need to configure for creating the Connected App. For more information about the fields, see .
|Connected App Name||The name of the connected application. You can provide a descriptive name that helps in identifying the application to which Remedyforce will connect, for example Helix Chatbot.|
|API Name||This field is automatically filled with the value you entered in the Connected App Name field.|
|Contact Email||The contact email of the Salesforce Administrator. This email is used by Salesforce when contacting you or your support team.|
|API (Enable OAuth Settings)|
|Enable OAuth Settings||Select this check box to enable and configure authentication settings.|
The Callback URL (endpoint) is the endpoint that Salesforce calls back to your application during OAuth. It’s the OAuth redirect URI.
Depending on which OAuth flow you use, the URL is typically the one that a user’s browser is redirected to after successful authentication. Because this URL is used for some OAuth flows to pass an access token, the URL must use secure HTTPS or a custom URI scheme. If you enter multiple callback URLs, at run time Salesforce matches the callback URL value specified by the app with one of the values in Callback URL. It must match one of the values to pass validation. Separate multiple callback URLs with line breaks.
The callback URL field has a limit of 2000 characters, cumulatively. If you enter several URLs and they exceed this limit, create another connected app to manage more callback URLs.
|Selected OAuth Scopes|
The scopes are the permissions that the user gives to the connected app while it’s running.
Select Full access (full) from the Available OAuth Scopes box and click Add to move the value to the Selected OAuth Scopes box.
This option allows access to the logged-in user’s data, and encompasses all other scopes.
|Require Secret for Web Server Flow||Select the checkbox.|
Configure Remedyforce in Innovation Suite
- Log in to BMC Helix Innovation Studio as a tenant admin, and navigate to the Administration tab.
- Select Chatbot Configuration > Remedyforce.
Provide the following information on the Remedyforce Configuration page:
Parameter Description Environment Type The environment for the chatbot. This will either be the Sandbox or the Production environment. Consumer Key The consumer key that you obtained from the connected app you created in Salesforce. User Name The user name of the Integration user you created in Salesforce. Password
The password of the Integration user you created in Salesforce.Remember you may need to also provide this user’s Security Token and append it to the end of the user’s password.
Consumer Secret The consumer secret that you obtained from the connected app you created in Salesforce.
- Click Save.
Configure BMC Helix Chatbot settings
To configure BMC Helix Chatbot settings
Perform the following steps to configure the BMC Helix Chatbot settings in Remedyforce.
- Go to Remedyforce Administration tab.
- From the Integrations tile menu, select BMC Helix Chatbot Configuration Settings.
- Enter the details. For more information about the parameters, see Chatbot settings parameters.
- Click Save.
If you are upgrading from any version earlier than 20.19.02 (Summer 19), we recommend that you delete the BMC Helix Chatbot Configuration tab located at All Tabs.
To delete the tab:
- Go to Setup > Tabs.
- Under Visualforce Tabs section, delete the BMC Helix Chatbot Configuration tab.
We recommend that you use the configuration procedure as given in Configure BMC Helix Chatbot settings.
Chatbot settings parameters
|Innovation Suite URL||The Innovation Suite URL that is provided to you by BMC.|
|RSSO URL||The RSSO URL that is provided to you by BMC.|
|Issuer||The issuer of the certificate. Enter BMC Software in this field.|
|Private Key||The private key that is provided to you by BMC.|
Mapping SRD inputs in Watson flows using JSON files
To map input fields of an SRD in a Watson flow, you have to download the respective JSON for an SRD and use it to update the Watson flow. The JSON file includes details required for the SRD input fields. To map the SRD input fields with the user entered values, the content of the JSON must be copied in the confirmation part of the respective SRD in IBM Watson Workspace. Note that the option to download JSON is available for SRDs only if the administrator has configured and saved the chatbot configuration settings.
The following image shows a sample JSON file.
For each input field, the mapping in the JSON is as follows:
- Key: 18 digits Salesforce ID of the input field.
- Value: Context variable defined by using field's "Input/Prompt" value and replacing spaces with underscore ( _ ). For example, $First_and_Middle_Name.
IBM Watson users who will be writing the dialogs can change the context variable name that is used in their dialogs or can use the auto generated ones and set them while writing the dialogs.
Fields not supported
The following fields are not supported in the JSON file content.
- Rich text (RTF)
Also, for a picklist that has an option to select multiple values, users can select only single value from the chatbot.
To download JSONs
- Go to the Remedyforce application.
- Navigate to Remedyforce Administration > Configure Application > Request Definitions.
- Click the Request Definitions tab.
- Click the SRD for which you want to download the JSON.
- Click Download JSON.
- Open the JSON in an editor.
- Select the entire content.
- Go to IBM Watson Workspace.
- In the Dialog tab, select the corresponding SRD.
- Go to the last node and open the JSON editor.
- Replace the content with the copied content.
- Repeat from Step 2 to Step 11 for all the required SRDs that you want to configure in IBM Watson.
Sync users between Remedyforce and Innovation Suite
For clients who want to use BMC Helix Chatbot from within Remedyforce Self Service, they need to be replicated within Innovation Studio. This section describes how to use Pentaho (an open source ETL tool) and our package, RemedyforceToInnovationStudio, to sync up the two respective environments.
Identifying BMC Helix Chatbot Users
We have added a custom check box field, BMC Helix Chatbot User, to the User object. This field can be added to the User Page Layout. You can select which users are part of your pilot or beta as you begin evaluating and setting up BMC Helix Chatbot. Ensure that the BMC Helix Chatbot User check box is selected on the user's record in Salesforce.
The RemedyforceToInnovationStudio Pentaho package is designed to copy Remedyforce users that have the BMC Helix Chatbot User check box as selected.
Note that anytime when the package is rerun, only the following users are copied to Innovation Suite:
- New users with the BMC Helix Chatbot User check box as selected.
- Existing users whose BMC Helix Chatbot User check box was selected after the last run of Pentaho package.
- Ensure that you have downloaded Pentaho. For more information about downloading Pentaho, see sections Registering at the BMC Communities website, Installing the JRE, and Downloading the Pentaho Data Integration tool in Prerequisites for importing data to BMC Helix Remedyforce.
- Download the RemedyforceToInnovationStudio Pentaho package from the BMC Communities website.
- You must be running Pentaho Kettle 8.1 or 8.2; otherwise, the running of the package will fail.
- Before running the Pentaho tool, make the following update:
- Open the link
- Download the commons-httpclient-3.1.zip file from the binary folder.
- Unzip the downloaded zipped file.
- Go to directory <PENTAHO_INSTALL_FOLDER>\data-integration and create a folder by the name libext.
- From the extracted zipped file, copy the commons-httpclient-3.1.jar file in the libext folder.
- Go to directory <PENTAHO_INSTALL_FOLDER>\data-integration\launcher and edit the file launcher.properties as follows:
- Append the text “:../libext” to libraries and classpath key values. The new values will be as follows:
- Launch the Pentaho Data Integration tool by performing the following actions:
Navigate to the location where you downloaded and unzipped the Pentaho Data Integration tool.
Navigate to the data-integration folder and double-click the Spoon.bat.
To copy the users
- Launch the Pentaho Data Integration tool.
- In Pentaho Spoon, select File > Open, navigate to the folder where you downloaded the Pentaho packages, and open the RemedyforceToInnovationStudio.kjb file.
- In Pentaho, click Edit > Settings and click on the Parameters tab. Set the following parameters in the Default Value column:
- ISLOGIN: User name of the Tenant Admin for Innovation Studio. Ensure that the user name contains the domain identifier. For example, <username>@<domainidentfier>.
- ISPASSWORD: The password of Tenant Admin for Innovation Studio.
- ISPATH : The Base URL for Innovation Suite. For example : https://rf-tenant2-is.cloudsolqa.bmc.com
- SF_PASSWORD: The password for the Salesforce administrator.
- SF_USERNAME: The user name for Salesforce administrator.
- SF_WEBSERVICE_URL: The Web Service URL for Salesforce.
- SUPPORT_OMNICHANNEL: If the value is True, the users are imported in Innovation Suite from Remedyforce organization only if they have valid mobile numbers. If set to False, the users are imported in Innovation Suite from the Remedyforce organization without validating mobile numbers.
- Click OK then go to File | Save in Pentaho to save the changes to the parameters.
- Click Run.
Note: The first time, we suggest setting the Log Level to be “Debug" to capture details of the log in case the package doesn’t work and troubleshooting needs to be done. You can set the Log Level from Log Level option in Action > Run. You can later use something like Windows Scheduler to have the package run on a more recurring basis.
Localization support for chatbot
The following languages are supported for chatbot. Ensure that your browser is set to the required supported language and the selected language is the default language for the browser.
- English (default)—en