Skip to content

Scenarios

These pages show how Formulon fits into concrete workflows. Each scenario chooses a different runtime — pick the one closest to your deployment, then read the matching Runtime page for setup details.

Start with a real workbook

After the one-formula quick start, test one representative workbook as early as possible. Spreadsheet engines fail or succeed on workbook details, not only on isolated formulas.

ScenarioRuntimeGoal
Browser workbook uploadWASMRecalculate a user-uploaded .xlsx without sending it to a server
Node service recalculationNative Node / WASMRecalculate uploaded or internally generated workbooks behind an API
Python batch recalculationPythonRecalculate reports or models in jobs and notebooks
CI workbook regressionCLIDetect formula and value drift in automated checks
Agent workbook editingMCPLet AI agents open, edit, recalculate, and save .xlsx through formulon-mcp

What the scenarios share

Every scenario follows the same load → mutate → recalc → save lifecycle described in Workbook lifecycle. What changes between them is:

  • where the bytes come from (File, file system, IO stream, MCP tool input),
  • where the bytes go (save() result, written file, returned bytes field),
  • which runtime owns memory and IO,
  • how errors cross the host boundary.

Compatibility gate

Before adopting any scenario, inspect the workbook's formulas and decide how to handle external-service functions. Formulon has unconditional local implementations for 505 / 522 catalogued names; 2 more (CELL, INFO) also execute locally but depend on workbook/host state, and the remaining 15 are deliberate unavailable service stubs such as COPILOT, PY, IMAGE, WEBSERVICE, STOCKHISTORY, RTD, and CUBE connection functions. Treat those as product decisions: reject the workbook, show a compatibility warning, or route it to an Excel-backed workflow.

For runtime-specific setup, see Runtimes. For the engine-side flow, see Workbook lifecycle.