Reference fields
| Want | JSONata |
|---|---|
| Top-level input field | {{ email }} |
| Nested input field | {{ contact.email }} |
| Step output field | {{ `Lookup contact`.body.id }} |
| Top-level by full path | {{ ctx.input.email }} |
Comparisons and logic
Defaults and null-checks
String operations
Number operations
Array operations
Object operations
Conditionals
Date operations
Common workflow snippets
Build a Slack mention
Extract domain from email
First non-null
Pick by enum
Sum with filter
Debugging tips
When an expression isn’t producing what you expect:- Inspect
ctxat the failing step. Open the run trace, click the step before the failing one, and copy the visiblectx. - Test the expression manually. Paste
ctxand the expression into try.jsonata.org — same engine. - Add a Code step temporarily that just returns the raw value, so you can see what JSONata sees.
- Check for backticks around step names with spaces (most common bug).

