There are two types of Workflow Rules available.
Conditional
Conditional Rules are responsible for guiding and constraining the path of a workflow execution according to predefined criteria. They look at provided input field values to make a decision based on a binary condition.
A conditional rule is composed of three parts:
- The rule characterization which includes the rule name.
- The condition defined by the field
path
, and theoperator
to use in order to compare incoming field inputs with the expectedvalue
. - The actions defined by the
onTrueRuleName
andonFalseRuleName
, which depending on the condition outcome, will be used to invoke the next rule up on the set.
Constraints
- A target field
path
must exist on the targeted workflow Scope as arequired
,queryable
input. - Certain operators are exclusive to some data types. Check out Conditional Operators to find out more about all available operators and their constraints regarding field data types.
- Both
onTrueRuleName
andonFalseRuleName
must point to existing rules on the current workflow. - Conditional Rules may be freely placed anywhere in the set and in any order.
Example
This example has a condition on the field currency.code
. In order to have a positive condition result, the incoming value of this field needs to belong to the currency array specified in value
. In case the condition is met, Another Rule 1
will be invoked, and a negative result will cause Another Rule 2
to be selected for execution.
{
"type": "Conditional",
"name": "Example",
"path": "currency.code",
"operator": "in",
"value": ["EUR", "USD", "CHF"],
"onTrueRuleName": "Another Rule 1",
"onFalseRuleName": "Another Rule 2"
}
Assignment
Assignment rules are responsible for assigning values to output fields. Multiple output fields may be assigned in one single assignment rule.
An assignment rule is composed of two parts:
- The rule characterization which includes the rule name.
- The assignment(s) defined by the
outputFields
field, which is an array constituted by all field names and their respective values to assign.
Constraints
- A target
outputFields.outputField
must exist on the targeted workflow Scope as arequired
output field. - The value to assign to the output field must comply with the data type defined in the scope for that field.
- Assignment Rules are terminal rules, meaning that no other rule will be invoked after an assignment rule.
- All possible paths on a workflow must end in an assignment rule.
Example
This example assigns two output field values.
{
"type": "Assignment",
"name": "Example",
"outputFields": [
{
"outputFieldPath": "receiver.id",
"outputFieldValue": 1
},
{
"outputFieldPath": "receiver.name",
"outputFieldValue": "Stripe"
}
]
}