Workflow Publishing and Versions
Understand draft saves, immutable versions, activation, pausing, and safe updates.
Workflow uses an editable draft and immutable published versions. Saving, publishing, and activating are separate actions with different effects.
Lifecycle at a glance
| Action | Changes draft | Creates version | Enrolls subscribers | Changes existing runs |
|---|---|---|---|---|
| Save draft | Yes | No | No | No |
| Publish | No additional edit | Yes | Only if workflow is active | No |
| Activate | No | No | Yes, from the published version | No |
| Pause | No | No | Stops new execution until reactivated | Existing state is preserved |
| Archive | No | No | No | Stops normal operation while preserving history |
Drafts
The draft contains the complete current graph and workflow settings. You can save it repeatedly without changing the published version or sending anything.
The editor shows when unpublished changes exist. Resolve validation messages before publishing, but use a dry run to verify business behavior as well as graph validity.
Publish a version
Select Publish when the entire draft is ready.

Publishing snapshots the complete definition:
- Steps and edges
- Email campaign references
- Exit mode and rules
- Success goals
- Trigger and branch configuration
The snapshot is immutable. The next publish creates a new version rather than editing the previous one.
Activation behavior
- The first publish can activate a draft workflow.
- Publish without activating creates the version but leaves enrollment off.
- Publishing an active workflow keeps it active.
- Publishing a paused workflow does not silently reactivate it.
- Activation requires an existing published version.
Use publish-without-activation when the version should be reviewed by another person or prepared ahead of a launch date.
Existing runs stay pinned
Every subscriber run stores its workflowVersionId. A run that enrolled on version 3 continues with version 3 even after version 4 is published.
This prevents mid-sequence changes to waits, branches, email references, goals, or exit rules. New eligible enrollments use the newly published version.
Version history
Open Version history to inspect earlier snapshots and compare them with the draft or current publication.

Use version history to answer:
- Which graph did this run execute?
- When did an A/B weighting or goal change?
- Was the latest draft actually published?
- Which email reference belongs to an older running version?
Safe update sequence
- Review current workflow status and published version.
- Edit and save the complete draft.
- Run a dry test on every route.
- Test-render every changed email.
- Compare draft and published version.
- Publish the new version.
- Confirm status separately.
- Inspect the first real runs and timelines.
Pausing versus editing
Editing does not stop an active workflow. If new enrollment must stop during a sensitive change, pause the workflow explicitly, prepare and publish the new version, then reactivate it.
Do not assume pausing rewrites or deletes existing runs. Use run timelines to verify their current state.
Agent safety
Agent and CLI draft configuration is atomic and does not publish or activate. Publishing, status changes, enrollment, deletion, and other consequential actions require a separate explicit decision.
After any agent-built draft, read the workflow back and render every internal email before publishing.