Conditions
A condition evaluates an expression about the event and runs actions when the expression is true. The condition is the unit of work of a rule.
Parts of a condition
Name: identifies the condition in the panel and in comparisons between versions. Choose a name that describes the intent (foreign_card, blocked_customer), not the mechanism.
Expression: results in true or false from the data available at the moment of evaluation.
$amount > 1000 and $issuer_country != "BR"
The expression follows the expression syntax and uses only the fields of the event type the rule belongs to.
Actions: from zero to several, executed in order when the expression is true. Actions are the effect of the condition: set a field, look up external data, add a value to a list, run an analysis.
Order and chaining
The platform evaluates the conditions top to bottom, all of them. Evaluation does not stop at the first satisfied condition. If three conditions are satisfied, all three run their actions.
That order matters because the conditions share the same working memory. Each condition is evaluated against the current state of the event, including whatever the previous conditions wrote:
| Order | Condition | Expression | Action |
|---|---|---|---|
| 1 | identify_issuer | $card_bin != null | Enrich: BIN → issuer_id, issuer_country |
| 2 | foreign_issuer | $issuer_country not in ["BR"] | Set field: review = "true" |
Condition 2 only works because condition 1 already filled in issuer_country. If the order were reversed, the field would still be empty at evaluation time.
The same logic applies to the actions within a condition: they run in the order they appear. Drag the rows in the panel to reorder the actions.
Condition without actions
A condition may have no actions at all. That configuration is valid, but rare: with no action, the condition produces no effect. The use case is documenting a check that is still being designed, leaving the actions for later.
When a condition is not satisfied
Nothing happens: evaluation moves on to the next condition. The fields the condition would have filled in keep the value they already had, or stay empty. A later condition can test exactly that absence:
$issuer_country == null
If an action fails
If an action hits an unexpected error while running, the platform records the event without the values the rule would produce and notifies the Glass Data team automatically. A rule never interrupts ingestion.
Values an action could not resolve are not errors. A lookup with no result, or a blank value, leaves the destination field untouched, and a following condition can handle that absence.