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

# Drafts, Publishing and Version Pinning

> Edit a running sequence safely: the draft auto-saves, and publishing shows exactly who your change affects before anything moves.

Editing a live campaign used to mean a choice between leaving it alone and risking a mistake on hundreds of leads. It doesn't any more. **Saving and publishing are separate.**

|                    | Live steps                                           | Draft                                             |
| ------------------ | ---------------------------------------------------- | ------------------------------------------------- |
| **Who reads it**   | The engine. Running leads follow it.                 | Only the builder. Nothing in the engine reads it. |
| **How it changes** | **Publish** (for a sequence that has been activated) | Auto-save, a couple of seconds after each change  |

A sequence that has **never been activated** keeps the simple behaviour: **Save** writes the steps directly, because there is nobody to affect.

## The draft

Once you start editing an active sequence, everything goes into a draft.

* It saves on its own a couple of seconds after each change. A local copy is kept in your browser as a fallback if the save fails.
* The top bar shows **Draft saved 10:42 · 3 unpublished changes**.
* **Discard draft** throws the draft away and returns the builder to the published steps.
* Closing the tab mid-edit loses nothing.

**No draft change reaches a live lead before you publish.**

### Two people editing at once

The draft remembers the version it started from. If a teammate publishes while your draft is open, the top bar says so, and publishing shows you what changed before it will overwrite anything. You can then **Review and publish anyway**.

## The publish dialog

**Publish** replaces **Save** on an active sequence (`Ctrl`/`⌘` + `S` still works). Before anything changes, the dialog counts the impact:

> 214 leads in flight. 37 are on or after a step you changed. 12 messages with the old text are already queued.

### Who gets the new version

<AccordionGroup>
  <Accordion title="Everyone who hasn't reached the changed steps yet (default)" icon="users">
    All live leads follow the new steps from where they are. This is how sequences have always worked.
  </Accordion>

  <Accordion title="New leads only" icon="user-plus">
    Leads currently in flight are **pinned** to the version they are on and finish it unchanged. Only leads enrolled from now on use the new one.

    Use this when a change would be confusing mid-conversation — a rewritten follow-up, a new branch, a different offer.
  </Accordion>
</AccordionGroup>

When leads are in flight and you chose the default, the dialog offers three more decisions:

| Situation                                     | Choice                                           |
| --------------------------------------------- | ------------------------------------------------ |
| Messages are already queued with the old text | **Update them too**, or leave them               |
| Leads are waiting on a delay you changed      | **Reschedule N waiting leads**, or leave them    |
| You deleted a step leads are sitting on       | **Skip** them to the next step, or **exit** them |

Add an optional **Note** saying what changed and why. It appears on the versions page.

<Note>
  Publishing validates first. If there are blocking errors, nothing changes for live leads and the dialog tells you what to fix.
</Note>

## Pinned leads and old versions

The **Versions** page shows how many leads are still running on each old version, with **Move these leads to the latest version** when you want to bring them forward.

A pinned lead keeps its own steps everywhere it appears: the lead page, the Inbox attribution line and the queued-actions list all show the version that lead is actually on, not the newest one.

## There is no "restart from top"

Deliberately. Restarting a lead from the first step re-sends every message they already had. To run someone through again, **enrol them again** — that passes through the [enrol preview](/sequences/creating-managing-sequences/launch-and-enroll-leads), which warns you that they were contacted before.

For a lead that failed at a step, use [Retry, Skip or Exit](/sequences/sequence-troubleshooting/recover-failed-leads) instead.

## Related articles

* [Editing a Live Sequence](/sequences/creating-managing-sequences/editing-a-live-sequence)
* [Version History: Compare and Restore](/sequences/creating-managing-sequences/version-history)
* [Recover Failed Leads](/sequences/sequence-troubleshooting/recover-failed-leads)
