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

ActionChanges draftCreates versionEnrolls subscribersChanges existing runs
Save draftYesNoNoNo
PublishNo additional editYesOnly if workflow is activeNo
ActivateNoNoYes, from the published versionNo
PauseNoNoStops new execution until reactivatedExisting state is preserved
ArchiveNoNoNoStops 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.

Workflow toolbar with Publish and the actions menu for runs, tests, settings, and version history

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.

Workflow version history with immutable published versions

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

  1. Review current workflow status and published version.
  2. Edit and save the complete draft.
  3. Run a dry test on every route.
  4. Test-render every changed email.
  5. Compare draft and published version.
  6. Publish the new version.
  7. Confirm status separately.
  8. 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.