Conditions
What is a condition?
Conditions define when a rule action is executed. Without conditions, a rule always executes. You can combine multiple conditions using AND and OR logic to express complex business rules.
Depending on the context, a condition can evaluate a field on the source item or on the target item:
source="...": a field on the source item (in a mapping context).target="...": a field on the current item, in both mapping and formula contexts (evaluated before the action is applied).
TIP
In a Formula context (single table), source and target refer to the same item. We recommend using source="..." in XML for consistency.
Condition groups (AND / OR)
Multiple condition groups are linked by the operator OR — if at least one group matches, the rule executes. Within a condition group, conditions are linked by the operator AND — all conditions in the group must be true for the group to match.
Nesting condition groups is not allowed.
Examples
Execute only if BRAND AND DESCRIPTION are both filled
xml
<Conditions>
<Condition-Group>
<Condition source="BRAND" operator="NOT_EMPTY" />
<Condition source="DESCRIPTION" operator="NOT_EMPTY" />
</Condition-Group>
</Conditions>1
2
3
4
5
6
2
3
4
5
6
Execute if BRAND is filled, OR if PRICE is greater than 0
xml
<Conditions>
<Condition-Group>
<Condition source="BRAND" operator="NOT_EMPTY" />
</Condition-Group>
<Condition-Group>
<Condition source="PRICE" operator="GREATER_THAN">
<Value>0</Value>
</Condition>
</Condition-Group>
</Conditions>1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Do not overwrite if source is empty
Add a NOT_EMPTY condition on the source field to keep the target value when the source is empty:
xml
<Conditions>
<Condition-Group>
<Condition source="TITLE" operator="NOT_EMPTY" />
</Condition-Group>
</Conditions>1
2
3
4
5
2
3
4
5
Do not overwrite if target already has a value
Add an EMPTY condition on the target field to only apply the rule when the target is empty:
xml
<Conditions>
<Condition-Group>
<Condition target="TITLE" operator="EMPTY" />
</Condition-Group>
</Conditions>1
2
3
4
5
2
3
4
5
Validation rules
If a condition is invalid, it is ignored.
- The specified operator does not exist.
- A required parameter is missing.
- A
Valuerefers to aCATEGORY,OPTIONorSUFFIXthat does not exist. - For
EQUALSandNOT_EQUALS, more than oneValueis provided. - For
INorNOT_IN, more than 1000Valueentries are provided. - For
NUMBER,DATE, andDATE-TIMEconditions, if the providedValueis not a valid number or date, the condition is considered invalid.
Conditions by field type
TEXT
Applies to: IDENTIFIER, SINGLE-LINE-TEXT, HTML-TEXT, LONG-TEXT.
All conditions are case and accent sensitive, except
CONTAINS.
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty | |
CONTAINS | Contains (not case and accent sensitive) | |
EQUALS | Strictly equal | |
STARTS_WITH | Starts with | |
ENDS_WITH | Ends with | |
IN | Is equal to one of the mentioned values | |
NOT_IN | Does not equal any of the mentioned values |
xml
<Condition source="TITLE" operator="STARTS_WITH">
<Value>Robot</Value>
</Condition>1
2
3
2
3
CLASSIFICATION
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty | |
EQUALS | Equals the mentioned CATEGORY key | |
NOT_EQUALS | Does not equal the mentioned CATEGORY key | |
IN | Is equal to one of the mentioned CATEGORY keys | |
NOT_IN | Does not equal any of the mentioned CATEGORY keys |
xml
<Condition source="TYPOLOGY" operator="IN">
<Value>LAPTOP</Value>
<Value>DESKTOP</Value>
</Condition>1
2
3
4
2
3
4
NUMBER
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty | |
LESS_THAN | Strictly less than | |
LESS_THAN_OR_EQUAL | Less than or equal | |
GREATER_THAN | Strictly greater than | |
GREATER_THAN_OR_EQUAL | Greater than or equal | |
EQUALS | Strictly equals |
xml
<Condition source="PRICE" operator="LESS_THAN">
<Value>100</Value>
</Condition>1
2
3
2
3
Suffix
Use the use attribute to specify whether the condition targets the numeric value or the suffix key.
If you need to automate a target field based on a number field and its unit, create one rule per unit and set a condition on the suffix key of the number field.
use value | Description |
|---|---|
VALUE | Default — the numeric value |
SUFFIX_KEY | The suffix (unit) key |
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty | |
EQUALS | Strictly equals | |
NOT_EQUALS | Strictly not equals | |
CONTAINS | Contains (not case and accent sensitive) | |
STARTS_WITH | Starts with | |
ENDS_WITH | Ends with |
xml
<Condition source="PRICE" use="SUFFIX_KEY" operator="EQUALS">
<Value>euro</Value>
</Condition>1
2
3
2
3
SINGLE-SELECT and MULTIPLE-SELECT...
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty | |
EQUALS | Equals the mentioned OPTION key | |
NOT_EQUALS | Does not equal the mentioned OPTION key | |
IN | Is equal to one of the mentioned OPTION keys | |
NOT_IN | Does not equal any of the mentioned OPTION keys |
xml
<Condition source="BRAND" operator="NOT_IN">
<Value>SUPPLIER-X</Value>
<Value>SUPPLIER-Y</Value>
</Condition>1
2
3
4
2
3
4
Quantity
Use the use attribute to specify whether the condition targets the option key or the quantity.
use value | Description |
|---|---|
VALUE | Default — the OPTION key |
QUANTITY | The item quantity |
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty | |
LESS_THAN | Strictly less than | |
LESS_THAN_OR_EQUAL | Less than or equal | |
GREATER_THAN | Strictly greater than | |
GREATER_THAN_OR_EQUAL | Greater than or equal | |
EQUALS | Strictly equals |
xml
<Condition source="BATTERY" operator="LESS_THAN" use="QUANTITY">
<Value>2</Value>
</Condition>1
2
3
2
3
IMAGE and ATTACHMENT
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty |
xml
<Condition source="FRONT" operator="NOT_EMPTY" />1
DATE and DATE-TIME
| Operator | Description | Parameter |
|---|---|---|
EMPTY | Is empty | |
NOT_EMPTY | Is not empty | |
LESS_THAN | Strictly earlier than | |
LESS_THAN_OR_EQUAL | Earlier than or equal | |
GREATER_THAN | Strictly later than | |
GREATER_THAN_OR_EQUAL | Later than or equal | |
EQUALS | Strictly equals |
xml
<Condition target="DELIVERY_DATE" operator="LESS_THAN_OR_EQUAL">
<Value>2026-02-20</Value>
</Condition>1
2
3
2
3
COMPOSITE
Conditions on COMPOSITE fields are not supported.