Dialogflow ES Quickstart Templates

Current Status
Not Enrolled
Price
Free
Get Started
Have a question about this course? Ask here | Check out course discounts and promotions

This course provides you a list of quickstart templates for Dialogflow ES.

These are small, self contained Dialogflow ES agents which are intended for a very specific task.

My recommendation is to

a) read the tutorial for each template

b) try to implement it yourself inside your Dialogflow console

c) if you get stuck, download the ES agent ZIP file from the lesson and try again

Course Preview

Note: ✅ indicates a sample lesson. Except for sample lessons, preview links will only work after you enroll in the course

Total video duration: This course does not have any videos

Thumbnail Excerpt
Text Lesson
How to export and import Dialogflow ES agent ZIP file

Dialogflow ES provides the option to export your entire Dialogflow ES agent as a ZIP file. How to Export Dialogflow ES agent Go to Settings by clicking on the Gear icon next to the name of the agent. Choose “Export and Import” tab and click on the “Export as ZIP” button to export the agent as a ZIP file. How to Import Dialogflow ES agent ZIP file As you can see, you can also use the same tab to import the Dialogflow ES agent ZIP file. There are two options here: “Restore from ZIP” will wipe out everything in the current agent and fully overwrite it using the ZIP file “Import from ZIP” will do a selective import of only the stuff which is different from the current agent.
Text Lesson
Dialogflow Python webhook tutorial

One of the things that I have mentioned before is that you need to have a programmer on your team if you would like to build a non-trivial Dialogflow bot. At the same time, all Dialogflow bot makers would still benefit from understanding the basics of webhooks. This tutorial will be helpful if you are technical, but not a programmer. I will explain just enough about Dialogflow webhooks to make you dangerous. 🙂 If you are a programmer, this guide will still be helpful if you are new to Dialogflow.
Text Lesson
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.
Text Lesson
How to collect user input without follow up intents in Dialogflow ES

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.
Text Lesson
How to mimic Dialogflow CX session variables in Dialogflow ES

In the previous article I explained how you can mimic the behavior of follow up intents to move to the next intent. One disadvantage of this approach is that you cannot access the information collected from 2 or more steps prior in the current response. The way around this is to use the concept of session variables. What are session variables? In the entry intent (that is one which does not have an input context), add an output context which has a very large lifespan, like 50 or 100.
Text Lesson
Naming conventions for Dialogflow ES intents and contexts

Do you capture user input in your chatbot? For example, do you ask them to provide their name, or email, or other information? I have recently started using the following convention in the bots I am building (as well as advising on). Suppose you have an intent which should get user’s email address. You can, of course, name it “EmailAddress”, but that isn’t very obvious. “Obvious to whom?”, you might ask. Where do you use it? The key, of course, is where you use the intent name.
Text Lesson
Get your DialogFlow agent to initiate the conversation before user types a message

First published: Aug 2017 | Last Updated: May 2022 So let us understand the question: When you work with Dialogflow you notice that it follows the “user types something -> agent replies with an answer” sequence. Suppose you wish to get the agent to say something before the user types anything, how do you do it? Example In the example bot, the message appears in the chat window BEFORE the user types a message In my CourseBot (seen above), I initiate the conversation by using the same ideas described on this page.
Text Lesson
How to save user input to an Airtable database in Dialogflow ES

In this tutorial, I will explain how you can save the data you collected from the lead capture bot and save it to Airtable. Why Airtable? Airtable is the best low code database for non-programmers who are building Dialogflow chatbots In the user.provides.url intent, enable the “Enable webhook call for this intent” toggle switch at the bottom of the intent. This is the Python code you will use in the webhook. If you are not clear on how to get started with Python for Dialogflow, check out the resources below.
Text Lesson
How to use slot filling in Dialogflow ES

In this article, I will explain how you can use slot filling to get a list of user inputs in Dialogflow ES. Before we go further, a couple of things to note: I usually avoid slot filling in Dialogflow ES If are quite sure you need to use slot filling, it is best to go with Dialogflow CX This will be one of the canonical slot filling examples: booking a flight ticket We need the following pieces of information From To Departure date Return date Flight class Number of passengers
Text Lesson
How to confirm or update user input in Dialogflow ES

One of the questions people ask is the following: After user provides some input, I would like to either confirm the input or allow them to update it Let us use the slot filling chatbot as an example. Once the user provides all the input, we were only displaying the list to the user. Add the following output contexts to the book.flight intent await_confirmation with a lifespan of 1 session-vars with a lifespan of 50 And also ask the user to confirm the inputs in the response.
Text Lesson
How to use webhook for slot filling in Dialogflow ES

