BMC Helix Remedyforce integration requires a user setup in Salesforce Lightning Platform and subscription to BMC Helix Remedyforce app. with a API key with enough permissions and Requester Id to create Change Requests and Incidents. The following steps will assist you getting the integration user agent details from Freshservice to setup in FlexDeploy.
...
FlexDeploy uses OAuth to integrate with the Lightining Platform to create Change or Incident in BMC Helix Remedyforce application.
Connected App
Log into https://<domainname>.freshservicelightning.force.com.
...
Click the
profilesetup icon
- Click Profile Settings.
The API key will be encoded using base64 before used in the request to get change request or create any new request
Requester Id
The Requester Id which is the id of the user. The id can be fetched using agent REST API. Please use the link Freshservice Agents.
Ex - https://<domainname>.freshservice.com/api/v2/agents?active=true - This will return all the active agents.
- Payload should set the Authorization header with the base64 encoded API KEY. Ex Basic <base64 encoded API KEY>
Roles
To assign the correct role for the integration agent, please follow the below steps
- From the home screen, click the Admin
- Under User Management, click the Agents
- Select the agent setup for FlexDeploy integration
- Click Edit Agent
- Scroll down to Roles section and click Associate Roles. Use Problem Manager (Out of Box) role which elevates the user to create Change Request and Incident as well. If there is any custom roles setup in your organization, you can use that as well. Please make sure the role has access to create Change and Incident.
and click Setup
...
Once the Setup screen is open in a new window, click App Manager as shown below.
...
To create a new Connect App, Click New Connected App on the right top coner (Ex Here we created FlexBMTHelix for reference).
From Connect App screen, you should get the Client Id and Client Secrete Id to setup the BMC instance in Topology.
...
Security Token
The BMC Helix Remedyforce user id should use the password along with the security token to integrate with the Salesforce Lightining Platform. To get the security token follow the below step
From the home screen, click the Profile icon and Setting
...
Use the Reset My Security Token Link in the navigation menu to receive the security token. When you create the BMC Helix instance in Topology, when you enter the password for the userid you need to enter <password><securitytoken>. (Ex if password is ex1234 and security token is E0aO1l43VKm, then in the password you should enter it as ex1234E0aO1l43VKm)
...
Category Id
Creating an Incident in BMC Helix requires category id (Foreign Key value) to be setup
You need to setup/add Category for the type of Incident going to be created from FlexDeploy. Once the Catgegory is defined, you can use the Lightning Platform Rest for SObject Relationships to get the id.
For category, you can use https://<Salesforce instance name>/services/data/<version>/sobjects/BMCServiceDesk__Category__c. Below is a sample response, you should use the id field value for Category Id when you setup the BMC instance in Topology
...
Now setup an instance for BMC Helix Remedyforce in FlexDeploy and you are all set to integrate.
BMC Remedyforce Instance Properties
Property | Type | Description | ||
---|---|---|---|---|
BMC Helix Remedyforce URL | String | BMC Helix Remedyforce Instance URL (https://<instance_name>.http://salesforce.com ) | ||
BMC Helix Remedyforce User Name | String | BMC Helix User Name | ||
BMC Helix Remedyforce Password | String | BMC Helix Remedyforce Password Note that encrypted properties are stored in Credential Store (Local or External) and can be configured using Edit button next to credential name drop down. Alternatively, you can reuse single credential for multiple properties also, in which case you should name that credential appropriately. | ||
Client Id | String | Connected App Client Id | ||
Client Secret | String | BMC Helix Remedyforce Client Secret | ||
Approved Check Script | String | A Groovy expressions which determines whether a task for the change ticket is approved or not. The expression must return a boolean, and has access to the following variables:
| ||
Rejected Check Script | String | A Groovy expressions which determines whether a task for a change ticket is rejected or not. The expression must return a boolean, and as has access to the following variables:
| ||
Additional Info Script | String | A Groovy expression which determines additional information to add to an external approval when it is approved or rejected. The expression must return a Map<String, String> and have an entry with the key of "notes" for the value to get added to external approval as a task note. Script has access to the following variables:
| ||
Don't poll | Boolean | Disable automatic polling (every minute) of BMC Helix tickets for status changes. Check if using REST API to communicate status changes to FlexDeploy. | ||
Specified Object URL | String | Object Name URL (/services/data/vXX.X/sobjects/{OBJECT_NAME}) | ||
Category Id | String | Category FK Id (e.g a216g0000005NvDAAU) |
BMC Remedyforce Ticket Fields
Field Code | Display Name | Description | Data Type | Required |
---|---|---|---|---|
BMCServiceDesk__Change_Description__c | Change Description | A description for the change ticket | String | No |
BMCServiceDesk__Reason_for_Change_Details__c | Change Details |