How to collect user input without follow up intents in Dialogflow ES

First published: Nov 2017 | Last updated: May 2022

Sometimes I see questions like these in the Dialogflow forum.

So, I got one intent working. How can I now “move” the conversation to the next intent?

Answer

In Intent1, declare an output context called contextA. In the next intent you want to fire, use contextA as the input context. You have now chained Intent1 and Intent2 using contextA.

Is that all?

There is quite a bit more. But that’s the basic idea for every intent you are trying to chain into the conversation.

An example

Let us take the example of the follow up intent tutorial, and use it as an example.

You cannot use follow up intents in all scenarios. Learning this technique will help you in such situations. Under the hood, what I am describing here uses the same idea. Also, this technique usually makes it easier to maintain your chatbot.

Add a new intent called addwebsitechatbot and add the following details. Set the output context as await_name and change the lifespan to 1

Now add another intent called userprovidesname and add await_name as the input context and await_email as the output context. The training phrase will be an example name, such as John Smith. You have now “chained” the two intents together as I have described.


About this website

BotFlo1 was created by Aravind Mohanoor as a website which provided training and tools for non-programmers who were2 building Dialogflow chatbots.

This website has now expanded into other topics in Natural Language Processing, including the recent Large Language Models (GPT etc.) with a special focus on helping non-programmers identify and use the right tool for their specific NLP task.

1 BotFlo was previously called MiningBusinessData. That is why you see that name in many videos

2 And still are building Dialogflow chatbots. Dialogflow ES first evolved into Dialogflow CX, and Dialogflow CX itself evolved to add Generative AI features in mid-2023

  • Thanks, how could we got entity “name” from the first intent and use it in response in last intent? in other words, how to move entity values from one intent to another?
    Best Regards.

  • Hi,

    I have 2 intents. “Category” and “Licensing”. In the first intent Category, it will prompt enter “Licensing”, “Sales”, “Tech-Support”. I entered “Licensing”. User prompted saying, “you will be redirected to Licensing soon..” . How I can redirect to “Licensing” intent without user intervention?

    Thanks,
    Anil

  • Great! Thanks for sharing knowledge. What about if my first intent it is using the main console and my second intent it is working with fullfilment, how can I jump in to that?