Fix Notion Formula 2.0 Migration Breaks Legacy Property Reference
🔍 WiseChecker

Fix Notion Formula 2.0 Migration Breaks Legacy Property Reference

You just upgraded a Notion database formula to Formula 2.0 and now the formula shows an error or returns blank results. This happens because Formula 2.0 uses a different syntax for referencing database properties compared to the legacy formula engine. The old property reference format no longer works after migration. This article explains why the property reference breaks, how to fix each affected formula, and what related errors you may encounter.

Key Takeaways: Fixing Notion Formula 2.0 Property References

  • Formula 2.0 property syntax: Use prop(Property Name) instead of the old Property Name to reference database columns.
  • Edit Formula in database: Open the formula property, switch to Formula 2.0, and rewrite each reference using prop().
  • Test after conversion: Run a sample row to confirm the formula recalculates without errors before applying to the full database.

ADVERTISEMENT

Why a Notion Formula 2.0 Migration Breaks Legacy Property References

Notion rolled out Formula 2.0 in late 2023 as a more powerful and consistent formula engine. The main difference from the legacy engine is how properties are referenced. In the legacy engine, you could write a property name directly inside the formula, such as Price Quantity. The engine automatically recognized property names as column references.

Formula 2.0 requires explicit function calls for property references. You must use the prop() function, passing the property name as a string. For example, prop(Price) prop(Quantity). If you keep the old syntax after migration, the engine treats the word as a literal text string or throws a syntax error. The result is a broken formula that either returns an error message or outputs a blank cell.

The migration itself is a one-click action in the formula editor. Notion does not automatically rewrite your existing references. You must manually update each legacy property reference to the new prop() format. If your formula contains multiple properties, nested functions, or conditional logic, each reference must be changed individually.

Steps to Rewrite Legacy Property References in Formula 2.0

  1. Open the database containing the broken formula
    Navigate to the Notion page where the database is located. Click anywhere inside the database to activate it.
  2. Locate the formula property column
    Find the column header that contains the formula. The header may show an error indicator such as a red exclamation mark or a blank cell preview.
  3. Open the formula editor
    Click the formula property header and select Edit property. Then click the Edit formula button that appears in the property configuration panel.
  4. Switch to Formula 2.0 if not already active
    At the top of the formula editor, you see a toggle labeled Formula 2.0. Make sure it is turned on. If it is off, turn it on and confirm the prompt that warns about syntax changes.
  5. Rewrite each property reference using prop()
    Examine the formula text. For every property name that appears directly in the formula (not inside a string), wrap it with prop(). For example, change Price Quantity to prop(Price) prop(Quantity). If the property name contains spaces or special characters, enclose the name in quotes: prop(Unit Price).
  6. Check function arguments that use property values
    If your formula uses functions like if(), format(), or dateAdd(), ensure that any property reference inside the function arguments uses prop(). For example, if(prop(Status) = Done, Complete, Incomplete).
  7. Click Done and verify the formula
    After rewriting all references, click Done. Notion immediately recalculates the formula for every row. Check a few rows to confirm the output matches the expected result.
  8. Test edge cases
    Create a test row with values that trigger different branches of the formula. For example, if your formula uses conditional logic, test both the true and false conditions. This confirms that property references work correctly in all scenarios.

ADVERTISEMENT

If Notion Still Has Issues After the Main Fix

Formula returns an error but property names appear correct

If you have rewritten all property references with prop() but the formula still shows an error, check for mismatched data types. Formula 2.0 is stricter about type coercion. For example, multiplying a number property by a text property that looks like a number may fail. Use the toNumber() function to convert text properties before arithmetic: prop(Price) toNumber(prop(Quantity)).

Formula returns blank for rows that had values before migration

Blank results after migration often mean the formula is referencing a property that no longer exists or has been renamed. Open the property configuration panel and confirm that every property name used in prop() matches exactly the current property name in the database. Property names are case-sensitive in Formula 2.0. Rename the property in the database or update the formula string to match.

Legacy formula with rollup or relation properties fails

Rollup and relation properties require special handling in Formula 2.0. Instead of prop(Rollup Name), you may need to use the map() function to access values from related databases. For example, if you have a rollup that sums values from a relation, rewrite the formula as prop(Related Database).map(current.prop(Amount)).sum(). Notion provides a built-in helper: when you type prop() and select a rollup property, the editor automatically suggests the correct syntax.

Legacy Formula Syntax vs Formula 2.0 Property Reference

Item Legacy Formula Formula 2.0
Property reference Price prop(Price)
Property with spaces Unit Price prop(Unit Price)
Numeric calculation Price Quantity prop(Price) prop(Quantity)
Conditional logic if(Status = Done, Complete, Incomplete) if(prop(Status) = Done, Complete, Incomplete)
Rollup access Rollup Sum prop(Related DB).map(current.prop(Amount)).sum()
Date arithmetic dateAdd(Start Date, 7, days) dateAdd(prop(Start Date), 7, days)

After you convert all legacy formulas to Formula 2.0, you gain access to new functions like map(), filter(), and every(). Use the Edit formula panel’s function browser to explore these additions. Test each formula on a duplicate database before applying changes to production data.

ADVERTISEMENT