While the slot filling feature in Dialogflow ES makes for a very good demo, in practice it is really hard to use. One option is to use webhooks to assist your slot filling. This will give you the best of both the worlds – you allow Dialogflow ES to extract maximum possible relevant information from the user’s first sentence. At the same time, you will exit the slot filling immediately after the first sentence by using follow up events. This helps you avoid the slot filling loop and gives you more fine grained control of your conversation flow.
Text Lesson
How to use list and composite entities in Dialogflow ES

I will explain how to use list and composite entities in the article. Suppose you sell three products – KitKat, Snickers and Twix. The user can place an order where they can ask for any quantity of each type. E.g. “I would like 3 Snickers, 1 Twix and 2 Kitkat” Is there a way to get this input in Dialogflow? The list and composite entities can help. Declare the chocolate entity. Next use the chocolate entity to create an item entity. As you can see the item entity is a “composite” entity, meaning it combines two entities – a number (for quantity) and the chocolate entity In the Default Welcome intent, add await_order as the output context Add another intent called provides.order Notice the following: when you provide the training phrase, Dialogflow ES annotates multiple “item” entities and then also suggests that the item entity (in the parameters table) is a “List” You can invoke the values of these entities using the format $item[0] and $item[1] etc (based on the maximum number of entities you think the user might provide).
Text Lesson
How to get a user’s birthdate in DialogFlow ES

A reader recently asked: How do we create a script that will ask for a date of birth? My immediate thought was, “Oh, that’s easy. You just ask for the date and use the built-in system entity etc”. And quite stupidly, I also acted on that thought and sent the email out. 🙁 But that doesn’t work It is more nuanced than that. Of course! Turns out, because Dialogflow ES is so flexible in the way it parses dates, if the user were to respond to that question with just the month and the day it automatically assumes the current year.
Text Lesson
How to manage context from your Python webhook in Dialogflow ES

This tutorial used to refer to inline webhooks before. But I have updated it to use a simple Python based webhook for two reasons: I don’t recommend using the fulfillment library and Python is better suited than NodeJS for Dialogflow bots. The problem A little while back I wrote a post about getting the user’s complete birthdate in DialogFlow. Turns out, the issue is somewhat non-trivial. Since DialogFlow will accept a date with only a month and a day (e.g. March 15th) as a valid input for the @sys.date entity, the user may not enter a year.
Text Lesson
How to create a Chatfuel style decision tree chatbot in Dialogflow

One of the nice things about tools like Chatfuel and ManyChat is their visual interface for creating decision tree chatbots. What are decision tree chatbots? These go by many names – conditional logic chatbots, click-bots, scripted bots (which I like the best). The important thing is that the entire conversation is pre-scripted, there isn’t any Natural Language Understanding or AI of any sort, and people chat with your bot by simply choosing (clicking on) one of the options presented as buttons.
Text Lesson
How to create a Quiz Bot in Dialogflow ES

In this article, I will explain how you can build a Quiz bot in Dialogflow ES where the user can answer multiple choice questions (by clicking on a button) and then the bot will calculate and display their quiz score at the end of it. Here is the list of questions for this bot. This is what the Mindomo flowchart looks like I didn’t complete the flowchart, but you should be able to follow the pattern and do it. But more interestingly, notice that this flowchart includes the “split and merge” pattern.
Text Lesson
How to use Google Sheets with your Dialogflow ES bot

It isn’t easy to use Google Sheets as the database for your Dialogflow bot. Personally, I don’t think it is a good idea to use a spreadsheet software like Google Sheets or Microsoft Excel as the database for your Dialogflow bot. A tool like Airtable is better. But it is a lot easier if you use a tool like sheet.best to convert your Google Sheet into a REST API. The rest of this article is based on my Dialogflow ES beginner tutorial. You will need to go through it first to be able to follow this tutorial.
Text Lesson
How to handoff to live agent in Dialogflow ES

Sometimes users prefer to talk to a live person and not to a chatbot. This is one of the features which is not supported by Dialogflow Messenger, so we will use the Zoho SalesIQ + Dialogflow ES integration for this example. Create an intent which handles common user phrases Make a list of things the user will usually say if they wish to talk to a live agent. Usually these are simple things, like “Talk to a real person” or “Connect with operator”.