Automating categorization and assignment of application requests
In BMC Helix Platform, you can automate the manual tasks for categorization and assignment. Auto-categorization of application requests is achieved by using the BMC Helix Platform Cognitive Service. For auto-assigning application requests to individuals, you can use the BMC Helix Platform Cognitive Service or the Call Assignment Policy element in the Process designer.
The following table explains the methods of auto-categorizing and auto-assigning application requests:
Action | Reference |
---|---|
Auto-assignment by using BMC Helix Platform Cognitive Service | |
Auto-assignment by using the Call Assignment Policy element in the Process designer | |
Auto-categorization by using the BMC Helix Platform Cognitive Service |
To add auto-categorization in a process
- Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
- Select the application in which your process exists.
- In the application, click Processes.
- Click the process name to which you want to add auto categorization.
The system opens the Process designer and displays the process diagram on the canvas. Based on your requirements, add the input and output variables required for the process.
For information about adding input and output process variables, see Adding-variables-to-processes.
- Drag the Cognitive element called Suggest Category to the canvas and place it where you want to add it in the process and provide the input and output connections.
Select the Suggest Category element and enter the values for the properties.
The following table describes the properties:
Property
Description
INPUT MAP
Training Data Set Name
Specify the training data set.
Text To Classify
Specify the data that you want to categorize.
OUTPUT MAP
Specify the process parameters that you want to obtain as output values from this element.
You can build an expression for assigning output values to process variables. The data that you want to categorize can have multiple categories. For example, in the CSV file, for the text "Unable to localize view component," you specify two categories: Localization and View component.
Note: To get multiple categories output values, you must create a list of the categories. If you do not create a list, the output value is only the first category.
- Click Save.
To add auto-assignment in a process
Before you add an auto assignment in a process, you must implement a Java interface to use the assignment types. BMC Helix Platform Cognitive Service returns the login IDs of the assignee. You must ensure that the assignee belongs to the Agents group in the Foundation library. See Creating-a-Java-program-to-use-auto-assignment.
- Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
- Select the application in which your process exists.
- In the application, click Processes.
- Click the process name to which you want to add auto assignment.
The system opens the Process designer and displays the process diagram on the canvas. Based on your requirements, add the input and output variables required for the process.
For information about adding input and output process variables, see Adding-variables-to-processes.
- Drag the Assignment element called Suggest Assignee to the canvas and place it where you want to add it in the process and provide the input and output connections.
Select the Suggest Assignee element and enter the values for the properties.
The following table describes the properties:
Property
Description
INPUT MAP
Record definition name
Specify the record definition name for the listener
Assignee Training Data Set Name
Specify the training data set
Task Category
Specify the category that is used by the BMC Helix Platform Cognitive service to return a list of possible assignees.
Assignment type
Specify the type of assignment
- Round Robin—Tasks are assigned in Round Robin manner; that is, the first assignee in the list is assigned to the first task, second assignee to the second task, and so on.
- Load Balanced By Number—Task is assigned to an assignee depending on the number of tasks already assigned to that assignee.
For example, if Seth has four tasks assigned and Ajay has five tasks, the new task is assigned to Seth. - Load Balanced By Capacity—Task is assigned to an assignee depending on the amount of work.
For example, if Seth has four days work to complete the assigned tasks and Ajay has five days work to complete the assigned tasks, the new task is assigned to Seth. - By Skill Level—Task is assigned to an assignee depending on the task expertise.
For example, if Seth has more experience to complete a task as compared to Ajay, the task is assigned to Seth.
Note: To use these assignment types, you must implement a Java interface. See Creating-a-Java-program-to-use-auto-assignment.
Task Required Resolve date
Specify the date or time by which the tasks should be completed
Task Effort
Specify the estimation of the task effort, in hours
Task Priority
Specify the priority of the task
You must provide a number (0,1, 2, or 3) as follows:- 0—Critical
- 1—High
- 2—Medium
- 3—Low
OUTPUT MAP
Specify the process parameters that you want to obtain as output values from this element
You can build an expression for assigning an output value to a process variable.
- Save the process.
Example: Using a process to automate categorization and assignment of an issue
The following image shows a sample process that automatically categorizes an issue and assigns it to the assignee by using the BMC Helix Platform Cognitive Service. The process categorizes the issue by using the issue summary and returns a category. The Suggest Assignee action uses this category to determine the correct assignee.
Suggest Category values
Property | Example value |
---|---|
Action Type Name | Suggest Category |
Label | Suggest Issue Category |
Description | Returns the category of the issue |
Run as | Inherit from Process |
Training Data Set Name | Defect Category |
Text To Classify | "Unable to localize view component" |
Suggest Assignment values
Property | Example value |
---|---|
Action Type Name | Suggest Assignee |
Label | Suggest Assignee |
Description | Returns assignee |
Run as | Inherit from Process |
Record Definition Name | Task |
Assignee Training Data Set Name | Issue assignee |
Task Category | Output Note: Here the output value used is the first classified category for the text. For example, in the CSV file you have specified two categories Localization and View component for the text "Unable to localize view component". The Localization category (first classified category) is used as the value for Task Category. To use multiple categories, see Example: Using multiple categories of data classification. |
Assignment Type | Round Robin |
When you run the process, the output of the Suggest Category action (Localization) is provided to the Suggest Assignee action and the Suggest Assignee provides the name of the assignee as an output. The following image illustrates a sample process activity result:
To add auto categorization and auto assignment in a rule
- Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
- Select the application in which your rule exists.
- In the application, click Rules.
- Click the rule name to which you want to add an auto categorization or auto assignment.
The system opens the Rule designer and displays the rule diagram on the canvas. - Drag the Suggest Categorization element (for auto categorization) or Suggest Assignee element (for auto assignment) to the canvas and place it where you want to add it in the rule and provide the input and output connections.
- Select the element, enter the values for the properties, and repeat for the next element.
The properties of the Suggest Category and Suggest Assignee element are the same as those described in To add auto categorization in a process and To add auto assignment in a process. - Save the rule.
For more information about how to create a rule, see Creating-rules.
Example: Using a rule to automate categorization and assignment of an issue
The following image shows a sample rule that automatically categorizes an issue and assigns it to the assignee by using the BMC Helix Platform Cognitive Service. The rule categorizes the issue by using the issue summary and returns a category. The Suggest Assignee action uses this category to determine the right assignee. Here the Suggest Assignee element uses the first category for the issue that is provided by the Suggest Category element. To use multiple categories, see Example: Using multiple categories of data classification
You can trigger the rule on a record event such as On Create, After Create, On Update, and so on. For information about record events, see Rule-designer-elements.
For information about the sample values, see Suggest Category values and Suggest Assignment Values.
Example: Using multiple categories of data classification
The following image shows a sample process that uses multiple categories provided by a Suggest Category element. To use a Suggest Category element that returns a list of String for data classification, loop the output data of the element.
In this process, Getting Automatic Categorization (Suggest Category element) has three output values and these output values are used to update the Setting Categories. Setting Categorization 1, Setting Categorization 2, and Setting Categorization 3 use the first, second, and third values of Getting Automatic Categorization output respectively.
The following steps describes how to assign Getting Automatic Categorization output to Setting Categorization 1, Setting Categorization 2, and Setting Categorization 3:
- Create a local text variable Current Categorization to store the current categorization as shown in the following image:
- Create a local integer variable Counter and initialize it to 1 by using a Compute Value element Setting Counter = 1, as shown in the following image:
Select the output of Setting Counter = 1 as source as shown in the following image: - Loop the output of the Getting Automatic Categorization in a subprocess and for every step in the loop store the current categorization in the local variable Current Categorization, as shown in the following image:
For example, map Problem Area 3 with the Current Categorization variable by using Update Record, as shown in the following image: - Use an Exclusive Gateway element to update the right Setting Categories according to the value of the counter.
When the counter is 1, it updates the first categorization. When the counter is 2, it updates the second categorization. When the counter is 3 the default branch is used to update the third categorization.
The third path of the Exclusive Gateway is the default path (without a condition). In this case, it is the path when the counter is greater than 2. - Increment the counter by 1 at each iteration of the loop, so that in the next iteration of the loop, the exclusive gateway picks up another branch, as shown in the following image: