> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anyreach.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Versioning and Publishing

> How workflow versioning work

Versioning is a fundamental feature of the workflow builder that allows you to preserve snapshots of your workflows. By versioning, you can safely make changes and iterate without affecting existing published versions—ensuring smooth, controlled updates and rollbacks as needed.

## The version model

### Version Types

* **Draft** — The editable, working version where changes are made before release.
* **Published** — A read-only snapshot: locked, non-editable, and available for execution, but triggers do not fire by default.
* **Live** — A published version explicitly marked as "Live". Only one version can be live at a time, and it is the only version whose triggers are active and will run automatically.

> Only a **Published** version can be promoted to **Live**.

```
v1 (published, non-editable)
v2 (live, non-editable)      ◄── live version that enables triggers
v3 (draft, editable)      ◄── you're editing this
```

A workflow always has exactly one **live** version and any number of **published** & **draft** versions.

Whenever you create a new version, the current state of the workflow is duplicated as a fresh **Draft** version. This allows you to continue making changes safely, while all previously deployed versions remain locked and unaffected.

## Publishing a workflow

When your draft is ready, click the **Publish** icon in the top bar to create a published snapshot of your workflow.

<Frame>
  <img src="https://mintcdn.com/anyreach/cL_4dHXfh3BdRZu0/images/workflows/publish.png?fit=max&auto=format&n=cL_4dHXfh3BdRZu0&q=85&s=bd6c04daefce0e5d5a994d7fd6da2898" alt="Builder top bar showing publish button" width="746" height="184" data-path="images/workflows/publish.png" />
</Frame>

After publishing, the version badge in the top bar will show your newly published version (for example, **v3**).

## Making a version Live

Once a version is published, you can activate it by clicking the **Go Live** button. Marking a version as **Live** promotes it as the active workflow.

<Frame>
  <img src="https://mintcdn.com/anyreach/cL_4dHXfh3BdRZu0/images/workflows/live.png?fit=max&auto=format&n=cL_4dHXfh3BdRZu0&q=85&s=1d7caf594d62eeed0a781d719c6d6fc3" alt="Builder top bar showing live button" width="666" height="180" data-path="images/workflows/live.png" />
</Frame>

**When you set a version to Live:**

* All triggers defined in that version become active.
* Triggers immediately start processing their assigned events.
* Any previously Live version is deactivated to ensure only one active workflow version at a time.

## Deactivating a Live version

To deactivate a **Live** version, click the **Go Offline** button in the top bar. This action revokes the version’s **Live** status, returning it to a **Published** (read-only, non-triggering) state.

<Frame>
  <img src="https://mintcdn.com/anyreach/cL_4dHXfh3BdRZu0/images/workflows/offline.png?fit=max&auto=format&n=cL_4dHXfh3BdRZu0&q=85&s=24dafaf049b71100799c2702ab4eff26" alt="Builder top bar showing offline button" width="688" height="176" data-path="images/workflows/offline.png" />
</Frame>

**What happens when you take a version offline:**

* All triggers in that version are immediately deactivated and will stop receiving events.
* The version remains available as a published snapshot, but is no longer active.
* You can set another published version as Live whenever ready.

This ensures only one version ever has active triggers, letting you safely pause automated workflow execution as needed.

## What is versioned

Everything inside the workflow graph is versioned:

* The node graph (steps and connections)
* Each step's configuration
* Step names and IDs

What is **not** versioned:

* The workflow name
* The Private/Public toggle state
