Skip to content
Wm logo graphic Work Management Hub

Expert Reviews, Comparisons & Guides for Smartsheet, Monday.com, Asana, ClickUp & More

Wm logo graphic Work Management Hub

Expert Reviews, Comparisons & Guides for Smartsheet, Monday.com, Asana, ClickUp & More

  • Smartsheet
  • ClickUp
  • Asana
  • monday.com
  • Other tools
    • Jira
    • Notion
    • Wrike
    • Airtable
  • Comparisons
  • Guides
  • About
  • Smartsheet
  • ClickUp
  • Asana
  • monday.com
  • Other tools
    • Jira
    • Notion
    • Wrike
    • Airtable
  • Comparisons
  • Guides
  • About
Close

Search

Person working on a laptop near a bright window
How-To GuidesNotion

Notion Formulas 2.0: Syntax, Copy-Ready Examples and Migration Fixes

Photo of Khasim Basha Shaik
By Khasim Basha Shaik
May 27, 2026 5 Min Read
0

Home - How-To Guides - Notion Formulas 2.0: Syntax, Copy-Ready Examples and Migration Fixes

Formulas 2.0 replaced Notion’s old single-line, text-flattening formula language with a multi-line editor, local variables (let / lets), rich return types and the ability to pull properties off related pages without a rollup first. Old formulas mostly still run – Notion auto-converted many of them – but several patterns now return lists where you used to get plain text, and that’s where migration pain starts.

I implement work-management platforms for a living (my firm, SSPM, is a Smartsheet partner). Everything below is checked against Notion’s Formulas 2.0 guide and formula syntax on October 9, 2026.

Table of Contents

Toggle
  • The short answer
  • What actually changed from 1.0
  • Why prop() references feel different
  • Syntax essentials before anything complex
  • Seven formulas worth copying
    • 1. Percent complete from a Tasks relation
    • 2. Deadline bucket
    • 3. Text progress bar
    • 4. Assignee name and email without a rollup
    • 5. Flag tasks whose assignee left the People property empty
    • 6. Weighted priority score
    • 7. First matching tag with find
  • Migrating old formulas and debugging
  • What formulas still can’t do
  • FAQ
    • Do my old Notion formulas still work after 2.0?
    • Why does my formula return a list instead of text?
    • Can formulas reference a property in a completely separate database?
    • Rollup vs prop("Relation").filter(...)?
    • How do I see what type a piece of my formula returns?
  • Related guides

The short answer

  • Use let / lets whenever you filter the same relation twice.
  • Prefer prop("Tasks").filter(...) over a rollup + formula pair when you need a calculated view of related pages.
  • If a migrated formula looks ugly (prop("Person").map(current.format()).join(", ")), that was Notion preserving old text output – delete the conversion when you want rich people/page outputs.
  • Formulas still cannot write to other properties or other databases. Automations and Notion AI Autofill cover that job.
Four Formulas 2.0 changes: multi-line editor, rich outputs, let/lets, relation diving
The four changes that matter day to day. Graphic: WorkManagementHub, from Notion Help Center.

What actually changed from 1.0

  1. Multi-line editor with tabs, comments, type-checking and inline errors.
  2. Rich outputs: pages, dates, people and lists – not everything forced to text.
  3. let / lets for local variables (same idea as JavaScript let).
  4. Relation diving: read related-page properties with current.prop("Status") inside filter / map.

Notion also expanded date helpers, style(), match(), ifs() and list tools (filter, find, some, every, flat, …). The full function list lives on the syntax page.

Why prop() references feel different

People, relations, multi-selects and similar properties now return lists (or rich objects), not pre-joined text. During migration, Notion wrapped many existing formulas so the displayed output stayed texty. Example from Notion’s own guide: old prop("Person") (text names) became something like prop("Person").map(current.format()).join(", ").

If you want the rich type – for example to keep people chips clickable – remove the .map(...).join(...) wrapper and return prop("Person") directly.

Person fields also expose .name() and .email():

prop("Created By").email() prop("Assignee").map(current.name()).join(", ")

Syntax essentials before anything complex

IdeaExample
Propertyprop("Status")
Compareprop("Priority") == "High"
Listsprop("Tags").includes("Finance")
Filter relationprop("Tasks").filter(current.prop("Status") == "Done")
One variablelet(tax, prop("Subtotal") * 0.099, prop("Subtotal") + tax)
Several variableslets(a, "Hello", b, "world", a + " " + b)
Multi-branch ififs(cond1, "A", cond2, "B", "C")
Empty checkempty(prop("Due"))

Empty treats 0, "" and [] as empty. Ternary cond ? a : b works alongside if().

Seven formulas worth copying

Three copy-ready Formulas 2.0 patterns for percent done, assignee email and deadline buckets
Paste these, then rename properties to match your database. Graphic: WorkManagementHub.

Adapt property and select-option names to your workspace. Status options especially must match exactly.

1. Percent complete from a Tasks relation

let( pct, round( prop("Tasks").filter(current.prop("Status") == "Done").length() / prop("Tasks").length() * 100 ), pct )

Traffic-light variant (from Notion’s own Formulas 2.0 guide pattern):

let( percentComplete, round( prop("Tasks").filter(current.prop("Status") == "Done").length() / prop("Tasks").length() * 100 ), ifs( percentComplete == 100, "✅ All tasks complete", percentComplete > 0, "⚠️ In progress (" + percentComplete + "%)", "❌ Not started" ) )

2. Deadline bucket

ifs( empty(prop("Due")), "No date", prop("Due") < now(), "Overdue", dateBetween(prop("Due"), now(), "days") <= 7, "This week", "Later" )

3. Text progress bar

lets( done, prop("Tasks").filter(current.prop("Status") == "Done").length(), total, prop("Tasks").length(), filled, total == 0 ? 0 : round(done / total * 10), repeat("█", filled) + repeat("░", 10 - filled) + " " + done + "/" + total )

4. Assignee name and email without a rollup

lets( names, prop("Assignee").map(current.name()).join(", "), emails, prop("Assignee").map(current.email()).join(", "), names + " <" + emails + ">" )

5. Flag tasks whose assignee left the People property empty

empty(prop("Assignee")) ? "Unassigned" : "Assigned"

Or, if you maintain an Active checkbox on a People database related in:

prop("Assignee").filter(current.prop("Active") == false).length() > 0 ? "Inactive assignee" : "OK"

6. Weighted priority score

lets( impact, prop("Impact"), urgency, prop("Urgency"), effort, prop("Effort"), round(impact * 0.5 + urgency * 0.3 + (10 - effort) * 0.2, 1) )

7. First matching tag with find

prop("Tags").find(current == "Blocked")

Returns empty when nothing matches – pair with empty(...) if you want a boolean.

Migrating old formulas and debugging

  1. Open the formula → check the type chips Notion shows for each sub-expression.
  2. If you expected text and got a list, add .map(current.format()).join(", ") (or .name() for people).
  3. If you expected a list and got text, remove the migration wrapper.
  4. Divide-by-zero: guard with prop("Tasks").length() == 0 ? 0 : ....
  5. Select comparisons are exact strings. Renaming a status breaks formulas silently.

Formulas still can’t reach a property on an unrelated database with no relation path. Link the databases first; see our relations and rollups guide. For broader workspace setup, use the Notion project management setup guide. Seat and AI plan gates are in Notion pricing and the Notion AI 2026 guide.

Person working on a laptop near a window
Most Formulas 2.0 bugs are type bugs: you wanted text, you got a list. Photo: WOCinTech Chat, CC BY 2.0.

What formulas still can’t do

  • Write values into another property or another database (use automations or AI Autofill).
  • Cross-query unrelated databases with no relation.
  • Replace a proper BI tool for heavy analytics – chart views help, but they’re not a warehouse.
  • Stay readable if you avoid let and nest five filters inline. Use variables.

FAQ

Do my old Notion formulas still work after 2.0?

Yes, with automatic conversion for many property types so the visible output stays text-compatible. You can simplify them once you want rich types.

Why does my formula return a list instead of text?

People, relations and multi-selects are lists in 2.0. Join them explicitly, or return the list if the property panel should show rich tokens.

Can formulas reference a property in a completely separate database?

Only through a relation (or a rollup built on one). There is no arbitrary cross-database lookup.

Rollup vs prop("Relation").filter(...)?

Rollups are simpler for single aggregations you want as their own column. Formulas win when you need conditional logic, variables or multiple calculations without polluting the schema with rollup properties.

