A more user-friendly editor, 3 new data types, over 30 additional functions, support for variables — and much more. There’s a lot to cover, so let’s jump in!
Copy link to headingNew Formula Editor

Notion’s new formula editing experience has been upgraded in a number of ways.
- Multiline Editing: no more one-line formulas! Create a new line with
shift+enter - Code Indentation: make your formulas more readable by indenting with
tab - Inline Comments: keep track of what your formula does with
/* handy comments */ - Property Tokens: Property references like
prop("This")are now shown likeThisin the editor.
Learn more about the formula editor.
Copy link to headingNew Data Types
Copy link to headingList
Lists can hold items of any data type and are surrounded by square brackets. Lists are displayed as:
- Comma-separated: strings, numbers, and dates.
- Space-separated: People, booleans, and pages.
Learn more about the List data type.
Copy link to headingPerson
These represent Notion users, like those found in a Person property. People are displayed as full names with a photo.
Learn more about the Person data type.
Copy link to headingPage
These represent Notion pages, like those found in a Relation property. Pages are displayed as a rich page link with a page icon.
Learn more about the Page data type.
Copy link to headingNew & Updated Functions
Copy link to headingNew Functions
- ifs
- split
- substring
- lower
- upper
- includes
- at
- every
- some
- filter
- match
- find
- findIndex
- first
- last
- flat
- let
- lets
- map
- repeat
- sort
- reverse
- sum
- parseDate
- dateRange
- week
- style
- unstyle
- link
- name
Updated Functions
- concat: Now concatenates lists, use + for concatenating strings instead
- join: Now joins items in a list, but still returns a string as per F1.0 behaviour
- slice: Now slices lists, use substring to slice strings instead
- start: Renamed to dateStart
- end: Renamed to dateEnd
Removed Functions
Six functions have been removed in favour of using their operator versions or other alternatives.
- larger:
larger(2, 1)→2 > 1 - largerEq:
largerEq(2, 1)→2 >= 1 - smaller:
smaller(2, 1)→2 < 1 - smallerEq:
smallerEq(2, 1)→2 <= 1 - unaryPlus:
unaryPlus(true)or+true→toNumber(true) - unaryMinus:
-+trueorunaryMinus(+true)→-toNumber(true)
Variables
Notion now supports variables! This is a huge step towards much more concise formulas. Formulas 2.0 introduces two types of variables: built-in and user-defined.
Copy link to headingBuilt-in Variables
- current
- index
A number of the new functions allow you to reference built-in current and index variables, which return the current item in the list and its place in that list respectively.
Functions that allow for the use of current and index:
- map
- every
- some
- filter
- find
- findIndex
Read more about built-in variables.
Copy link to headingUser-defined Variables
Variables can be created using new let and lets functions. Note that these both work in exactly the same way, apart from:
- let allows for only one variable to be created.
- lets allows for multiple variables to be created.
Read more about user-defined variables.
Copy link to headingDot Notation
The majority of functions can now be written in two ways. The first we’ll refer to as the regular notation, and the new version as dot notation.
/* Regular Notation: All arguments are added within the () brackets */
dateAdd(now(), 2, "days")
/* ↑...↑ First argument */
/* Dot Notation: The first argument is added before the dot */
now().dateAdd(2, "days")
Code language: JavaScript (javascript)
The following functions cannot be written in the dot notation.
- e
- pi
- now
Learn more about the Notion formula syntax.
Copy link to headingSimpler Nested if Statements
Gone are the days of multiple nested if statements! The introduction of ifs allows for a much more elegant way of handling if-else statements.
