Concept
Understanding flow versions, state changes and their management

Shrawani Bhattarai
Shrawani Bhattarai
  • Updated

Navigate Flows details page

Each modification to an activeInsert Definition Here flowInsert Definition Here results in the creation of a new flow version. This versioning system is vital for maintaining the integrity of flows while allowing for ongoing improvements and adaptations. This article explores the nuances of flow versions, version history state changes, and the management options available for each.

The concept of flow versions

Whenever an active flow is edited, a new version is created. This ensures that the original configuration remains intact and available for reference if needed.

The VersionInsert Definition Here history pane within the Flow detailsInsert Definition Here page acts as a logbook, chronicling a version's current state, when the state changed and who changed them (modification attributions).

Each version is clickable, revealing its configuration in the Flow overviewInsert Definition Here pane, allowing Pendula users to understand and compare different iterations of the flow.

Version history navigation

The Version history panel provides several ways to navigate and manage the information:

  • Version selection: Click on any version to view its details and expand its state information
  • Expand/collapse controls: Use arrows to expand or collapse individual sections
  • Ellipses menu: Use the ellipses menu to expand or collapse all sections at once
  • Horizontal expansion: The Version history window can expand horizontally to reveal full information that may be truncated in the default view

Flow version state changes

flow change tracking.png

The Version history pane also tracks state changes for each flow version, and displays who made changes at every stage of a flow's lifecycle. The feature shows "who did what, when" information at the time each change was triggered, making it easier to coordinate work, troubleshoot issues, and maintain change history.

When viewing a flow's version history, you'll see user information (First name and last name when available, login email if not (e.g., "johnny.apple@pendula.com") displayed alongside each state change:

  • Created: Who initially created the version and when
  • Activated: Who activated the version and when
  • Drained: Who initiated draining of the version and when
  • Terminated: Who terminated the version and when
  • Last modified: Who last modified a draft version and when (appears only on draft versions)

Activating new versions

When a flow is activated, the new flow goes live immediately. Activating a new version of a flow sets previous versions to a DrainingInsert Definition Here status. This ensures a seamless transition, allowing active experiencesInsert Definition Here to be completed without disruption.

For a detailed guide on the process, see Editing activated flows

Version management options

Click on any version listed in the Flow version pane to view or manage that particular iteration. Depending on the state of the selected version, the Edit and More options will change to reflect the flow state change command that can be used.

For example, an active version allows for edits, while a draining version does not offer the edit option but may allow duplication or termination. These actions are designed to manage the flow according to its current stage in the lifecycle.

For a detailed guide on flow states, see Manage individual flows in various states

Activity per version

When viewing a particular flow version, all activity shown is for that particular version. The activity summary, and searching of experiences, is filtered to just the version that is being viewed.

To view statistics or search experiences across flow versions, or across specific flows or all flows, we recommend streaming activity via Activity Sync to your data storage solution of choice, and building reports or queries there.

The draining process

Draining is a critical process that occurs when a new flow version is activated. It prevents new experiences from starting in the older version while allowing ongoing experiences to reach their natural termination. The goal is to avoid any abrupt interruptions to the user's journey. During the draining phase, users also have the ability to terminate the version. Termination stops all activity within that flow version immediately.