Use Decision Task connectors to run Decision Tables in your Processes. Specify which Decision Table(s) to run, thereby evaluating their business rules, and then map how data routes between Request variables to and from Decision Table variables.

Decision Task connectors immediately evaluate the business rules within a specified Decision Table, thereby affecting Request workflow routing in real time with the current conditions and outcomes for all decisions in that Decision Table.

Add a Decision Task Connector to the Process Model

Permissions

  • Processes: Edit Processes

  • Processes: View Processes

See the Process permissions or ask your Administrator for assistance.

Your user account or group membership must have the following permissions to configure a Decision Task connector to the Process model unless your user account has the Make this user a Super Admin setting selected:

Processes: Edit Processes

Processes: View Processes

See the Process permissions or ask your Administrator for assistance.

Add a Decision Task connector from one of the following locations in Process Modeler:

  • Object Panel: Located to the left of the Process Modeler canvas, the Object Panel contains various process model objects.

  • Object Bar: Located at the bottom of the Process Modeler canvas, the Object Bar contains pinned Process model objects for quick access.

Follow these steps to add a Decision Task connector from the Object panel to the Process model:

  1. Ensure that the Object panel is visible. If not, click the Add icon from the Object bar at the bottom.

  2. Click the Decision Task object from one of the following sections:

    • Pinned Objects: The Decision Task object appears in the Pinned Objects section when it is pinned.

    • Object Category: The Decision Task object appears in the Object Category section when it is not pinned.

  3. Click the location in the Process model to place this connector. Follow these guidelines when placing this connector:

Follow these steps to add a Decision Task connector from the Object bar to the Process model:

  1. Ensure that the Decision Task object is pinned to the Object bar. If not, pin it.

  2. Click the Decision Task object's icon. This object's icon displays adjacent to the mouse icon to indicate this element type may be placed into the Process model.

  3. Click the location in the Process model to place this element. Follow these guidelines when placing this connector:

    • Optionally place this connector between two existing Process model objects already connected with a Sequence Flow element. See Place an object between two connected objects.

    • If a Pool element is in your Process model, the connector cannot be placed outside of the Pool element.

Add boundary events

After adding the Object Element, consider adding the following Boundary-type Process model elements to design business solutions when your best-case scenarios don't happen:

Boundary Timer Event element

Boundary Error Event element

Boundary Signal Event element

Boundary Conditional Event element

Boundary Message Event element

Preview the Decision Table

After a Decision Task connector element is added to a Process model and selected Decision Table(s) to run Business Rules, you may preview the first associated Decision Table, which allows you to interact with and verify the Decision Table content in the same Process Modeler.

Ensure to select a Decision Table for each Decision Task element in your Process model. If a Decision Table is not specified and the Decision Task previews, the following placeholder displays:

Follow these steps to preview the first associated Decision Table from a Decision Task Connector element:

  1. Select the  Decision Task connector element to preview the first associated Decision Table. Available options display above the selected element.

  2. Click the Preview icon . A preview window displays on the right-side of the Process Modeler.

    Previewing the Decision Table for a Decision Task connector

  3. In the Preview window, you can do the following:

    • Click the icon to open the Decision Table Editor to edit the Decision Table.

    • Click the icon to close the preview window.

    • Click another Task or connector element to change the asset in the same preview window.

Settings

The Decision Task connector has the following panels that contain settings:

Configuration Panel

Edit the Connector Name

A connector name is a human-readable reference for a Process model control. Process Modeler automatically assigns the name of a Process model connector with its connector type. However, a connector's name can be changed.

Follow these steps to edit the name for a Decision Task connector:

  1. Select the Decision Task connector from the Process model in which to edit its name.

  2. Ensure that the Configuration panel displays. If not, show it. The Name setting displays.

  3. In the Name setting, edit the selected connector's name and then press Enter.

Loop Characteristics Panel Settings

Specify Characteristics to Perform Multiple Instances of the Connector

