Synchronizing Salesforce users with BMC Helix ITSM people records by using MuleSoft Anypoint Platform


BMC Helix iPaaS, powered by MuleSoft provides a prebuilt integration template that enables you to synchronize new people records in Salesforce with BMC Helix ITSM people records. To use the integration template with the values defined out of the box, you update the project configuration with details of your systems, and deploy the integration template. 

The template provides the following capabilities:

Use case

Salesforce to BMC Helix ITSM

Create a record

Creates a new people record in BMC Helix ITSM when a new people record is created in Salesforce

Synchronize data

Synchronizes updates between the records in the two applications

Salesforce to BMC Helix ITSM data flows

The following image gives an overview of the data flow for creating or updating user data from Salesforce to BMC Helix ITSM:

MS_Salesforce to ITSM people record_Sync.png

Before you begin

You require the following items to successfully set up and use this integration: 

Required versions

  • Salesforce Summer '20 and later
  • BMC Helix ITSM 20.08 and later

Authentication and permissions

  • Administrator access for BMC Helix ITSM and Salesforce users to run this integration
  • Administrator access to create workflows in BMC Helix Innovation Studio

MuleSoft Anypoint platform subscription

A valid MuleSoft platform license

Important: BMC provides pre-build integration templates for the MuleSoft platform, targeting common integration use cases for BMC products. To obtain a MuleSoft platform license, contact MuleSoft support.

Others

  • Company names used in the Salesforce user details are already registered in BMC Helix ITSM
  • Country name should be registered as it is in BMC Helix ITSM
  • Webhook API supports only anonymous and basic authentication
  • Enter the MuleSoft Anypoint Platform application URL in Remote Site Settings in Salesforce to whitelist the URL

Task 1: To download and deploy the integration template project

  1. Download the Integration Template to Sync Salesforce users to ITSM 2022-07-01 file for the integration template.

  2. Log in to the MuleSoft Anypoint Platform and select Runtime Manager
  3. To configure your integration template, click Deploy application.
  4. To select the .jar file that you downloaded, and enter project details, on the Runtime tab of the Deploy Application page, select the following values:

    Field name

    Action

    Application Name

    Enter a unique name for your application.

    Deployment Target

    Select the space for deploying the application; for example, CloudHub.

    Application File

    Select Choose File > Upload file, and select the Integration template .jar file.

    Runtime tab

    Runtime version

    Select the MuleSoft runtime version used to develop the application.

    Worker size

    Select a core size for your application. 

    The core size defines resource allocation for your application and impacts performance. 

    For more information about worker size, see Cloudhub workers.

    Workers

    Select the number of dedicated instances of Mule for the application.

    Deploying your application with more than one worker balances incoming load across allocated worker nodes. It also provides a backup if any of the worker nodes is not responding.

  5. To add the template configuration values, on the Properties tab of the Deploy Application page, add the following mandatory values:

    key

    value

    MuleSoft API Webhook properties

    api.integrations.name

    Enter the BMC Helix ITSM webhook name after the BHIP_ prefix.

    api.integrations.profile.username

    To configure the Webhook of the Profile type BASIC, enter the user name for authentication.

    api.integrations.profile.password

    For Webhook Profile type BASIC, enter the password for authentication.

    ITSM connector properties

    bmc.connector.protocol

    Enter HTTPS.

    bmc.connector.url

    Enter the BMC Helix ITSM host URL with which you want to synchronize the Salesforce users.

    bmc.connector.username

    Enter the user ID to access BMC Helix Innovation Studio.

    bmc.connector.password

    Enter the password for the provided user ID.

    bmc.property.client.senstivity

    Enter Standard.

    bmc.property.client.type

    Enter Customer.

    bmc.property.company

    Enter the name of the company to which the user belongs.

    bmc.property.profile.status

    Enter the status for the company profile.

    The default value is Proposed and you can change the value.

    bmc.property.support.staff

    For clients that belong to the support staff, change this value to Yes.

    By default, the value of this variable is set to No.

    The property specifies whether the client belongs to the support staff or not.

    bmc.property.vip

    For VIP clients, change this value to Yes.

    By default, the value of this variable is set to No.

    The property specifies whether the client is a VIP or not. 

    Salesforce connector properties

    vendor.connector.protocol

    Enter HTTPS.

    vendor.connector.url

    Enter the Salesforce host URL with which you want to synchronize BMC Helix ITSM people records.

    The default value of this variable is login.salesforce.com.

    vendor.connector.username

    Enter the username to access Salesforce.

    vendor.connector.password

    Enter the password for the provided username.

    vendor.connector.security.token

    Enter the API security token for Salesforce if the specified username requires it.

    vendor.property.apex.class.name

    Enter the apex class name that calls any webhook API.

    vendor.property.webhook.name

    Enter the apex trigger name in the user class that uses Apex class to call Mulesoft API if there is any change in users.

  6. Optionally, if you want to enable email notifications, add the following values:

    Email configuration properties

    email.property.protocol

    Enter SMTP.

    email.property.smtp

    Enter the SMTP host details for email configuration.

    email.property.sender

    Enter the email address from which emails are sent.

    email.property.recipients

    Enter comma separated values of email addresses for recipients who should receive the notification emails.

    email.property.username

    Enter the username to access the SMTP server from which notification emails should be sent.

    email.property.password

    Enter the password for the user to access the SMTP server from which notification emails should be sent.

    email.property.smtp.starttls

    Specify whether you want to use a secure connection.

  7. Click Deploy Application
    While the application is being deployed, the log updates are displayed. After the application is successfully deployed, a green circle is displayed next to the template name.

Task 2: To enable the integration

To enable the integrations, you need to run the webhook creation scripts from your MuleSoft Anypoint Platform. These scripts automatically create the required webhooks for the integration.

  1. Log in to the MuleSoft Anypoint Platform and select Runtime Manager
  2. On the Applications tab, click the project name.
  3. On the application details page, click Schedules
  4. Select the appropriate option from the list displayed, and click Run Now. The following options are available:

    Schedule

    Description

    SFSC-Create-Integration-Apex-Class_Manual Trigger

    Sets up the webhook in Salesforce and enables the integration to create a user record

    SFSC-Create-Integration-Apex-Trigger-User-Sync_Manual Trigger

    Sets up the webhook in Salesforce and enables the integration to synchronize the user records

    SFSC-Purge-Integration-Apex-Class_Manual Trigger

    Purges the webhooks created as a part of the SFSC-Create-Integration-Apex-Class_Manual Trigger schedule

    SFSC-Purge-Integration-Apex-Trigger-User-Sync_Manual Trigger

    Purges the webhooks created as a part of the SFSC-Create-Integration-Apex-Trigger-User-Sync_Manual Trigger schedule

    After you enable the integration, whenever a new people record is created in Salesforce, a corresponding user record is created in BMC Helix ITSM. Updates made to the Salesforce people record are synchronized with the BMC Helix ITSM people record.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*