Succeeding Rule
What does it do?
The Succeeding Rule defines the conditions that allow an activity to end.
How is it used?
The succeeding rule contains logical expressions that, when they resolve to true, allows an activity to end.
- Unless a succeeding rule evaluates to true, an activity may never end and may go into error at run time
- If the Plan per slot (no destinations) Destination Rule option is selected, and multiple slots may potentially be created, you may need to configure a succeeding rule to ensure that all slots have completed before the activity continues. In the event where a succeeding rule has not been configured for this purpose, only the first slot is evaluated and the activity continues as soon as the first slot has completed. This may cause issues if multiple child IPC processes were supposed to be started by the activity and it ended prematurely after the first child IPC process was started.
A succeeding rule, like other rules, is not required. If a succeeding rule is not configured, no validation is performed and the activity is completed as if the rule evaluated to true.

Access the succeeding rule by opening the activity strip and clicking the Succeeding Rule icon.
Alternatively double click the icon of the activity or right-click the activity and select Properties.

By default, the Succeeding Rule page does not have a rule configured. Add a by clicking Add.

Configure the rule expressions using the Add/Edit Rule dialog. Multiple expressions can be added. An example configured rule is shown that only completes the activity if all Authorisations equal true.

The rule editor creates a logical statement that is evaluated:
- before the activity instance is started (when using the Preceding Rule)
- when the activity needs to be sent to the destination user to be actioned (when using the Destination Rule) . The rule determines whether the destination user will receive the item on their worklist.
Multiple expressions can be added.
The Rule is evaluated using the following formula: [First Variable] [Comparison Operator] [Second Variable] = Result
Feature | Description | How to use it |
---|---|---|
Boolean Operator | The operator used to compare the different rules. See the section Using Line Rule Operators below | Click on the Boolean Operator drop-down and select the operator |
First Variable | The first variable used in the comparison to determine if the outcome will resolve to true. When using GetList methods and repeating XML nodes, the drop down next to the First Variable is enabled which can be used to perform the following actions: Sum Minimum Maximum Average Count |
Populate the field manually or source it from dynamic fields from the object browser such as Data, XML, SmartObject Properties, SmartObject Methods, SharePoint columns etc |
Logical Function | This function is only available if Non-Shared activity level Data Fields or XML Fields have been used in an activity before a Line Rule or in a Succeeding Rule. The following options are available: All All Slots At Most At Least None |
Not available for Preceding or Destination Rule |
Logical Data | This option is only available when using the Logical Function of At Least or At Most | Not available for Preceding or Destination Rule |
Comparison Operator | The operator used to compare the first and second variables in the expression. See the section Using Line Rule Operators below | Click on the Comparison Operator drop-down and select the operator |
Second Variable | The second variable is used in the comparison to determine if the outcome will resolve to true | Populate the field manually or source it from dynamic fields from the object browser such as Data, XML, SmartObject Properties, SmartObject Methods, SharePoint columns etc |
All - All slots on the activity instance, whether completed or not
All Slots - All completed slots


The comparison operator is used to compare two values to achieve a result of TRUE or FALSE.
Operators | |
---|---|
= | Equal to |
> | Greater than |
< | Less than |
>= | Greater than or equal to |
<= | Less than or equal to |
<> | not equal |

Boolean operators evaluate the outcome to determine if the expression evaluates to TRUE OR FALSE.
Boolean operators can only evaluate two states i.e. 1 or 0 (Binary logic). They do not evaluate Text or numerical values. It is advised to only compare binary fields with other binary fields.
Boolean Operators (A=First Parameter; B Second Parameter; Q = Result) | ||||
And | The And operator requires that all input parameters be Valid for a True result | |||
A | B | Q | ||
0 | 0 | F | ||
0 | 1 | F | ||
1 | 0 | F | ||
1 | 1 | T | ||
Or | The OR Operator requires that any parameter be valid for a True result | |||
A | B | Q | ||
0 | 0 | F | ||
0 | 1 | T | ||
1 | 0 | T | ||
1 | 1 | T | ||
XOR | The XOR operator requires that one input parameter be valid for a True result. Where all input parameters are valid or all are not valid the output will be false | |||
A | B | Q | ||
0 | 0 | F | ||
0 | 1 | T | ||
1 | 0 | T | ||
1 | 1 | F |

Multiple expressions require using a Boolean Operator. The Boolean Operator controls the outcome of multiple expressions for the rule. A simplified formula below displays the outcome of a Boolean operator when two rules are listed in the Succeeding Rule page. The Boolean Truth tables are provided in the Using Line Rule Operators section.
It is possible for the succeeding rule logic to be configured in such a way that it evaluates correctly, but never resolves to true; i.e. although never in error, the succeeding rule never resolves to true and the activity never ends.

To illustrate using indenting, the following expressions evaluate separately, from top to bottom, but they are connected with an And statement, which means they both must be true in order for the activity to end.
For a multiple-level expression example, say you want expression 1 to be evaluated separately and 2 and 3 to be evaluated together. Select the Or operator on the Outcome page and click Indent Right. This ensures that the second and third expressions are evaluated separately from the first expression. In mathematical terms this would relate to the following:
All Slots of Action Result = Approve AND (At Least 2 of Authorization = True OR At Least 2 of Manager Override = True)

If you configure a succeeding rule on a client event, the succeeding rule is set up per outcome. When clicking the succeeding rule icon, the Outcome Succeeding Rule Property Wizard page is displayed with the outcomes you created when configuring the client event.
Add succeeding rules for the existing outcomes by selecting the outcome and clicking Edit. Your Logical Functions for evaluating the outcomes are as follows:
- All
- All Slots
- At Most
- At Least
- None
This gives you granular control when evaluating what actions were taken and when the activity should end.