I got this comment on YouTube recently:
please make a tutorial about parameters on dialog flow cx. its really confusing compare to dialogflow ES.
While the comment is true, there are three things you can do to make it easier to learn how CX parameters work.
Learn the basics of ES first
I have already mentioned this before, but I think people should first learn ES before learning CX. Jumping right into CX is quite similar to trying to run before learning how to walk. Plus, ES is practically free, so you can do all the mistakes you want while learning.
Understand ES limitations
The design of Dialogflow CX is intended to rectify the problems you face in ES when building complex conversation flows. And you don’t have to take my word for it. That’s what a Google employee pointed out on Twitter.
Ask if you really need a Dialogflow CX bot
Some people want to learn CX just to put it on some kind of checklist on their list of skills. Let us suppose you are not that person.
In that case, you should first build your bot in ES and see how far you can get. Then you can decide whether you need to use CX.
In my Dialogflow CX Beginner Tutorial, I explain the criteria for deciding if you need a Dialogflow CX bot.
Tips to learn how to use parameters in CX
Once you do these three things, you can actually understand CX parameters much more easily.
For example, obviously Dialogflow ES slot filling is a mess, so the form parameters introduced in CX provides a nice way to fix the issues while keeping the core functionality working well. If you never understood why I asked my clients to stay away from slot filling in ES, the way form parameters work in CX will probably make very little sense.
You can use input and output contexts to retain information provided by the user. But these contexts also made it hard to create fine grained conversations (such as a Quiz bot) because you always had to be mindful of the problems caused by a large lifespan. CX has completely eliminated this problem by getting rid of contexts and using session parameters which can “store” input from practically any point in the conversation.
I am not saying it is impossible to make beginner level tutorials for this topic. I am just saying that it will take a lot of time and effort to produce them if they actually need to be at the beginner level. Instead of waiting for these tutorials to show up, you would probably be better off following these steps:
1 Learn why slot filling is a problem in ES, and think of ways to design your conversation to avoid it. This will give you a LOT of insight into how ES contexts work.
2 Understand the challenges of using a large context lifespan, and think of ways to design your conversation using a context lifespan of 1. Again, this will give you a lot of insights into how you can store information provided by the user throughout the whole conversation.
4 By now, you are already very clear on what is “missing” in ES. Now import all the prebuilt agents in Dialogflow CX and start testing them one by one, and CX parameters will start to make a lot more sense.
Unfortunately, I don’t think people will follow my suggestions. 🙂
“OK, thanks for the lecture, Aravind. Now can you just point me to a 1000 words or less article where I can go and copy/paste the code?” ¯\_(ツ)_/¯
- Actions Builder vs Dialogflow CX
- 5+ ways Dialogflow CX is better than Dialogflow ES
- How to bulk upload training phrases for Dialogflow Messenger
- Dialogflow CX vs ES: First look
- How to send rich responses from webhook to Dialogflow Messenger
- Dialogflow CX now generally available
- Understanding Dialogflow CX Parameters
- Dialogflow CX Missing Features
- Dialogflow Messenger integration for CX: First look
- Dialogflow Conversation Analytics Tips