When you are collecting a set of inputs from the user, you should use a context with a very large lifespan as a sort of a “session variable”. I refer to this as session-vars in many of my videos.
There are three things you should remember when using session variables.
1 You should not add the session-vars to all intents
For example, suppose you collect a set of inputs.
You will add the session-vars as output context to the first intent which collects a single input value.
And once you are done collecting the relevant information, you will send the data across to a webhook to process the collected data.
2 You should add a session-vars to all intents which “start” collecting data
For example, in the chart above, the intent where user says “I want to book a flight” is the starting point of that conversation flow. So it should have session-vars set as the output context.
3 Remember to clear session vars after all input is collected
In other words, in the image above, after the data is sent to the webhook, be sure to clear the session-vars lifespan to zero. This will help if user tries to reinitiate the whole flow (otherwise your old values may interfere with the new ones)
I show an example of this in my quickstart template which explains the “Start Over” patten.
4 Use different variable names if you are collecting different values of the same data type
For example, in the chart above you will collect two different dates – one for departure date and one for return date.
Make sure you use different params for these dates inside your intent. Otherwise the second value will overwrite the first value.
If you make sure you follow these guidelines, you will be able to use the session-vars context without much difficulty.
This website contains affiliate links. See the disclosure page for more details.
Check out my free YouTube courses Dialogflow CX Beginner Tutorial Dialogflow ES vs CX using a Decision Tree Bot Intro to NLU for technical non-programmers Better Dialogflow ES Bots Using the CTFS Framework Search the autogenerated transcripts of all my YouTube videos
"The magic key I needed as a non-programmer" The custom payload generator was the magic key I needed (as a non-programmer) to build a good demo with rich responses in DialogFlow Messenger. I've only used it for 30 minutes and am thrilled. I've spent hours trying to figure out some of the intricacies of DialogFlow on my own. Over and over, I kept coming back to Aravind's tutorials available on-line. I trust the other functionalities I learn to use in the app will save me additional time and heartburn. - Kathleen R Cofounder, gathrHealth