#Versioning

How versioning works

With versioning you can manage conversational processes in a secure way. Versioning exist for two main reasons:

  1. For auditing purposes, to keep track of major changes in the conversational process

  2. For testing purposes, to allow testing different versions of the chatbot at the same time

Let’s make an example.

You can have version 1 of a conversational process starting with some messages and a new version, version 2 with different starting messages.

⬇️ version 1

⬇️ version 2

Through the versioning system, we can keep track of both versions, make experiments by changing the chatbot messages or the conversational flow, and rollback to any previous version at any time.

Also, we can test any new version, in this example version 2 without necessarily promoting changes to production (version 1).

In addition, every conversational process is available in two environments: UAT (User Acceptability Testing) and Prod (Production). Having two independent environments allows to thoroughly test a conversational process in a dedicated test environment without affecting the production one and safely promote changes to production once happy.

Promotion to production is a feature available for admin users only. This is to minimise the risk of promoting a conversational process by mistake and to give the control to expert platform users only.

Please note that not always UAT and Prod environments are aligned. As in the example below, a project can have version 1 published in UAT and version 2 published in Prod.

How to create a new version

When hovering on any version available in the versioning, a plus (+) icon will appear beside the version box. By clicking this icon, a clone of that version will be created. For example, if I click on the plus (+) icon of version 2, version 3 will be created as a clone of version 2.

When creating a new version, you will be asked to enter a description for the new version, so to help you identify the content of such version.

The description will be available in the version panel when hovering over the version box.

⚠️ Important note Version numbering is sequential and static, which means that in the scenario where I have 4 versions (version 1, version 2, version 3, version 4) and I create a clone of version 2, the new cloned version will be version 5.

How to promote to UAT

In order to promote a version to UAT, hover over the version box and click on the publish button Publish branch in UAT.

How to promote to Production

In order to promote a version to Production, a version must be already published in UAT. To promote such version to Production, similarly to the promotion process described above for UAT, hover over the version box (in this case must be the UAT version box) and click on the publish button.

If you want to promote to Production a version that is not published in UAT, first publish it to UAT and then you will be able to publish it to Production as well.

Being that a version can either be unpublished, published in UAT and published in Production, we have 5 scenarios and potential actions:

  1. Version not published in UAT nor in Prod: Publish branch in UAT

  2. Version published in UAT and not in Prod: Publish branch in Prod

  3. Version published in Prod and not in UAT: No option available

  4. Version published in UAT and in Prod without misalignment between versions: No option available

  5. Version published in UAT and in Prod with misalignment between versions: Update conversation