BMC Helix Business Workflows connector powered by MuleSoft


The BMC Helix Business Workflows connector, powered by MuleSoft provides a connection between the MuleSoft connector engine and BMC Helix Business Workflows, and is used to configure activities for the connection that can be used as a source or target within operations defined for the connection. You can perform get, create, search, and update case activities by using the connector. You can also include attachments for the create and update activities. 

Before you begin

Make sure that you have the following subscriptions, applications, and access to set up and use the integration:

  • Permissions to create and modify cases in BMC Helix Business Workflows
  • Anypoint Studio version 7.8.0 is installed

Supported product versions

Product name

Version

BMC Helix Business Workflows

20.08 and later

Anypoint Studio

7.8.0

Mule

4.0

Configuring the BMC Helix Business Workflows connector, powered by MuleSoft in Anypoint Studio

Use Anypoint Studio to configure the connector and then publish it in the cloud platform for distribution. You can design and update your application, properties, and configuration files for the connector. 

Complete the following procedures to configure the connector in Anypoint Studio:

  1. Create a MuleSoft project and add the connector to the project
  2. Create the files required for the connector configuration
  3. Configure the connector

After you complete the configuration, you define a workflow and add the following activities:

Operation name

Description

Inserts case data into a BMC Helix Business Workflows endpoint and is intended to be used as a source in an operation.

Retrieves case data from a BMC Helix Business Workflows endpoint and is intended to be used as a source in an operation.

Finds case data at a BMC Helix Business Workflows endpoint and is intended to be used as a source in an operation.

Inserts case data into a BMC Helix Business Workflows endpoint and is intended to be used as a target in an operation.

Task 1: To create a MuleSoft project and add the connector to the project 

  1. Log in to Anypoint Studio.
  2. Select File > New > Mule Project.
  3. Enter a name for your project and click Finished
    To populate the XML code with the connector's name space and schema location, and required dependencies to the project's pom.xml file, add the connector to your project.
  4. In the Mule Palette view, click (X) Search in Exchange.
  5. In the Add Dependencies to Project dialog box, enter BMC Helix Business Workflows in the search field.
  6. From the Available Modules list, select BMC Helix Business Workflows Connector - Mule 4, and click Add >.
  7. Click Finish.

    Important

    You must add the connector to each project you create. Adding the connector to a project does not make it available to other projects in Anypoint Studio.

  8. On the Package Explorer tab, open the pom.xml for your project and verify that the following dependency is included in the file:

    <dependency>
    <groupId>org.mule.connector.bwf</groupId>
    <artifactId>bwf-mule-connector</artifactId>
    <version>1.0.0</version>
    <classifier>mule-plugin</classifier>
    </dependency>  

    The BMC Helix Business Workflows connector is listed in the Mule Palette for your project.

  9. To save your updates, click the Save icon on the application toolbar.

Task 2: To create the files required for the connector configuration 

  1. Create a properties file for the project.
    1. Right-click the src/main/resources branch and select New > File.
    2. Enter a name for the file; for example: project.properties.
    3. Enter the following variable values in the file and save it: 

      • hostName — Enter the URL of the BMC Helix Business Workflows instance; For example, https://hostname-dsom-platform.trybmc.com/.
      • userName — Enter the name of the user who has permissions to create or modify the case; For example, aUser@bmc.com.
      • passWord — Enter the password for the user name entered.
      • summary — Enter a short description for the case you want to create; For example, Request for legal name change.
      • requester — Enter the name of the user from whom the case is being created.
      • updateCaseId — Enter the ID of the case you want to update. 
      • caseId — Enter an ID for the case you want to create.
      • status — Enter the status of the case you want to create.
      • company — Enter the user's company name.
      • updateCaseSummary — Enter the updates to the case summary; For example, Request for legal name change and address update.
      • priority — Enter the priorityfor the case you want to create.

      These variables are used to configure your connector.

  2. Create a configuration file to define the connector configuration:
    1. Right-click the src/main/mule branch and select New > Mule Configuration File.
    2. In the General Information dialog box, enter config.xml in the Name and click Finish.
    3. Click Global Elements and then click Create.
    4. Select Global Configurations > Configuration Properties.
    5. On the General tab, select the project.properties file created in the previous step and then click OK.
  3. To save your updates, click the Save icon on the application toolbar.

