Expressions
Expressions
Expressions are small formulas, written like spreadsheet formulas, that put logic into your app: calculate a value, fill a default, check what people type, filter a view, decide who sees which records, and decide when an automation runs.
[Price] * [Quantity] * (1 - [Discount])
AND([Due] < TODAY(), [Status] <> "Done")
IF(HASROLE("Manager"), "All regions", [Region])
Video coming soon
#Where you use them
| Place | Where to find it | Gives back | Example |
|---|---|---|---|
| Formula field | a field of type Formula | text, number, date or yes/no (you pick) | [First] & " " & [Last] |
| Default value | a field's Logic | the field's type | TODAY() |
| Validation | a field's Logic, with a message | yes/no: the record saves only on yes | LEN([Code]) = 6 |
| Show if | a field's Logic | yes/no: the field shows only on yes | [Type] = "Business" |
| View filter | a view's settings | yes/no: which records the view shows | [Status] <> "Archived" |
| Only if (security) | Build → Security, per table and action | yes/no: may this person add/edit/delete this record | NOT([Locked]) |
| Row filter (security) | Build → Security, per table | yes/no: which records this person sees | [Region] = "North" |
| Trigger condition | an automation's trigger (Only if) | yes/no: run only for these records | [Total] > 1000 |
| Continue only if | an automation step | yes/no: stop the run on no | ISNOTBLANK([Email]) |
| Step values | Add a record, Change records | the field's type | [Quantity] - 1 |
| Templates | email, message, URL and other text settings in steps | text, with {{ }} around each expression |
Hi {{[Name]}} |
| REST API filter | ?filter= on list records |
yes/no | [Total] > 100 |
#The expression helper
Every expression box helps while you type, so you never have to remember everything:
- Suggestions. Type
[for the table's fields (after[Customer].[the linked table's fields), or a few letters for functions. Inside quotes it offers what fits there: role names inHASROLE(", table names inFILTER(", units inDATEADD. Use the arrow keys and Enter or Tab to pick, Esc to close, and Ctrl+Space to ask for suggestions anywhere. - The function you're in. Inside
IF(it showsIF(condition, then, else)with the current argument highlighted, what the function does, and an example. - Checks and results. The result's type and its value on a sample record, or the problem with the spot marked and a fix when there's a likely one (did you mean [Total]?, fields go in brackets).
- Functions & fields. A searchable list of the table's fields, the fields of linked tables, the app's roles and every function by category. Click one to insert it.
#Safe to rename
Fields and tables are stored by ID inside expressions, so renaming a field or table never breaks an expression: it simply shows the new name.