Version History
Every workflow save creates an immutable version. Browse history, compare diffs, restore previous versions, and understand which version is active in each environment.
FlowOS never overwrites a workflow version. Every time you save a draft a new version is appended. The Version History page at /workflows/[id]/versions shows the complete timeline with author, timestamp, and change summary.
Version States
| State | Description |
|---|---|
| draft | Saved but not yet deployed. Only one draft version exists per workflow at a time. |
| active | The version currently handling new triggers in an environment. There is one active version per environment. |
| superseded | Was previously active; replaced when a newer version was deployed. Running instances continue until they complete. |
| archived | Manually archived. Still viewable in history but cannot be re-activated without restoring first. |
Diff View
Select any two versions on the history page and click Compare. The diff view shows:
- •Nodes added/removed/modified — shown in green/red/yellow with the changed properties highlighted.
- •Edge changes — new connections, removed connections, condition expression changes.
- •Trigger changes — type, table, conditions before/after.
- •Metadata changes — name, description, tags.
Restoring a Version
On the version history page, click a version row → Restore. This overwrites the workflow's live definition (name, nodes, edges, trigger) with the selected version's snapshot. Historical version records themselves are never mutated, but restoring does not create a new version entry.
Retention Limits
- •Default: last 50 versions retained.
- •Increase to 200 on the Enterprise plan.
- •Active versions in any environment are never pruned regardless of the limit.
- •Manually archive a version to permanently exclude it from auto-pruning.
API
/api/workflows/:id/versionsSnapshot the workflow's current definition as a new version.
/api/workflows/:id/versionsList all versions for a workflow (id, version number, label, createdAt).
/api/workflows/:id/versions/:versionId/restoreOverwrite the live workflow definition with a version's snapshot.