Namespaces
Anything else resolves to nothing.
Deep paths
A path can go as deep as the data goes, including array positions:[object Object].
The clock
{{ now }} on its own is the current time as an ISO 8601 string. All of these are
UTC — a run has no single local timezone to be right about.
What each trigger supplies
{{ trigger.channel }} is available on every trigger that carries one. The rest depend
on which trigger started the run.
Amounts and totals in
trigger. and vars. arrive already formatted — ₹1,499.00 —
so a message body never has to do the arithmetic.
Reading an earlier step
Every step publishes its result under its reference name, before the next step runs. That ordering is the point: step two can build its request out of step one’s response.- A step that runs after this one cannot be read. It could only ever be empty.
- A step on the other side of a branch cannot be read either. A step in an earlier branch that might have run is offered, marked Only if that branch ran.
Filters
Add a filter with|. They chain left to right.
A filter argument can be quoted, and a quoted argument may contain a
| or a dot. An
unrecognised filter name passes the value through untouched rather than blanking it.
Types are kept for a single token
If a field contains exactly one token and nothing else, the underlying value keeps its type. That is what lets a JSON body send"qty": 3 rather than "qty": "3", and
pass a whole object through as an object. The moment there is any text around the token,
the result is a string.