Use the Loop Characteristics panel settings to specify how to perform multiple instances of this connector. The following loop modes are available for this connector:

  • No Loop Mode: Select the No Loop Mode option to perform this connector's function only once.

  • Loop: Select the Loop option to sequentially repeat this connector's function multiple times until an exit condition is True. This is useful when a function should be performed multiple times with the same set of data, such as, processing a credit card payment. This loop mode has the following characteristics:

    • The connector's function is repeated until the exit condition is True or the maximum iterations limit is reached.

    • At any given time, only one instance of the connector is active. The subsequent instance does not begin until the current instance completes.

    • The same exit condition evaluates at the end of each instance; however, value(s) of the Request variable(s) used in the exit condition can change during an instance resulting in the exit condition to eventually evaluate as True.

    • If any one instance of that function does not complete, workflow pauses.

    • All active instances are terminated if an interrupting boundary-type event element triggers.

    • An element configured in this mode shows the Loop icon in Process Modeler.

  • Multi-instance (Parallel): Select the Multi-instance (Parallel) option to perform this connector's Task multiple times in parallel a fixed number of times. This is useful when performing any action in bulk, such as sending an email to several people. This loop mode has the following characteristics:

    • Instances of the connector are governed by the size of an array-type Request variable where a new instance is created for each item in this variable. For example, an array with 10 items will create 10 parallel instances of this function that each contains data from its respective array index.

    • All instances begin simultaneously when this connector triggers; however, they perform their function independently of each other.

    • The function as a whole completes when all instances are complete.

    • The output from each instance can either be saved in the source Request variable or a new array-type Request variable.

    • All active instances terminate if an interrupting boundary-type event element triggers.

    • A connector configured in this mode shows the Multi-instance (Parallel) icon in Process Modeler.

  • Multi-instance (Sequential): Select the Multi-instance (Sequential) option to perform this connector's function multiple times sequentially a fixed number of times or until an exit condition is True. This is useful when sequentially repeating a function multiple times but with a different set of data each time. This loop mode has the following characteristics:

    • Instances of the function are governed by the size an array-type Request variable where a new instance is created for each item in this variable. For example, an array with 10 items will create 10 parallel instances of this function that each contains data from its respect array index.

    • At any given time, only one instance of the function is active. The subsequent instance does not begin until the current instance completes.

    • At the end of each instance an exit condition evaluates and the loop activity halts if the exit condition is True.

    • The function as a whole completes when all instances are complete.

    • The output from each instance can either be saved in the source Request variable or a new array-type Request variable.

    • All active instances terminate if an interrupting boundary-type event element triggers.

    • A connector configured in this mode shows the Multi-instance (Sequential) iconin Process Modeler.

Follow these steps to specify characteristics to perform multiple instances of the connector:‌

  1. Select the connector from the Process model in which to specify multiple instance characteristics.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.

  3. Expand the Loop Characteristics panel. The Loop Characteristics setting displays. By default, Loop Activity is set to No Loop Mode and the function is performed only once.

  4. From the Loop Mode setting, select one of the following options to perform this connector's function more than once.

    • Loop: Select the Loop option. The settings for this loop mode display:

      Follow these steps:

      1. In the Maximum Iterations setting, enter an integer value representing the maximum number of times this Task should be performed.

      2. In the Exit Condition setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted.

    • Multi-instance (Parallel): Select the Multi-instance (Parallel) option. The settings for this loop mode display:

      Follow these steps:

      1. In the Request Variable Array setting, enter the name of an array-type Request variable. The size of this array will determine how many times this loop iterates.

      2. In the Output Data Variable setting, enter the name of an array-type Request variable in which to store the results of all instances. Each instance of the loop saves to a separate JSON object within the array of the specified Request variable. If the Output Data Variable setting is not configured, then the output data replaces the source data in the Request Variable Array.

    • Multi-instance (Sequential): Select the Multi-instance (Sequential) option. The settings for this loop mode display:

      Follow these steps:

      1. In the Request Variable Array setting, enter the name of an array-type Request variable. The size of this array will determine how many times this loop iterates.

      2. In the Exit Condition setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted.

      3. In the Output Data Variable setting, enter the name of an array-type Request variable in which to store the results of all instances. Each instance of the loop saves to a separate JSON object within the array of the specified Request variable. If the Output Data Variable setting is not configured, then the output data replaces the source data in the Request Variable Array.

Decision Tables

Select Which Decision Table(s) to Run Business Rules

Select which Decision Table(s) to run from which to evaluate business rules. Optionally, configure a Friendly Enough Expression Language (FEEL) expression that evaluates if the Decision Table should run prior to evaluating any decisions in it.

Follow these steps to select which Decision Table(s) to run from which to evaluate business rules:

  1. Select the connector from the Process model in which to specify the Decision Table(s) to run.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.

  3. Expand the Decision Tables panel. The Tables to run setting displays.

  4. Click the icon to expand the Tables to run setting. The Add Decision Table setting displays.

  5. Do one of the following:

    • From the Select a Table drop-down menu, select which Decision Table to run its business rules.

    • Click the Create a new decision table link. A new browser window opens to create a new Decision Table. After creating the Decision Table, the Select a Table drop-down menu automatically populates with the created Decision Table. Otherwise, be sure to select the new Decision Table in the Select a Table drop-down menu.

  6. Optionally, click the Open table link to view and/or edit your selected Decision Table. Note that your user account must have appropriate Decision Table category permissions or be a Project member in which this Decision Table is an asset.

  7. Optionally, configure a Friendly Enough Expression Language (FEEL) expression that evaluates if the Decision Table should run prior to evaluating any decisions in it. To do so, do the following:

    1. Enable the Execute Conditionally setting.

    2. Enter the expression that must evaluate as TRUE for this Decision Table to evaluate its business rules.

  8. Click Save. The selected Decision Table displays in the Tables to run setting.  If no conditions are specified to run this Decision Table, Always displays below the Decision Table name. Otherwise, the conditional expression displays.

  9. Repeat step 3 through 7 for each Decision Table that this Decision Task connector runs for its business rules.

If no Decision Tables exist, the Select a Table drop-down menu contains no options.

