I recently migrated a Dialogflow ES bot on my website to Dialogflow CX. You can interact with the CX bot – it is the demo bot on my website at the moment.
I also checked out the migration guide from Google, and noticed that
a) it would be too hard for non-programmers
b) even for programmers, it would be a black-box migration. That is, if you use the migration tool, you will end up with an incomplete migration, but the process would be so black-box that you might not be able to fill in the gaps on your own
I used Mindomo to migrate the ES bot to CX, and I will explain why it is the easiest way to do this migration.
Mindomo is already a good flowchart tool for Dialogflow ES
If your ES bot has multiple turns, you will soon notice that you cannot use the followup intent feature in all situations.
And using Mindomo to create your Dialogflow flowchart will allow you to easily create your multi-turn ES chatbot.
You can copy/paste the intent names directly
Once you design your Mindomo flowchart and convert it into a ES bot, you can simply use the same intent names (and corresponding intent phrases) in your CX bot.
Context names becomes page names
The context names will become page names in your CX bot.
Define intent transition routes directly from the flowchart
Once you have created the intents and the pages, you can now use the Mindomo flowchart itself to create Intent Transition Routes.
You can migrate the bot step by step by adding icons into “intents”
Inside each Mindomo intent, you can add a Completed Icon (like the Green one I use, but you can use any icon you want) and then check off the intent as soon as you migrate it over to ES.
You can zoom-out and confirm that you have migrated all the intents. Once all the intents in your Mindomo flowchart have been marked with the “Done” checkbox icon, your ES bot has been migrated over to CX.
Test some happy paths
Write some test scripts for your ES bot and then test some happy paths to see if they still work as expected in your CX bot. Happy paths are flows where the user utterance exactly matches one of the training phrases at every step. This way, you know for sure that your ES bot’s flow has been properly migrated to CX.
Unlike ES, CX also allows you to save these as Test Cases which you can run so you can ensure that your updates did not break your bot’s previous behavior.
What if you did not create a flowchart, but your ES bot is very complex?
This is a somewhat tricky scenario, because creating a flowchart based on an existing ES bot can be quite challenging.
I would still recommend you to do it if you have some bandwidth especially because it will force you to think about your bot’s flow before you do the eventual migration. This might help you think of good ways to reduce your bot’s complexity.
There are actually a few more things to consider.
Since Dialogflow CX allows you to reuse intents, you might want to see if you can reuse old intents instead of literally creating an intent for each node in the flowchart.
Also, you must keep your flowchart and your ES chatbot in sync. The best way to do this is to make the change in the flowchart first, and then make the same change in your ES bot.
If you decide to go for a paid Mindomo account (the free account allows you to create 3 mind maps), it would also be a good idea to create a new flowchart for each version of the bot you create. This makes it easier to go back and see what has changed.