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

In this article, I will explain how to use follow up intents to collect user input in Dialogflow ES.

Let us take the example of a simple lead capture chatbot. It captures the details of visitors who are interested in adding a chatbot to their website.

We would like to get the following inputs:

  • Name
  • Email
  • Website URL

Here is how the bot will work:

First we will add an intent where the user says they are interested in adding a chatbot to their website

Add an intent called add.website.chatbot

Click on “Add follow up intent” next to add.website.chatbot intent

Choose custom follow up intent

Change the intent name to getusername. In the training phrase, type some name like John Smith. You will see that Dialogflow ES will automatically annotate the name and mark it as a sys.person entity

In the Text Response block, ask for the user’s email address (Note, this is not shown in the image)

Now add a custom followup intent under getusername

Call this intent getemail and use the training phrase to input an email address.

Dialogflow will NOT automatically annotate email addresses, so you will have to select the training phrase and choose sys.email from the popup window.

In the response section, ask for the user’s website URL

Add a custom follow up intent under getemail

Change the intent name to geturl.

Add a URL in the training phrase, and Dialogflow ES will automatically annotate it.

In the response, add a thank you message.

Now test the bot using the Dialogflow Messenger integration and you should see the expected results.