Condition Node

The Condition node is available in GlobalCapture and GlobalAction.

Use the Condition Node to build conditional decision making into a workflow process.  Decisions can be based upon process data, fields, and searches. Each condition node supports simple boolean logic or complex logic that allows for multiple outputs.

Violet colored, diamond shaped condition node.
Condition Node

Start by a Condition Node from the Nodes Pane to the Design Canvas.

The GlobalCapture Design canvas with the Condition node highlighted to move to the design canvas.
Drag a Condition Node to the Design Canvas

Condition Node Settings

Title

A Title is required. A good Title is important because it shows up in the process history and can help with troubleshooting workflow errors. Your Title should be concise and informative.

Description

Provide a Description of your condition. Detail the purpose of the condition, the operations, etc. Description are helpful when revisiting the workflow in the future and by those who did not design the workflow but need to make modifications. The Description will appear in the process history.

Types of Rules

Process Property - Process properties are properties collected by the system about every document moving through a workflow. These properties represent information about the workflow such as Page Count, Batch ID, Original File Name, etc. These properties can be access and used for conditional routing.

Process Field - Process Fields are user created fields and table fields in GlobalCapture that can be used to store data. These fields can be used in a wide variety of ways such as: storing data extracted from the document, keeping a count of the number of loops executed, storing workflow tracking information, table data, etc.

Field (GlobalAction Only) - Fields are only available in GlobalAction and are a list of fields, including table fields, in the GlobalSearch database to which the GlobalAction workflow is associated.

Batch Search - Batch Searches are GlobalCapture Searches. When using a Batch Search in your Basic Condition node configuration, if the search returns results, the document moving through the workflow will follow the True path. If the Batch Search returns no results, it will follow the false path.

Search (GlobalAction Only) - Searches are GlobalSearch Searches. When using a Search in your Basic Condition node configuration, if the search returns results, the document moving through the workflow will follow the True path. If the Search returns no results, it will follow the false path.

The number of results returned by the search and any data associated with those results is not considered. Using a Batch Search simply checks to see if any documents are returned.

Basic Settings

Basic settings allow for simple boolean logic. The condition is evaluated as True or False and follows the appropriate path.

  1. Select a Type from the drop down list.

Configure a Basic Condition Using a Process Property

  1. Select the Property from the Process Property drop down list.

  2. Select the appropriate operator from the Condition drop down list. The conditions will vary based on the process property selected.

  3. Enter the Value to compare the select property to. This value can be another Process Property, a Process Field, a Field, or a hardcoded value. For conditions where a Value is not needed, such as Is Empty, the Value input will disappear.

  1. Click Save.

