Eval Node
Quick Reference
- Fleak Eval Query: A FEEL expression to transform records. Result must be a record or array of records.
FEEL conditional values use case(condition => value, _ => fallback), with a required final _ => fallback branch. FEEL does not support if ... then ... else syntax. To add a conditional field while preserving the current record:
dict_merge($, dict(tier=case($.amount > 1000 => "high", _ => "standard")))
Configuration
Configuration keys below are relative to the node configuration. Use the field name in the panel when following instructions in the builder; required markers such as an asterisk are not part of the name.
| Field in the panel | Configuration key | Where to edit / when shown |
|---|---|---|
| Fleak Eval Query | expression | Node panel — A FEEL expression to transform records. Result must be a record or array of records. Required: Yes. Placeholder: $.events. |
FEEL conditional values use case(condition => value, _ => fallback), with a required final _ => fallback branch. FEEL does not support if ... then ... else syntax. To add a conditional field while preserving the current record:
dict_merge($, dict(tier=case($.amount > 1000 => "high", _ => "standard")))
Overview
The Fleak Eval Node allows you to transform and manipulate records using the Fleak Eval Expression Language (FEEL). Use it to create new fields, modify existing values, and perform calculations on your data.
Examples
In FEEL expressions, $ refers to the current record. Use dot-path notation (e.g. $.field) to access fields.
Add a computed field:
dict_merge($, dict(full_name=$.first_name + " " + $.last_name))
Convert a timestamp:
dict_merge($, dict(event_day=epoch_to_ts_str($.timestamp, "yyyy-MM-dd")))
Conditionally set a field:
dict_merge($, dict(tier=case($.amount > 1000 => "high", _ => "standard")))
Related nodes
- filter: Filter records based on specific conditions using FEEL