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 oldProperty Nameto 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.
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
- 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. - 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. - 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. - 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. - 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 withprop(). For example, changePrice Quantitytoprop(Price) prop(Quantity). If the property name contains spaces or special characters, enclose the name in quotes:prop(Unit Price). - Check function arguments that use property values
If your formula uses functions likeif(),format(), ordateAdd(), ensure that any property reference inside the function arguments usesprop(). For example,if(prop(Status) = Done, Complete, Incomplete). - 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. - 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.
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.