Skip to content

Scenarios workflow

A scenario is a copy of your live plan that you can break without consequence. Hire 30 engineers in Lisbon. Fire half of QA. Re-tag every project's cost centre. None of it touches live data until you merge it. And if you change your mind, you delete the scenario and the changes go with it.

This is what gives Flowstate the answer to "what if". It is also what makes it safe enough to hand to a finance partner during planning.

Why scenarios

The problem with planning in a live system is that everyone using it sees your half-formed thinking. The problem with planning in spreadsheets is that you lose every link back to the underlying data — costs, allocations, exchange rates, overheads. Scenarios fix both. They are a real branch of your plan, with the same model, the same calculations, the same screens. They just are not the truth yet.

Read Live data vs scenarios for the data-model deep dive. This page is the workflow.

Lifecycle

DRAFT  ──submit──▶  PENDING_APPROVAL  ──approve──▶  ACTIVE  ──merge──▶  ARCHIVED
                                       └──reject──▶  REJECTED
StatusWhat it means
DRAFTEditable by the owner. Not yet visible to approvers.
PENDING_APPROVALSubmitted for review. Assignees see it in their inbox.
ACTIVEApproved. Ready to merge.
REJECTEDSent back with a reason. Owner can revise and re-submit.
ARCHIVEDMerged or shelved. Read-only history.

Create a scenario

Scenarios → New scenario (or hit the button on the scenario list page). Give it a title — "Q3 hiring plan", "EMEA restructure", "FY26 budget cut" — pick whether to start from a clean copy or fork an existing scenario, and you are in.

The URL changes to /plan/<scenarioId>/.... From this point every page in the app — roster, allocations, roadmap, analytics — renders the merged view: live data with your scenario's changes layered on top.

Make changes

Just use the app. Add an employee, change an allocation, retag a project, edit a salary. Every mutation inside a scenario writes to a Plan* table rather than the Live* source. Some examples:

  • Edit an existing employee → a scenario-only edit attached to the live record.
  • Add a new vacancy → a scenario-only vacancy that doesn't exist in live data.
  • Delete a team → a scenario-only delete marker; the live team stays put until merge.

The change list (visible from the scenario header) shows every change you have made, grouped by entity type. You can roll back individual changes from there.

Submit for approval

When you are ready, Submit for review. Pick assignees — typically a CFO, a CTO, or both — add an optional note, and the scenario moves to PENDING_APPROVAL. Assignees get an inbox notification.

Approvers see the same scenario URL you do. They can compare it side-by-side with another scenario (including against live), drill into individual changes, and approve or reject with a reason.

Merge

Approved scenarios show a Merge button. Merging walks every change in the scenario and applies it to live data — modifications overwrite, additions insert, deletes remove. The whole merge is transactional; if any change fails (say, a referential conflict because someone deleted a team out from under your scenario), the whole merge rolls back and the scenario stays unchanged.

A merge log records what was applied, by whom, when. The scenario moves to ARCHIVED and becomes read-only.

WARNING

Merging is destructive in the literal sense — it changes live data. There is no "unmerge" button. To undo a merge, create a new scenario, make the inverse changes, and merge that. The merge log gives you the diff you need to reverse.

Revert and discard

Anything goes wrong before merge — use Revert to drop all the scenario's changes and start fresh, or Delete scenario to bin it entirely. Both are reversible only via backup, so use the right one for the job.

Programmatic access

Every step of this workflow is exposed via the GraphQL API and reflected in the REST Scenarios API. The MCP tools (create_scenario, list_scenarios) let you drive scenarios from Claude or ChatGPT — useful for "model a 10% cost reduction across engineering" prompts.

Where to go next

Flowstate Documentation