# Pathway Versioning

**Pathway Versioning** allows workspaces to maintain multiple versions of a pathway, enabling safe development, testing, and publishing workflows without impacting the live production pathway.

### Overview

With pathway versioning, users can:

* Create new versions of a pathway for development and testing.
* Test changes in non-production environments using the **Start Call** button.
* Promote a tested version to **production** once confirmed.

This ensures that production pathways remain stable while allowing experimentation and iteration.

<figure><img src="/files/vbWbZBFSPKNjrn3DcPKX" alt=""><figcaption></figcaption></figure>

### Permissions

Pathway versioning actions are controlled by the following permissions:

* **`Pathway Publish Access`** – Allows a user to publish new versions of a pathway.
* **`Settings Full Access`** – Allows a user to create new versions of a pathway, but **does not allow publishing** unless the user also has Pathway Publish Access.

#### Default Access

By default, the following roles have these permissions:

* **Owner** – Settings Full Access + Pathway Publish Access
* **Admin** – Settings Full Access + Pathway Publish Access

Other roles can be granted these permissions as needed.

> Note: Users with only Settings Full Access can create versions of pathways but cannot publish them without Pathway Publish Access.

### Key Rules

1. **Production Pathway Enforcement**
   * All non-test calls go to the **production pathway** (VOIP calls, widget calls, text calls, WhatsApp calls, etc.).
   * Only calls started via the **Start Call** button in the top right can use non-production pathways.
2. **Immutable Production Pathway**
   * The current production pathway **cannot be edited** directly.
   * Past production pathways also **cannot be edited** directly to ensure safe fallback.&#x20;
   * To make changes, create a new version, edit it, and publish it to production.
3. **Single Production Pathway per Workspace**
   * Each workspace only have **one production pathway** at a time.
   * The current production pathway is highlighted in the pathway selection dropdown, and shown in the General configuration section.&#x20;

<figure><img src="/files/smNScrEZlVYMsZQqn01J" alt=""><figcaption></figcaption></figure>

### Enabling Pathway Versioning

1. Navigate to **Agent Configuration → General**.
2. Toggle **Enable Pathway Versioning**. (Default: OFF)
3. When enabled:
   * The current pathway is promoted to **production**.
   * A list of available pathway versions is displayed. Selecting a version in this dropdown will publish it to production.
   * The **Publish Pathway** action is available also in the **Pathway tab**.

Before

<figure><img src="/files/KXapgJZzSv7XHrZbmemS" alt=""><figcaption></figcaption></figure>

After&#x20;

<figure><img src="/files/rDKWpj0x1xRjPWgvEF20" alt=""><figcaption></figcaption></figure>

### Managing Pathway Versions

* **Creating a New Version**
  * Users can create a new pathway version from the **currently selected pathway**.
  * A **version name** must be provided.
  * Each pathway under the workspace must have a **unique** version name.

<figure><img src="/files/3dEYUzH4xeTwb3IHymTF" alt=""><figcaption></figcaption></figure>

* **Editing & Publishing**
  * Previously published pathways cannot be edited but can be copied to create a new version or published again.
  * Publishing a pathway automatically **demotes all other pathways** to ensure exactly **one production pathway** at all times.&#x20;
* **Switching Between Versions**

  Using the dropdown menu which appears next to the "Start Call" button in the header, users can:

  * View the **currently selected pathway version**.
  * **Switch between available versions** for modification.
  * Select which version should be used when starting a test call.

### Disabling Pathway Versioning

Users can disable pathway versioning at any time from **Agent Configuration → General**.

When versioning is turned off:

* The **current production pathway** becomes the active pathway.
* This pathway is now **fully editable**.
* All other pathway versions are **retained but hidden**.
* Hidden versions will become visible again if pathway versioning is re-enabled.

> Note: Disabling versioning does **not delete** any existing pathway versions—it only hides them from the UI.

### Testing Pathways

* Non-production versions can be tested by starting a call from the **Start Call** button in the header.
* The **currently selected pathway version** will be used for test calls.&#x20;

### Benefits

* Safe development of new pathways without affecting production.
* Easy testing workflow for QA and agents.
* Clear version control and promotion to production.


---

# 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://dataqueue.gitbook.io/voicehub-docs/agent-design-and-usage/pathway-versioning.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.
