# Versioning your project (Dialogflow)

Versioning your Dialogflow project gives you improved control over your release
process and your users' experience. Before submitting your project for review,
you should create an immutable version of your Dialogflow agent.
This approach gives you to ability to create multiple versions of
your Dialogflow agent, publish them to separate environments, and roll back to
previous versions if necessary.

> [!NOTE]
> **Note:** Dialogflow versioning is enabled automatically for Actions when you submit Actions that you built with Dialogflow through the Actions console.

> [!NOTE]
> **Note:** New Action submissions create a snapshot of your Dialogflow agent at the time of submission. Future edits to your Dialogflow agent do not impact this snapshot (or *version*). For edits to go live, you must submit your draft for alpha, beta, or production release in the Actions Console.

For additional information about versioning your Dialogflow project,
see [Dialogflow versioning](https://cloud.google.com/dialogflow/docs/agents-versions).

### Dialogflow versioning FAQ

**How does Dialogflow versioning impact my existing Actions?**

Existing Actions submitted to the Actions Console prior to May 8, 2018 are not
impacted. This means that edits you make to your Dialogflow agent
continue to be reflected in the existing Action. If the Action is already
published, the edits continue to be reflected live.

**Will there be two versions I need to maintain in Action on Google and
Dialogflow?**

No, you have only one version as shown in your **Manage releases** page.
It is unified across Actions on Google and Dialogflow. The only difference
is now that we will create a snapshot of your Dialogflow agent at the time
of submission. This snapshot will not be impacted by any future edits you
make to your Dialogflow intents and entities.

**Can I create and deploy Actions on Google versions from the Dialogflow
Console?**

No, you can only do so via the Actions Console.

**In the Dialogflow page I saw that this is available for users who opt-in to
beta, is that applicable for Actions on Google?**

No, the Dialogflow beta program is for Dialogflow agents that are not on
the Actions on Google platform. If you have a Dialogflow agent for the
Actions on Google platform, then it is automatically enabled and not in beta.

**What happens if I enable beta in the Dialogflow Console?**

Doing so does not change Actions on Google projects. If you enable beta,
you see an **Environment** tab in the **Dialogflow Agent** settings.
In that page, you can view (but not edit) the same versions you created
from the Actions Console and load any specific ones into the draft.

**What is the suggested best practice for using alpha/beta/production releases
with Cloud Functions for Firebase?**

Dialogflow's inline editor does not have versioning for [Cloud Functions for Firebase](https://firebase.google.com/docs/functions/).
However, each Dialogflow version points to custom webhook parameters. If you
want to test different server logic with Alpha/Beta releases, we
recommend that you turn off the inline editor, deploy your solutions into two
Cloud Functions and pass those as webhook parameters in Dialogflow.