How do I see what type a piece of my formula returns?

Use the 2.0 editor’s type hints and error highlighting while you select sub-expressions. That’s the main reason the multi-line editor exists.

Syntax checked against Notion Help Center on October 9, 2026. Option names in examples are placeholders – match your database.

Sponsored

OneSMAR for Smartsheet Teams - Available on the App Store

Related guides

Asana vs Notion 2026: Which Runs Your Team Better?
Asana
Asana vs Notion 2026: Which Runs Your Team Better?
7 Best Notion Alternatives in 2026, Compared by Price and Real Limits
Alternatives
7 Best Notion Alternatives in 2026, Compared by Price and Real Limits
Notion vs ClickUp 2026: An Honest Comparison for Docs, Tasks and Teams
ClickUp
Notion vs ClickUp 2026: An Honest Comparison for Docs, Tasks and Teams
Photo of Khasim Basha Shaik
Author

Khasim Basha Shaik

Khasim is a work management expert and entrepreneur with a deep passion for project management tools. He works hands-on with platforms like Smartsheet, Monday.com, Asana, ClickUp, Jira, Notion, Wrike and Airtable every day, and loves automating workflows to save teams and customers a ton of time. On WorkManagementHub he shares practical setup guides, honest tool comparisons, and real-world troubleshooting drawn from daily use.

Follow Me
Other Articles
Table of Smartsheet WorkApps facts in October 2026: Enterprise and Advanced Work Management plans, 5 templates, up to 50 pages, Editor, Viewer and Hidden roles, free sharing on any Smartsheet plan, Collaborator pack for outside users
Previous

Smartsheet WorkApps in 2026: How to Build a No-Code App, Set Roles and Publish It

Table of ClickUp Sprint capabilities on Free/Unlimited vs Business
Next

ClickUp Sprints 2026: Setup, Plan Limits, and Fixes When Sprints Misbehave

No Comment! Be the first one.

    Leave a Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    KB
    Khasim Basha Shaik

    Khasim is a work management expert and entrepreneur with a deep passion for project management tools. He works hands-on with platforms like Smartsheet, Monday.com, Asana, ClickUp, Jira, Notion, Wrike and Airtable every day, and loves automating workflows to save teams and customers a ton of time. On WorkManagementHub he shares practical setup guides, honest tool comparisons, and real-world troubleshooting drawn from daily use.

    About Work Management Hub →

    Popular reviews & guides

    • Table matching ten team types to the project management tool to start with, a runner-up and the reasonBest Project Management Software 2026: 10 Tools Compared by Team Type, Real Monthly Cost and the Limits That Matter
    • Team meeting around a long conference table with laptops openJira Pricing 2026: Standard vs Premium, Annual Tiers and the Oct 13 Increase
    • Developer working on a laptop with code on screen while holding a phoneJira Slack Integration 2026: Setup, @Jira Tickets and Channels Without the Noise
    • Laptop covered in developer stickers on a deskLinear vs GitHub Issues (2026): Who Should Track the Work?
    • Person typing on a laptop at a small round tableLinear-GitHub Sync Broken? Fix Every Failure Mode
    • Three people collaborating around a laptop at a meeting tableGitHub Stacked PRs Are GA: What Changed Oct 6, 2026 (and How to Roll Them Out)

    Browse by tool

    • Smartsheet33
    • Monday.com28
    • Asana34
    • ClickUp30
    • Notion29
    • Jira31
    • Wrike16
    • Airtable16
    • Integrations12

    Sponsored OneSMAR – Everything you need for Smartsheet in one place

    Independent reviews, comparisons, and hands-on guides for work management tools — Smartsheet, Monday.com, Asana, ClickUp, Notion, Jira, Wrike, and Airtable — written from daily, real-world use of these platforms.

    Topics

    • Smartsheet
    • Monday.com
    • ClickUp
    • Asana
    • Notion
    • Jira
    • Wrike
    • Airtable
    • Comparisons

    Company

    • About
    • Contact
    • Editorial Policy
    • Author

    Legal

    • Privacy Policy
    • Terms of Use
    • Disclaimer
    • Affiliate Disclosure
    Copyright 2026 — Work Management Hub. All rights reserved. Blogsy WordPress Theme