Transforms — The Basics
A transform is a JSON object with a "type" field naming the operation. The
engine reads the type, runs it against your attributes, and returns a single value.
Shape
1
Rules that apply to every type
- Any string anywhere in the definition may contain
${attr}placeholders — inputs, values, mapping results, defaults, rule outcomes. - A bare string used where a value is expected is treated as a template. So
"${department}"and{ "type": "static", "value": "${department}" }are equivalent. - Most types take an
input. Inside a pipeline, a step with noinputreceives the previous step's result automatically. - If a transform cannot produce a value — malformed JSON, an unknown type, an unparseable date, or an empty result — the attribute is simply omitted from what is sent, rather than failing the whole operation. The editor validates the JSON as you type so you catch mistakes early.
- Nesting and pipelines are limited to 20 levels deep, a guard against a self-referential definition.
The catalogue
| Category | Types |
|---|---|
| Mapping | lookup, decision |
| String | uppercase, lowercase, trim, replace, concat, split, regex |
| Date | date-format, date-add, current-date |
| Numeric | math |
| Logical | if |
| Utility | static, uuid |
| Composition | pipeline |