Recalculation Engine

How SheetOS keeps computed values current when data changes.

Overview

When data changes in your workbook, the engine re-runs every automation that depends on it. Automatically, in the right order.

How it works

When an automation runs, the engine records what it reads and what it writes. No configuration needed — it observes.

When any of those inputs change, the engine re-runs the automation. If that automation’s output is read by another automation, that one runs too. It cascades until everything is up to date.

Example

A workbook tracks sales. It has:

  • A deals table with columns: deal name, value, status
  • An automation totals.py that sums the deal values and writes the total to a summary sheet
  • An automation forecast.py that reads the total from the summary sheet, applies a growth rate, and writes a forecast

When a sales rep updates a deal value in the deals table:

  1. The engine sees that totals.py reads from deals — re-runs it
  2. totals.py writes a new total to the summary sheet
  3. The engine sees that forecast.py reads that cell — re-runs it
  4. forecast.py writes an updated forecast

One cell edit, two automations, zero manual work.

Constraints

The engine enforces two rules to keep things predictable:

  • No write conflicts — two automations can’t write to the same cell. Every output cell has exactly one owner.
  • No circular dependencies — if A depends on B and B depends on A, the engine rejects it.

Next