Versioning with Import/Export

As you develop your agent, you may want to keep various development and production versions separate. The export and import functionality can be used to create different "versions" of your agent.

As the developer, you should have two Dialogflow agents:

  • A "production" agent, which is the live agent your users interact with. Registered, deployed, and available to the masses.
  • A "development" agent, where you test out what you're working on.

Your general workflow should be, as follows:

  1. When your first version is finalized and live, click on the gear icon and then the Export and Import tab. Once there, click the EXPORT AS ZIP button.
  2. Create a new, empty agent. This will serve as your "development" agent, so you may want to include that in the naming.
  3. Click on the gear icon, the Export and Import tab, and the RESTORE FROM ZIP button. Choose the ZIP file you just exported.
  4. From here, make the changes you want, test and confirm they're working as intended, and iterate until you're ready to submit your new version.
  5. When you're ready, export your "development" agent and then import it to your "production" agent, using the RESTORE FROM ZIP button.

Once your "production" agent is updated, all saved changes in Dialogflow will be reflected in your agent. If you're using the Actions on Google Developer Console, you'll need to deploy your latest version. Read this section on versioning.

When using the Actions on Google Developer Console, you should be aware of a few specific cases that may disrupt our user's experience with your agent. If one of these cases were to crop up, it would be between when you submit your updated agent and when your updated agent is approved:

  • If your updated agent removes a previously supported triggering intent, make sure you have a fallback response for that intent, like "This functionality is no longer supported." Users will still be able to invoke that intent until the new version goes live and the old version is unpublished.
  • If your updated agent has a new triggering intent, it may not be functional until the agent is approved.
  • If your updated agent has changes to an existing triggering intent, it may result in inconsistent behavior. If possible, try to avoid altering existing triggering intents.