To enter a variable into the Value field:

  1. Process Properties - Type a { to see list of Process Properties.

  2. Process Fields - Type {p_ to see a list of Process Fields.

  3. Fields (GlobalAction Only) - Type {f_ to see a list of Fields.

Configure a Basic Condition Using a Process Field

  1. Select the Process Field from the Based on Process Field drop down list. This list will contain all Process Fields listed in the Process Field pane.

  2. Select the appropriate operator from the Condition drop down list. The conditions will vary based on the process property selected.

  3. Enter the Value to compare the select property to. This value can be another Process Property, a Process Field, a Field, or a hardcoded value. For conditions where a Value is not needed, such as Is Empty, the Value input will disappear.

Configure a Basic Condition Using a Field

  1. Select the Field from the Based on Field drop down list. This list will contain all Fields in the GlobalSearch database.

  2. Select the appropriate operator from the Condition drop down list. The conditions will vary based on the process property selected.

  3. Enter the Value to compare the select property to. This value can be another Process Property, a Process Field, a Field, or a hardcoded value. For conditions where a Value is not needed, such as Is Empty, the Value input will disappear.

 

 

Configure a Basic Condition Using a Batch Search

  1. Select a Search from the Based on Search drop down list. This is a list of available GlobalCapture Searches to which you are secured.

  1. Any Search Prompts that are available in the search will appear below the Based on Search field. Enter data to narrow down the results that will be returned.

  1. Click Save.

Configure a Basic Condition Using a Search

  1. Select a Search from the Based on Search drop down list. This is a list of available GlobalSearch Searches to which you are secured.

  1. Any Search Prompts that are available in the search will appear below the Based on Search field. Enter data to narrow down the results that will be returned.

  1. Click Save.

Basic Condition Table Data

Conditions can be applied to Table Fields, allowing you to make routing decisions based on individual line items.  Apart from Contains All, Empty, and Is Not Empty, all other Table Field conditions are evaluated on a per row basis.

Quantity

Item Number

Description

Extended Cost

Total Cost

Quantity

Item Number

Description

Extended Cost

Total Cost

5

146413153

Acoustic Guitar

$499.99

$2,499.95

25

61685131

Standard plastic guitar pick

$1.25

$31.25

3

168543618

100 ft premium string

$49.99

$149.97

6

46564361

Guitar Stand

$99.99

$599.94

If ANY row in the Quantity column of the AP Invoices Table contains a value Greater Than or Equal To 20, this condition will evaluate as True.

If we inspect our data, the second row Quantity is greater than 20 therefore this rule will evaluate as true for this set of data.

Empty/Is Not Empty

Empty and Is Not Empty evaluate the entire column.  For Empty, ALL cells in the column must be empty.  For Not Empty, ALL cells of the column must contain data.  This is only applied to the selected column, whether other columns in the table contain data or not does not impact the evaluation.

Quantity

Item Number

Description

Extended Cost

Total Amount

Quantity

Item Number

Description

Extended Cost

Total Amount

5

146413153

Acoustic Guitar

$499.99

 

25

61685131

 

$1.25

 

3

168543618

100 ft premium string

$49.99

 

6

46564361

Guitar Stand

 

 

Even though the Description column has some empty fields, this rule will evaluate as False for this data set because there are values in the description for some of the rows.

This rule will evaluate as True because every row contains data in the Quantity column.

Contains All

Contains All is a condition that only applies to Table Fields.  When selected, you are prompted to select a Target Table Field and a column within the Target Table Field for the value.  This will compare the values in the Target Table Field column to the values in the Based On Table Field column. 

If all the values in the Target Table Field column are present in the Based On Table Field column, the condition evaluates as True.  If anything exists in the Target Table Field column that does not exist in the Based On Table Field column, it will evaluate as False.  If the Based On Table Field column contains values that are NOT in the Target Table Field column, it will evaluate as True.

Vendors

Vendors

Soundcoast

Beats

Tune It Up

Blues Notes

Fender

C.F. Martin

Vendor List Data

Vendor Name

Vendor Number

Address

Phone

Vendor Name

Vendor Number

Address

Phone

Soundcoast

5214

123 Any Road

123-456-7890

Blues Notes

5236

12 East St

987-654-3210

Fender

9658

897 Palm Road

555-555-5555

Blues Notes

5236

12 East St

987-654-3210

Monthly Invoice List

All of the values in our Vendor Name column of the Monthly Invoice Lists data appear in the Vendors column of the Vendor List data, this will evaluate as True. It does not matter that one value in the Vendor Name column appears multiple times.

If the vendor named Fender, was not in the Vendors column of the Vendor List data, this would then evaluate as False because the Target Table Field column (Vendor Name) would have data that does not exist in the Based on Table Field column (Vendors).

Basic Condition Examples

A basic condition is useful when there are only 2 possible outcomes, True or False, and a single parameter to check against.

  • Checking if an Amount field exceeds a specific value.

  • Determining if a field contains a value.

  • Checking for an expiration date or a past due date.

Advanced Settings

Advanced settings allows you to configure the Condition node to accommodate more than just 2 outputs (True and False). While conditions are still evaluated as True or False, multiple conditions can be configured to create a path for the document to follow when the condition is evaluated as True. A single False path (No Conditions Met) is automatically created to be followed when no conditions evaluate as True.

When the Advanced tab is selected any available links are displayed. From here, you can rearrange the order of the links, create new links, or edit, copy, and delete links.

Conditional Links Pane

  1. Priority - Indicates the order in which the conditions will be evaluated. Conditions are always evaluated from top to bottom in the Conditional Links list. The Priority can be changed by moving the link up or down the list using Reorder or by changing the Priority in the Conditional Link Builder.

  2. Reorder ( menus.png ) - When multiple conditions are available, Reorder the priorities of the links by dragging the Reorder icon for the selected condition up or down the Conditional Links list.

  3. Title - The Title of your path. This is what is displayed in your workflow when making the connection to the next node. Ensure your title is clear to improve ease of workflow construction and maintenance.

  4. Edit ( pencil.png ) - Opens the Conditional Link Builder to make changes to an existing condition.

  5. Copy ( copy.png ) - Duplicates the existing condition. The duplicated conditional will open in the link builder and default to the bottom of the list unless the priority is changed.

  6. Delete ( bin.png ) - Deletes the Conditional Link.

  7. Add Conditional Link ( plus.png ) - Creates a new Conditional Link. The new link will open in the link builder and default to the bottom of the list unless the priority is changed.

When a new link is created, or an existing link is copied or edited, the Condition Link Builder appears.

Conditional Link Builder

Title - The Title of your path. This is what is displayed in your workflow when making the connection to the next node. Ensure your title is clear to improve ease of workflow construction and maintenance.

Priority - Indicates the order in which the conditions will be evaluated. Clicking the priority will display a list of Links with the new link at the bottom. Use the hamburger ( menus.png ) icon to move the Links up and down the priority list.

Output - This displays a written summary of your rule configuration. This is useful in understanding the construction of your rule and when it will be evaluated as true.

Rule Pane - The Rule Pane is where you configure your rule. It consists of the AND/OR operator, the Add Rule button, the Add Group button, and the Refresh button. The Refresh button refreshes the searches and fields list to accommodate any changes without have to refresh the browser page.

Understanding Rules and Groups

Each condition link is constructed of Rules. Rules can be combined into Groups to construct more advanced boolean conditions. Rules can be constructed of any Type and joined using AND and OR logic. The rules within each group must all have the same operator but subgroups can have a different operator then the parent.

Each Rule and Group are joined by that operator selected for the Group.

Here in the Primary Group, the selected operator is the OR operator.  Any rules at this level will be joined with the OR operator.

A or B or C

This Rule will evaluate as True if:

A, B, or C is True.

When a Group is added, those Rules will appear in Parentheses and linked to the existing Rules with the operator from the parent group, in this case the OR operator of the Primary Group.  Any Rules within the Group will be linked by the Groups operator, AND in this case.  The Group can be moved to follow any Rule using the Reorder ( menus.png ) icon.  Here I have relocated the Group to after the 2nd Rule.

 A or B or (D and E) or C

This rule will evaluate as True if:

A, B or C is True

D and E are True

Here we have added another Group to the Primary Group.

A or B or (D and E) or C or (G and H)

This rule will evaluate as True if:

A, B or C is True

D and E are True

G and H are True

Here we have added a Group to a Depth level 1 Group and made this group an OR operator.

A or B or (D and E and (G or H)) or C

This rule will evaluate as True if:

A, B, or C are True

D, E and G are True

D, E and H are True

Rule Color Codes

When creating Advanced Conditions, each rule in the condition is given a color code. This color code corresponds to the Type of value being used.

  • Gray - Process Property

  • Blue - Process Field

  • Red - Field (GlobalAction Only)

  • Yellow - Batch Search

  • Green - Search (GlobalAction Only)

Adding a Rule to the Rule Pane

  1. From the Condition Link Builder, select the desired operator ( ) and click the add rule ( ) button.

  2. Select the Rule type.

Process Property, Process Field, and Fields
  1. For Properties and Fields, select a Property or Field from the list.

  1. Select the appropriate operator from the Condition drop down list. The conditions will vary based on the process property selected.

  1. Enter the Value to compare the select property to. This value can be another Process Property, a Process Field, a Field, or a hardcoded value. For conditions where a Value is not needed, such as Is Empty, the Value input will disappear.

  1. Add additional Rules and Groups or click Save if finished.

Batch Searches and Searches
  1. For Searches, select a search.

  1. Select the Condition.

    1. Returns Results - Will evaluate as True if the search returns any results.

    2. Returns Nothing - Will evaluate as True if the search returns no results.

  1. To modify the search prompts, click the Search icon ( search.png ) to display the list of search prompts. Configure the search prompts to return the desired results.

  1. Add additional Rules and Groups or click Save if finished.

Adding a Group

  1. To add a group, click the Add Group ( ) button. The Group is added to the bottom of the rule list for the selected group but can easily be moved within and outside of the group using the Priority icon ( menus.png ).

  2. Select the desired operator ( ) and click the add rule ( ) button. Continue to add rules as needed.

  1. To add another group a the Primary Group, click the Add Group ( ) button at the top of the Primary Group container. To add another group into another group, click the Add Group ( ) button in the Group container.

Understanding Table Fields Rules and Groups

Conditions can be applied to Table Fields, allowing you to make routing decisions based on individual line items.  Apart from Contains All, all other Table Field conditions are evaluated on a per row basis. 

This rule checks to make sure there is a non zero quantity and then checks the amount per item and to total amount for each item against a predetermined threshold.

If ANY row in the table meets either of the following criteria, this will evaluate as True.

If the Quantity is greater than or equal to 1 and the Total Amount is greater than or equal to 500.

If the Quantity is greater than or equal to 1 and the Unit Amount is greater than or equal to 150.

If no rows in the data meet the criteria, the condition is evaluated as False and the process will move to the next condition or if no other conditions exist, will move down the No Conditions Met path.

 

Empty and Is Not Empty operators with Tables

The Empty and Is Not Empty operators will behave differently depending on the configuration of the Condition. 

If only a Single Column of the table is part of the condition, Empty and Is Not Empty will evaluate the entire column.  For Empty, ALL cells in the column must be empty.  For Is Not Empty, ALL cells of the column must contain data.  This is only applied to the selected column, whether other columns in the table contain data or not does not impact the evaluation.

Fender Invoice Data

Quantity

Item Number

Description

Extended Cost

Total Amount

Quantity

Item Number

Description

Extended Cost

Total Amount

5

146413153

Acoustic Guitar

$499.99

 

25

61685131

Plastic picks

$1.25

 

3

168543618

 

$49.99

 

6

46564361

 

 

 

Since there is only one field from the table in this condition, it will evaluate the entire column. This rule will evaluate as False because the Description column has data in the first two rows.

Since there is only one field from the table in this condition, it will evaluate as True because the Fender name is Fender and the Total Amount column has all empty cells.

If Multiple Columns of the table are part of the condition, the Empty and Is Not Empty conditions will be evaluated based on the cell within the row.

This condition will only check the the Description column for rows where the Quantity is greater than or equal to 5.

In the above data, it will only check rows 1, 2, and 4 because row 3 does not have a quantity greater than or equal to 5.

Even though the Description has data in rows 1 and 2, This condition will evaluate as False because the row 4 Description does not contain any data.

Contains All

Contains All is a condition that only applies to Table Fields.  When selected, you are prompted to select a Target Table Field and a column within the Target Table Field for the value.  This will compare the values in the Target Table Field column to the values in the Based On Table Field column. 

If all the values in the Target Table Field column are present in the Based On Table Field column, the condition evaluates as True.  If anything exists in the Target Table Field column that does not exist in the Based On Table Field column, it will evaluate as False.  If the Based On Table Field column contains values that are NOT in the Target Table Field column, it will evaluate as True.

Vendors

Vendors

Soundcoast

Beats

Tune It Up

Blues Notes

Fender

C.F. Martin

Vendor List Data

Vendor Name

Vendor Number

Address

Phone

Vendor Name

Vendor Number

Address

Phone

Soundcoast

5214

123 Any Road

123-456-7890

Blues Notes

5236

12 East St

987-654-3210

Fender

9658

897 Palm Road

555-555-5555

Blues Notes

5236

12 East St

987-654-3210

Monthly Invoice List

All of the values in our Vendor Name column of the Monthly Invoice Lists data appear in the Vendors column of the Vendor List data, this will evaluate as True. It does not matter that one value in the Vendor Name column appears multiple times.

If the vendor named Fender, was not in the Vendors column of the Vendor List data, this would then evaluate as False because the Target Table Field column (Vendor Name) would have data that does not exist in the Based on Table Field column (Vendors).

 

Advanced Condition Examples

Advanced Conditions are useful when more than 2 possible outcomes are needed or when more complex decision making is needed.

  • Routing to different departments - Route a document to any one of 5 departments and have a process to handle if no department is selected.

  • Checking multiple conditions - Check to see if an invoice for a specific department exceeds a specific amount. Each department can have different thresholds or multiple thresholds for routing.

Conditions

Conditions are operators that compare the selected field or property to a value. The list of conditions will vary depending on the field type (Character, Numeric, Decimal, Date) of the process property.

  • Equals - Must match the input value. This is not case sensitive and works with all data types.

  • Greater than or Equal To - The return value must be greater than or equal to the input value. This works with decimal, numeric, and date fields.

  • Less than or Equal To - The return value must be less than or equal to the input value. This works with decimal, numeric, and date fields.

  • Does Not Equal - To find results whose value is everything except the search value. Works with all data types.

  • Valid - Returns True if the data in the field is valid for the data type of the field. Only applies to Process Fields.

  • Invalid - Returns True if the data in the field does NOT match the data type for the field. Only applies to Process Fields.

  • Is Empty - The field contains no data. Works with all data types.

  • Is Not Empty - The field contains any data. Works with all data types.

  • Regex Match - The field contains data matching the regular expression entered in the input value. Works with all data types.

  • Contains All - Only applies to Table Fields.  When selected, you are prompted to select another table field column for comparison.