Decision Task Connector

Integrate Decision Tables into your business Processes.

Overview

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.

Package and Permissions Required

The Decision Tables package must be installed to use the Decision Task connector.

Furthermore, 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 to the Process Model

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

  1. View your Processes. The Processes page displays.

  2. Drag the connector into the Process model canvas where you want to place it. If a Pool element is in your Process model, the Decision Task connector cannot be placed outside of the Pool element.

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

After the connector is placed into the Process model, you may adjust its location in the following ways:

Moving a Decision Task connector has the following limitations in regards to the following Process model elements:

  • Pool element: If the connector is inside of a Pool element, it cannot be moved outside of the Pool element. If you attempt to do so, Process Modeler places the connector inside the Pool element closest to where you attempt to move it.

  • Lane element: If the connector is inside of a Lane element, it can be moved to another Lane element in the same Pool element. However, the connector cannot be moved outside of the Pool element.

Customize the Appearance of a Decision Task Connector

See Customize the Appearance of an Element or Connector.

Copy a Decision Task Connector

See Copy Elements and Connectors into the Clipboard.

Clone a Decision Task Connector

See Clone Elements and Connectors Without the Clipboard.

Delete a Decision Task Connector

See Delete Elements and Connectors.

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. Panels to configure this connector display.

  2. 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.

  • 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.

  • 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.

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. Panels to configure this element display.

  2. 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.

  3. 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. Panels to configure this element display.

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

  3. 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.

  4. 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.

  5. 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. Panels to configure this element display.

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

  3. 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.

  4. 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.

  5. 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. Panels to configure this element display.

  2. 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. Panels to configure this element display.

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

  3. 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.

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

  5. 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. Panels to configure this element display.

  2. 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.

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

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

  5. 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. Panels to configure this connector display.

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

  3. 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.

pageDecision Tables PackagepageWhat is a Connector?pageWhat is a Package?

Last updated

© Copyright 2000-2024 ProcessMaker Inc. All rights reserved.