# Versioning Overview

The **Versioning system** in Zaia Endless allows you to safely update your Agents and related components using a **Draft environment**, without affecting what is currently running in production.

This ensures safe iteration, proper testing, and controlled releases.

***

### 🔄 What is Versioned

Versioning applies to **configuration entities** — everything that defines how your Agent behaves:

* Agents
* Squads
* Tools
* MCPs
* Voices
* Components
* Tasks

These elements can be edited safely in Draft and only affect production after a **Deploy**.

***

### 🚫 What is NOT Versioned

Some parts of the platform are always live and are **not affected by versioning**:

#### Operational Data

* Channels
* Conversations / Chats
* Tickets
* Tags
* Executions

#### Data & Storage

* Knowledge Bases
* Tables / Datagrid

#### System Configuration

* Users and Workspaces
* Connections
* Providers
* API Keys
* Billing / Subscription

***

#### 📌 Key Implication

> Versioning changes **behavior**, not **data**.

Deploying or rolling back will NOT modify:

* Conversation history
* CRM records
* Stored data

***

### 🔎 Core Concepts

#### Draft

A private environment where you can:

* Edit Agents and all versioned components
* Test changes safely using the **Internal Chat**
* Iterate without impacting real users

***

#### Production

The version currently active in the platform.

It is used in:

* Channels (WhatsApp, Instagram, Widget, API)
* CRM conversations
* All live user interactions

Only changes that are **deployed** affect Production.

***

#### History

All deployed versions are stored as history:

* Identified as versions (v1, v2, v3…)
* Used for comparison and rollback

***

### 🧭 How to Use Versioning

The recommended workflow is simple and safe:

***

#### ✏️ Editing your Agent

Whenever you want to make changes:

1. Work in the **Draft** version
2. Make all necessary updates (Agent, Tools, etc.)
3. Test using the **Internal Chat**

> These changes do not affect production until you publish.

***

#### 🚀 Publishing changes

When you are satisfied:

1. Click **Publish**
2. Review the changes (Diff)
3. Confirm the Deploy

After publishing:

* The new version goes live
* All channels use the updated behavior

***

#### 🔄 Rolling back to a previous version

If needed:

1. Go to **Version History**
2. Select a previous version
3. Click **Edit this version** (Rollback)
4. Confirm

What happens:

* The current Draft is replaced
* You can review the version
* Then publish again to apply it to production

***

### 🧪 Testing in Draft

Before publishing, you can test using the **Internal Chat**:

* Validate responses
* Test tools and flows
* Simulate real interactions

***

### ✅ Key Takeaway

Versioning allows you to:

* Build safely in Draft
* Test before going live
* Deploy with confidence
* Revert changes when needed

All without impacting your live users or data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zaia.app/versioning/versioning-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
