Browse documentation

Expressions

Expressions are the small formula language that powers filters, visibility rules, workflow conditions, and computed values. If you've written a spreadsheet formula, you already know the shape.

References

  • [Column] — a column of the current row: [Status] = "Open".
  • [Reference].[Column] — follow a reference field to its table, up to two hops: [Customer].[Country] = "DE".
  • RECORD[Column] and RECORDID() — the record page's current record, used in record filters: show orders where [Customer] = RECORDID().
  • USEREMAIL() and USERROLE() — the signed-in viewer, the key to "my items" filters: [Owner] = USEREMAIL().

Functions

Logic

IF, AND, OR, NOT, IN, CONTAINS, ISBLANK

Text & dates

CONCATENATE (or the & operator), TEXT, TODAY, NOW

Lookups & aggregates

LOOKUP fetches a value across a reference; COUNT and SUM roll up a child table — a table that references the current one — so a Projects row can count its Tasks.

Context

USEREMAIL, USERROLE, RECORDID, and SELECT (notification audiences — see Notifications).

Operators and literals

Comparisons = <> < <= > >=, arithmetic + - * /, text joining &. Text is double-quoted, dates are "YYYY-MM-DD", booleans are TRUE/FALSE.

IF(AND([Status] = "Open", [Due date] < TODAY()), "Overdue", "On track")

[Owner] = USEREMAIL()

COUNT([Tasks]) > 10

Where expressions run

  • Row filters on blocks and roles — which rows a viewer sees.
  • Visible if on views, blocks, fields, and actions.
  • Record filters on record pages (RECORD[…] context).
  • Workflow trigger conditions and per-step run conditions.
  • Value expressions in set-value and add-row actions and workflow steps.

The expression assistant

Describe what you want in plain language and the AI assistant writes the expression — with a role picker so you can preview how the formula behaves for any user.