Designing a BMC Helix Innovation Studio process to retrieve data from external systems
Before you begin
- Make sure you have catalog administrator permissions to configure the BMC Helix Innovation Studio process in BMC Helix Digital Workplace Catalog.
- Establish the connection to an external system through BMC Helix Digital Workplace Catalog service connectors. For more information, see Connecting-your-catalog-to-external-systems.
- Create a document definition to specify the fields to be available for selection as the Stored and Display values when you design the questionnaire. For more information, see Leveraging-external-data-in-questionnaires-by-using-a-BMC-Helix-Innovation-Studio-process.
To design a process to retrieve data from external systems
The following procedure explains how to create a sample process for retrieving data from external systems. You can use this example to develop your own process, which may vary based on your specific requirements.
- Log in to the Catalog console and add a new workflow.
On the Process Properties pane, add the following process variables required for the workflow:
Variable type
Variable
Description
Input
Object input
Specify this variable as an Object data type variable. From the Document Definition list, select the document definition that you created earlier. You can provide any suitable name for this variable; for example, computer Device.
Text input
Specify this variable as a Text data type. During the workflow execution time, this variable filters out data from the external system based on the user's specific query.
You refer to this variable while building selection lists for question responses by mapping to the process at Step 12. You can provide any suitable name for this variable, such as URI. Also, if you would like to filter data by multiple inputs from the end user, you can create multiple Text input variables.
Output
Output
Specify this variable as an Object data type variable. From the Document Definition list, select the document definition that you created earlier. This variable captures the data retrieved from the external system in JSON format as specified in the document definition. You can provide any suitable name for this variable. For example: output_var.
Important: The designed process must have at least one output variable of the Object type. If it doesn't, the Catalog administrator won't be able to select this process while mapping question values to a process.
- On the Process Properties pane, set the Permissions to Public.
- In the Workflow designer, drag and drop the Send Http Request element on to the canvas.
This element creates an API to query the external system for data. In the Input Map section of the Element Properties pane, fill in the following process input parameters for the Send Http Request element:
Input map parameter
Field value example
Description
Connection ID
Select the service connector that establishes the connection from BMC Helix Digital Workplace Catalog to the external system.
To locate the variable for the service connector, select Connection and the required connector, as represented by the name of the connector.
Method
"GET"
Enter the method name to query data in the external system.
URI
Define the URI to identify the resource for data retrieval and the user's input used to specify the data to be retrieved. For example, enter the URL of the third-party application in the quotation marks, then add the plus (+) symbol and insert the Text input process variable that you created at Step 2. In this example, it is the URI variable. Enclose the entire expression in parentheses.
If necessary, you can build expressions of various complexity that include multiple Text input process variables.
To locate the required Text input process variable, select Process variables, and then locate the variable by its name.
Body Parser (required)
"JSON"
Enter "JSON".
- Connect a sequence flow from Start to Send Http Request.
- In the Workflow designer, drag and drop the Add Array Element to Document element on to the canvas.
This element adds information from the external system to the document definition that you created earlier. - Connect a sequence flow from Send Http Request to Add Array Element to Document.
In the Input Map section of the Element Properties pane, fill in the following process input parameters for the Add Array Element to Document element:
Input map parameter
Description
Document Definition Name
Select the document definition that you created earlier. Fields in this document definition will be available for selection as the Stored and Display values when you design the questionnaire.
Document Instance (required)
Select the Object input variable you created earlier. To locate the Object input variable, select Process variables > Object input.
Node name (required)
Select data. It is an array node where data from the external system will be stored.
Value (required)
Select the Body variable. To locate the Body variable, select Activities > Send Http Request > Response > Body.
This variable captures the response body from the external system as an input for further processing of the data.
In the Output Map section of the Element Properties pane, fill in the following process input parameters for the Add Array Element to Document element:
Output map parameter
Description
Name (required)
Select the Output variable of the Object data type that you created earlier at Step 2.
Source (required)
Select Output. To locate the Output variable, select Activities > Add Array Element to Document > Output.
- Connect a sequence flow from Add Array Element to Document to End.
- Save the process.
Where to go from here