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

# Campaign versions

> Every saved change to a campaign's script, voice, background, tactics or schedule becomes a version you can view, compare results by, and restore.

A campaign page keeps a history of every save under **Versions**. Each version is a snapshot of everything that affects a call. That means the script and opening line, the voice and its tuning, the background sound and volume, the tactics, the schedule and the attacker. The next call uses the version marked **Live**.

> [!NOTE]
>
> Versions are listed newest first, up to 25. Nothing is ever deleted when you restore.

## Before you start

* A campaign you have saved at least one change to. The panel says: "No saved versions yet. Saving a change to the attacker, script, voice, background, tactics or schedule creates the first one."

## What makes a version

| Action | Makes a version |
| - | - |
| **Save changes** on the campaign's edit page | Yes |
| Saving a card on the campaign page, such as the script, the voice or the background | Yes |
| **Accept and save as new version** after a [rehearsal](https://docs.deepblocker.ai/vishing/campaigns/rehearse.md) | Yes |
| **Restore** | Yes, a new one with the old content |

The people, the campaign name and the note are not part of a version.

## Steps

**1. Find the panel**

Open **Red Team**, **Campaigns**, then the campaign. Scroll to the card titled **Versions**. Each entry shows the time it was saved, a **Live** badge on the one in use, a line saying what changed, and a note when one was given.

**2. View a version**

Click **View**. The entry opens to show the **Opening line**, the full **Script**, the background and its volume, and the tactics. Click **Hide** to close it.

**3. Restore an older one**

Click **Restore** on any version that is not live. A window asks: "Restore the version from \[time]? This becomes a new version and the next call uses it. Nothing is deleted." Confirm. The message reads: "Restored. The next call will use this version."

**Restore** is only offered while the campaign can still be edited.

## Results by version

When a campaign has results from more than one version, the results card adds **Show results from** with **All versions** and one entry per version. The results table adds a **Version** column, for example **v3** or **v3 (live)**. See [Read your results](https://docs.deepblocker.ai/vishing/results/overview.md).

## What happens next

A campaign that has run, or is running, keeps its versions read-only. The panel says: "This campaign has run or is running, so versions here are read-only. Use Re-run to copy one into a new, editable draft." See [Pause, resume, stop everything](https://docs.deepblocker.ai/vishing/controls.md) for **Run again**.

## Problems

> [accordion] Restore is missing
>
> The campaign has run or is running, or that version is already live. Use **Run again** to get an editable draft, then restore there.

> [accordion] The script shows Loading... for a long time
>
> Full scripts load one at a time when opened. Click **Hide**, then **View** again.

> [accordion] A call shows Earlier run (no version) in the results filter
>
> That call was made before versioning existed for this campaign. It stays in the results; it just has no version to compare.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.