Edit Which Decision Table(s) to Run

After selecting which Decision Table to run, optionally select a different Decision Table to run or conditions in which it runs.

Follow these steps to edit settings for an added Decision Table to run:

  1. Select the connector from the Process model in which to edit settings for which Decision Table(s) to run.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.

  3. Expand the Decision Tables panel. The Tables to run setting displays the selected Decision Tables to run.

  4. Click theicon for the Decision Table in which to change its settings. The Edit Decision Table setting displays with the currently configured settings to run that Decision Table.

  5. Optionally, from the Select a Table drop-down menu, select a different Decision Table to run its business rules.

  6. Optionally, click the Open table link to view and/or edit your selected Decision Table. Note that your user account must have appropriate Decision Table permissions to view and/or edit the selected Decision Table.

  7. Optionally, configure a Friendly Enough Expression Language (FEEL) expression that evaluates if the Decision Table should run prior to evaluating any decisions in it. To do so, do the following:

    1. Enable the Execute Conditionally setting.

    2. Enter the expression that must evaluate as TRUE for this Decision Table to evaluate its business rules.

  8. Click Save. The selected Decision Table displays in the Tables to run setting.

    If no conditions are specified to run this Decision Table, Always displays below the Decision Table name. Otherwise, the conditional expression displays.

  9. Optionally, repeat steps 4 through 7 for each Decision Table's settings to edit.

Delete a Decision Table from Running

Follow these steps to delete a Decision Table from running to evaluate its business rules:

  1. Select the connector from the Process model in which to delete a Decision Table from evaluating its business rules.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.

  3. Expand the Decision Tables panel. The Tables to run setting displays the selected Decision Tables to run.

  4. Click theicon for the Decision Table in which to delete from the connector. A confirmation message displays.

  5. Click Delete.

Variable Mapping

After selecting which Decision Table(s) to evaluate its business rules, map how decision variables in the selected Decision Table(s) map to Request variables. Mapping involves two procedures:

Map Outbound Data from the Request to the Decision Table

Follow these steps to map outbound data from the Request to the Decision Table:

  1. Select the connector from the Process model in which to map variable data routing.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.

  3. Expand the Variable Mapping panel. The Outbound Data setting displays.

  4. Click the icon to expand the Outbound Data setting. The Map to Column setting displays.

  5. In the Request Variable setting, enter the name of the Request variable that sends data to the decision input variable of the Decision Table.

  6. In the Table Input Variable setting, enter the decision input variable's name that receives the Request variable data. Ensure to enter the decision input variable's name, not its label.

  7. Click Save. The mapped variables display in the Outbound Data setting.

  8. Optionally do one of the following to edit or delete a mapped outbound data variable pairing:

    • Edit a mapped outbound data variable pairing: Click theicon for the mapped variable pairing in which to change its settings.

    • Delete a mapped outbound data variable pairing: Click the icon for the mapped variable pairing in which to delete. A confirmation message displays. Click Confirm to delete the mapped variable pairing.

  9. Repeat steps 3 through 7 as necessary for each Request variable to map to a Decision Table.

Map Decision Table Data to the Request After Evaluating Business Rules

Follow these steps to map Decision Table output variable data to Request data after evaluating business rules:

  1. Select the connector from the Process model in which to map variable data routing.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.

  3. Expand the Variable Mapping panel if it is not already expanded. The Outbound Data and Response Mapping settings display.

  4. From the Response Mapping setting, click the icon to expand the Outbound Data setting. The Configured Returned Data setting displays.

  5. In the Table Output Variable setting, enter the name of the output decision variable from the Decision Table that sends data to the Request variable. Ensure to enter the decision output variable's name, not its label.

  6. In the Set Request Variable setting, enter the Request variable's name that receives the output decision variable data.

  7. Click Save. The mapped variables display in the Response Mapping setting.

  8. Optionally do one of the following to edit or delete a mapped outbound data variable pairing:

    • Edit a mapped variable response pairing: Click the icon for the mapped variable pairing in which to change its settings.

    • Delete a mapped variable variable pairing: Click the icon for the mapped variable pairing in which to delete. A confirmation message displays. Click Confirm to delete the mapped variable pairing.

  9. Repeat steps 3 through 7 as necessary for each Request variable to map to a Decision Table.

Advanced Panel Settings

Edit the Node's Identifier Value

A Process node represents a component of a Process model, whether that is a BPMN element or a connector. Process Modeler automatically assigns a unique value to each Process node added to a Process model. A Process node's identifier value can be changed if it is unique to all other nodes in the Process model, including the Process model's identifier value.

All identifier values for all nodes in the Process model must be unique.

Follow these steps to edit the identifier value for a Decision Task connector:

  1. Select the Decision Task connector from the Process model in which to edit its identifier value.

  2. Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.

  3. Expand the Advanced panel if it is not presently expanded. The Node Identifier setting displays. This is a required setting.  

  4. In the Node Identifier setting, edit the Decision Task connector's identifier to a unique value from all nodes in the Process model and then press Enter.