Task 3: To configure the connector 

  1. From the Package Explorer pane, double-click the <projectName>.xml file.
  2. To run the workflow when specific conditions are met, configure HTTP Listener as the source: 
    1. From the Mule Palette, select HTTP > Listener
    2. Select the Listener element, and add the following details: 

      Field name

      Actions

      Display name

      Enter a short display name for the source.

      Connector configuration

      Click the + sign to add the connector configuration and add the following details:

      • Name—Enter a name for the configuration.
      • Protocol—Select HTTP or HTTPS.
      • Host—Select the default value.
      • Port—For HTTP, enter 8081 and for HTTPS, enter 8082.
        Important: If the selected port is in use, enter a different value.
      • Base path—Enter a path for the flow.
      • Listener interceptors—Select None.
    3. To verify the configuration values, click Test Connection
  3. Define the connector configuration.
    1. From the Mule Palette, select BMC Helix Business Workflows, and drag a BMC Helix Business Workflows activity to the Message Flow tab. 
    2. On the Message Flow tab, select a BMC Helix Business Workflows activity.
    3. To define the connector configuration, click the + icon for Connector configuration in the Basic Settings section.
    4. Enter the following variables defined in the project.properties file in Task 2:

      Important

      Create a properties file for the proxy configuration and add the variable values instead of the actual values.

      Field name

      Value

      Name

      Name for the connector configuration.

      General tab

      Host Name

      ${hostName}

      User Name

      ${userName}

      Password

      ${passWord}

      Proxy Config

      Host

      URL of the proxy server

      Port

      Port number for the proxy server

      Username

      User name to connect to the proxy server

      Password

      User's password to connect to the proxy server

      NTLM Domain

      Domain name of the NT LAN Manager (NTLMactive directory server

    5. To verify the defined configuration values, click Test Connection.
    6. Click OK.
    7. To save your updates, click the Save icon on the application toolbar.

The connector configuration is used for all the BMC Helix Business Workflows activities in your flow. After you set up the project configuration files and configured the BMC Helix Business Workflows connector for MuleSoft, you can create flows between BMC Helix Business Workflows and other applications.

A typical flow requires the source configuration, for example HTTP > Listener, a request Transform Message that writes information to the BMC Helix Business Workflows operation, the activity configuration, a response Transform Message that receives the information from the activity and a final logger element to write data to your target application. 

Important

When using a BMC Helix Business Workflows activity in a flow, to get data from an external source, you have to define the payload metadata in the Transform message element. Select the JSON data format from the type dropdown, and then select Example from the dropdown. Then select the JSON file for the input metadata.

For more information, about adding the metadata, see Create metadata class.

After you create the workflow, run the project (right-click project name and select Run Project As > Mule Application), and then run the flow by using an application like Postman.

The following images show examples of sample flows created for the BMC Helix Business Workflows operations:

Create Case Flow

ms-bwf-create.png

Get Case Flow

ms-bwf-get.png


Search Case Flow

ms-bwf-search.png

Update Case Flow

ms-bwf-update.png


Create Case activity

The Create Case activity gathers the data to create a new case at the BMC Helix Business Workflows endpoint. It is intended to be used as a target in a workflow. 

To configure the Create Case activity:

  1. From the Mule Palette, select BMC Helix Business Workflows > Create Case
  2. Drag the Create Case option to the Message Flow tab. 
  3. Select the Create Case brick and on the Create Case tab, enter the following configuration details:

    Parameter

    Value

    Display name

    Activity name

    Basic Settings

    Connector configuration

    Configuration file created for the connector

    General

    Create case payload

    To define specific field mappings for the activity, click transform.pngand add your payload data.

    For example:

    {"Description":"oqewuiwqe",
    "Contact":"Peter",
    "Summary":"Test case creation using API",
    "Requester":"peter",
    "Category Tier 1":"weqiuioweq",
    "Category Tier 2":"wequiowe",
    "Category Tier 3":"",
    "Assigned Company":"Petramco",
    "Support Group":"Compensation and Benefits",
    "Business Unit":"HR Support",
    "Department":"",
    "Assignee":"Peter",
    "Case Template ID":"weiweiwe",
    "Origin":"qweiowqeu",
    "Status":"qweueiwuwe",
    "Status Reason":"qieoquweoi",
    "Priority":"Low"}

    After you complete mapping the field values, click Done.

    Important:

    • To add attachments for the Create Case activity, add the details of the file name and Base64 format of the file content to your payload data, or in the payload metadata in the Transform message.
      For example,
      "attachment": (payload.attachment map
      {
      "fileName": $.fileName,
      "fileContent":$.fileContent
      })
    • When using this activity in a flow, to get data from an external source, define the payload metadata in the Transform Message element.
  4. To save your updates, click the Save icon on the application toolbar.

Get Case activity

The Get Case activity gathers data for a case at the BMC Helix Business Workflows endpoint. It is intended to be used as a source in a workflow. 

To configure the Get Case activity:

  1. From the Mule Palette, select BMC Helix Business Workflows > Get Case
  2. Drag the Get Case option to the Message Flow tab. 
  3. Select the Get Case brick and on the Get case tab, enter the following configuration details:

    Parameter

    Value

    Display name

    Activity name

    Basic Settings

    Connector configuration

    Configuration file created for the connector

    General

    Get case payload

    To define specific field mappings for the activity, click transform.pngand add your payload data.

    For example:

    {
    "id": "21821782"
    }

    After you complete mapping the field values, click Done.

    Important:

    When using this activity in a flow, to get data from an external source, define the payload metadata in the Transform message.

  4. To save your updates, click the Save icon on the application toolbar.

Search Case activity 

The Search Case activity searches case data at the BMC Helix Business Workflows endpoint. It is intended to be used as a source in a workflow. 

To configure the Search Case activity:

  1. From the Mule Palette, select BMC Helix Business Workflows > Search case
  2. Drag the Search Case option to the Message Flow tab. 
  3. Select the Search Case brick and on the Search Case tab, enter the following configuration details:

    Parameter

    Value

    Display name

    Activity name

    Basic Settings

    Connector configuration

    Configuration file created for the connector

    General

    Search case payload

    To define specific field mappings for the activity, click transform.pngand add your payload data.

    For example:

    {
    "Status": "New",
    "Company": "Petramco",
    "Priority": "Low",
    "Requester": "Allen"
    }

    After you complete mapping the field values, click Done.

    Important:

    When using this activity in a flow, to get data from an external source, define the payload metadata in the Transform message.

    Maximum number of records to be processed

    Enter a value for the number of records to process.

    Leave the field blank for unlimited records.

    Maximum number of records per page

    Enter a value between 200 and 2000 for the number of records to be displayed per page.

  4. To save your updates, click the Save icon on the application toolbar.

Update Case activity

The  Update Case activity searches case data at the BMC Helix Business Workflows endpoint. It is intended to be used as a target in a workflow. 

To configure the Update Case activity:

  1. From the Mule Palette, select BMC Helix Business Workflows > Update case
  2. Drag the Update Case option to the Message Flow tab. 
  3. Select the Update Case brick and on the Update case tab, enter the following configuration details:

    Parameter

    Value

    Display name

    Activity name

    Basic Settings


    Connector configuration

    Configuration file created for the connector

    General

    Update case payload

    To define specific field mappings for the activity, click transform.pngand add your payload data.

    For example:

    {
    "Requester":"Peter",
    "Company":"Petramco",
    "Summary":"Test: Update Case via API",
    "Description":"Testing the Rest api",
    "Contact":"Peter",
    "Category Tier 1":"Total Rewards",
    "Category Tier 2":"Leave",
    "Category Tier 3":"",
    "Assigned Company":"Petramco",
    "Support Group":"Compensation and Benefits",
    "Business Unit":"HR Support",
    "Department":"",
    "Assignee":"Peter",
    "Case Template ID":"",
    "Origin":"Web",
    "Status":"Assigned",
    "Status Reason":"",
    "Priority":"Low"
    }

    After you complete mapping the field values, click Done.

    Important:

    • To add attachments for the Update Case activity, add the details of the file name and Base64 format of the file content to your payload data, or in the payload metadata in the Transform message.
      For example,
      "attachment": (payload.attachment map
      {
      "fileName": $.fileName,
      "fileContent":$.fileContent
      })
    • When using this activity in a flow, to get data from an external source, define the payload metadata in the Transform message
  4. To save your updates, click the Save icon on the application toolbar.

 

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