BetaappTown is live but still in beta: things may change while we finish it.
appTown Docs Open appTown

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
Expressions in 5 minutes

#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 in HASROLE(", table names in FILTER(", units in DATEADD. 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 shows IF(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.

#Learn more

  • Syntax: fields, links, text, numbers, dates, lists, operators, blanks and types.
  • Functions: every function, with examples.
  • Recipes: ready-made expressions for common needs.