Skip to content

Formulas & Rollups

Notion owns formula and rollup recipes. NotionApps can evaluate supported recipes from synced records so published apps are not limited to an incorrect or capped value returned by Notion’s page API.

  1. Open Builder → Databases.
  2. Open Calculated properties.
  3. Select a formula or rollup.
  4. Read the Notion recipe, Status, and Depends on fields.
  5. Leave Recalculate in NotionApps on when the switch is enabled.
  6. Sync every database used by the recipe.
  7. Publish and allow the background calculation to process.
  8. Verify the result in the published app.

The toggle does not create or edit a formula. Change recipes in Notion, then Sync / Reload so NotionApps receives the new definition.

Formulas include property references, arithmetic, comparisons, if, and/or/not, empty, now, and dateBetween in supported units. Rollups include sum, count, average, min, and max.

Unsupported tokens such as formatDate, ifs, lets, style, map, filter, join, includes, length, and format continue to use Notion’s value. The toggle is disabled and the reason identifies the unsupported part.

State Meaning
We’ll recalculate this Supported and selected for NotionApps evaluation.
Using Notion’s value Toggle is off.
Waiting on related fields Required records or relation evidence are incomplete.
Can’t recalculate Recipe is unsupported or incomplete; Notion remains authoritative.

Notion’s page API can provide an incomplete relation leaf. For supported rollups, NotionApps uses synced related records rather than treating that capped leaf as the final answer. Every related database must be shared and synced, and relation loading must complete before the result can be trusted.

Recalculation is asynchronous. Queue and database-load safeguards can defer a record instead of running unsafe work immediately. Deferred work keeps its last good value. Unsupported formulas are not repeatedly forced through the evaluator, and duplicate producer signals are coalesced.

A successful Sync can create recalculation work, but Sync completion and calculation completion are separate events. Makers do not manually release blocked or quarantined records.

Lists, Details, Forms, and components show the selected value source. When a supported calculation completes, subsequent page fulfillment does not replace it with Notion’s stale leaf. When Recalculate is off or unsupported, Notion’s value remains visible.

Symptom Action
No Calculated properties section Add a formula/rollup in Notion, share database, sync.
Toggle disabled Read unsupported/missing-recipe reason. Sync can load a recipe but cannot add unsupported language features.
Value remains old Sync all dependencies, verify relation completeness, and allow background processing.
Rollup differs from Notion UI Confirm all related rows/databases are synced and the function is supported.
Recipe changed but status did not Sync / Reload, reopen Calculated properties.
Preview differs from live app Publish and reload the live app.