Dialogflow ES Tips

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
What is slot filling?

When I first started consulting in Dialogflow, I noticed a pattern. A lot of clients who came to me had made a complete mess of their chatbots, and all of them were using the slot filling (required parameters) feature. When you use required parameters in Dialogflow, you are telling Dialogflow – “please ensure that this parameter is actually collected from the user”. When you mark a parameter as required, it will trigger slot filling – and Dialogflow will keep prompting the user until they provide the input.
Text Lesson
Why I avoid slot filling

This is a somewhat opinionated view, but it is based on my experience using slot filling as well as helping my clients get unstuck by moving them away from slot filling. In my view, slot filling makes four implicit assumptions: perfect entity recognition complete entity definition perfect spelling full cooperation from user Let me explain these one by one. Perfect entity recognition If you have used Dialogflow for a while, you already know it struggles with non-English names – specifically the @sys.given-name entity.
Text Lesson
Do you actually need slot filling (required parameters) for your bot?

The only thing worse than using slot filling is to use it for a use case where it doesn’t even make sense. Motivation for slot filling The real reason you want to use slot filling is because the user’s question/message is posed in a specific format. First, let us look at an example of a user wanting to book a flight. They might say any of the following: I would like to book a flight I would like to book a flight from Seattle to New York I would like to book a flight for 4 I would like to book a flight leaving from Seattle tomorrow Notice that the intent is specified in bold text, and the entities are specified in italics.
Text Lesson
3 scenarios where you should avoid using slot filling in Dialogflow

The slot filling feature is hands down one of the coolest features in Dialogflow. Not only that, it is often the centerpiece of many demos given by the Dialogflow team. So why am I asking you to avoid slot filling? Because there are three common scenarios which the existing slot filling implementation cannot handle well. Do you need to ask user to confirm their input? As it happens, in real world chatbots, we need to ask the user to reconfirm their input.
Text Lesson
Slot filling vs follow up intents

I got this question from a reader: i didn’t understand difference between slot filling vs follow up intents as slot filling can be achieved by followup as well with extra validations right? We can better understand this by looking at our bigger goal: we wish to collect a mandatory set of inputs from the user (that is, all are required values). The order in which user provides input Slot filling is orderless The first difference between slot filling and follow up intents is that slot filling doesn’t expect the user to go in a certain order.
Text Lesson
Using webhook for slot filling

I recently got a question which suggested that people are getting confused about the meaning of “slot filling using webhooks”. I have mentioned in different places in my blog and my courses that I don’t encourage people do slot filling using webhooks. What does it mean? But what does it actually mean? Suppose you have a chatbot which needs to collect four values for booking a flight – starting city, destination city, number of passengers and date of travel.
Text Lesson
What non-programmers should know about slot filling

If you are not a programmer, there are some very specific reasons why you should avoid using slot filling. Now, you cannot really build your Dialogflow bot without hiring a developer. And a developer who suggests that you use slot filling in your chatbot (usually) also knows how to fix the problems caused by the slot filling feature. Unfortunately, this becomes a little bit of a conflict of interest problem – the developer will be required every time you need to update and improve your bot, and the developer knows this 🙂
Text Lesson
Do you still think slot filling is a mess? (updated 2022)

I got this question a while back, asking me what I think of slot filling today. Yes, I still think it is a mess. That’s because the underlying implementation of slot filling hasn’t really changed. Here are some questions you can ask yourself to decide: 1 Do you want to build multi-turn conversation dialogs which are also flexible? 2 Would you like to actually understand what is going on under the hood in your bot? 3 Would you prefer a bot which is more maintainable over the long run?
Text Lesson
Optimal context lifespan in DialogFlow

Note: this is a somewhat advanced topic, and certainly a bit opinionated. I wouldn’t recommend beginners get into this article until they have built at least a toy bot and experienced all the features in Dialogflow. Contexts If you are building bots using Dialogflow, you are probably aware of contexts. They are used to maintain state. For the specific purpose of state management, I find their implementation quite fascinating simply because they have this concept of “lifespan”.
Text Lesson
Doesn’t a larger context lifespan help when conversation goes off track?

I got this question on my YouTube channel: This is a really good point, and yes, the ability to “come back on track” is the reason that the Dialogflow team has chosen a value more than 1. In other words, if the conversation accidentally goes “off track”, doesn’t a higher context lifespan help? My opinion, based on having helped many clients build bots which work in a predictable manner, is that this benefit isn’t worth the cost. An example using followup intents You can take a look at this video to see an example of the problem caused by context lifespan of 2, which is the default in followup intents.
Text Lesson
Identifying intents which are candidates for selection

So let us take a closer look at how to identify intents which are candidates for selection. Update Nov 2020: I have created a free tool which helps you identify candidate intents. You can check it out here. https://www.youtube.com/watch?v=6MyCfxskYqY An example Suppose your team decides you are spending way too much time clicking into DialogFlow intents to find what contexts are declared inside of them. So you decide to do the following: you add an intent number at the beginning.
Text Lesson
The context lifespan is like a “hidden feature” in Dialogflow

The context lifespan you set for an output context is like a “hidden” feature. I mention this because I still see this issue for many people who come to me for help with fixing their Dialogflow chatbot. But I notice they don’t use a lifespan of 1. To make things worse, quite often they don’t see the connection between using the default lifespan and the unpredictable behavior of their chatbot. In this article, I will point out some benefits of rigorously following a context lifespan of 1.
Text Lesson
Context Lifespan Summary

I also got the following input from a fellow Dialogflow freelancer who has worked on many bots for his clients. He once mentioned that he prefers a context lifespan of 2, but that he also agrees with me. So I asked him to explain. Here is what he said. Lifespans are tricky. But very useful once you know what you are doing, when you already have experience and real world operations’ data to deal with. Yes: in general I think a lifespan of 2 is a better deal than 1, because with 1 you lose context immediately: you have to think in more intents to prevent losses.
Text Lesson
Four ways to set parameter values in Dialogflow

This article talks about setting parameter values. (Were you interested in how to pass parameters between intents?) I got this question on my YouTube channel recently: what is the correct way to modify parameters using v2 from webhook? When I change them inside “outputContexts” it works. But, what about an intent which is not using context? This reminded me of something else I have wanted to write about. Did you know there are 4 ways to set parameter values in Dialogflow?
Text Lesson
How to add the Default Fallback intent to autogenerated Dialogflow bot

Using the BotFlo app, you can autogenerate different kinds of bots. BotFlo doesn’t automatically add a Default Fallback intent in your agent. In this article I explain how you can easily add the Default Fallback intent. In addition, this guide will be helpful if you accidentally deleted the Default Fallback Intent from your bot and want to bring it back 🙂 I created an example bot using the Rich FAQ Bot generator. Notice that there is no Default Fallback Intent.
Text Lesson
The 5 Step Training Process for Dialogflow FAQ Bots

A good training process (that is, the process of defining training phrases) can help you build a robust Dialogflow bot. You can actually break this process down into 5 steps. Breaking it down into a 5 step process has two advantages – it acts as a checklist when you are creating your Dialogflow bot. Second, by breaking down a complex process into individual steps, it helps you to keep things simple. Here are the five steps: 1 Intent identification Consider the PlanetsBot used in my step by step guide.
Text Lesson
3 ways to pass parameters between intents in Dialogflow ES

One of the big advantages of Dialogflow is that you can build contextual chatbots using it. What are contextual chatbots? My simple definition would be: The chatbot should keep track of what the user said before, and the conversation should flow accordingly. By the way, this is surprisingly hard to do. So much so that the Dialogflow team has created an entirely new version of Dialogflow called Dialogflow CX which has a pretty sharp learning curve.
Text Lesson
When NOT to use follow up intents in DialogFlow

There are some situations where you shouldn’t use followup intents, because it will not work. The while loop There was a chatbot called the Florist bot that was originally used as an example bot in the Dialogflow documentation (when it was still called API.AI). This is what the flowchart of the Florist bot looked like. In the figure below, the area marked in red is actually a while loop. In theory, the user can just keep indefinitely adding red roses into the bouquet and never say “No, thanks” and exit the loop.
Text Lesson
Three types of Dialogflow contexts

You might not have realized this, but there are actually three types of Dialogflow contexts. And I recommend only one of them. Implicit and auto-generated contexts When you use the slot filling feature, which I do not recommend, you are using implicit, auto-generated contexts. (Note: I use auto-generated and system generated interchangeably, they mean the same thing). These contexts are auto-generated because you didn’t create them but they are automatically generated by the system when you define a parameter as being required.
Text Lesson
Extending context duration in Dialogflow

As you might know, Dialogflow contexts expire within 10 minutes (or 20 minutes, depending on who you ask). In any case, there is a time limit for all contexts and they expire after that time. Sometimes, people need to extend the context duration for long running chat scenarios. This is what someone asked me in a comment: Yeah i do have undeterministic values for my context variables. I’m writing a Chatbot for my master thesis. I do have different courses – the user is able to get information about it.
Text Lesson
Managing session-vars

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.
Text Lesson
Entry vs Non-entry intents

In a previous series, I talked about the C = T + F + S formula for analyzing your Dialogflow chatbot. As a quick reminder: C = Candidate intents T = Target intents F = Fallback intents S = Surplus Intents An intent without an input context is always a candidate If you remember from previous discussions, an intent which doesn’t have an input context set is always a candidate intent at every step in the conversation. Let us call these entry intents.
Text Lesson
The explicative approach to Dialogflow development

I was trying to explain to a coaching student that my approach to Dialogflow development was somewhat opinionated, and when they asked me to elaborate, I realized it would be good to have some term which will capture my opinions. I am going to be calling it the Explicative Approach to Dialogflow development. Here is what the word means: And here is how Wikipedia defines explication So the word explicative has multiple benefits: it is a single (although somewhat complex) word it captures the essence of the various opinions it is a positive expression – meaning, why wouldn’t you want to “unfold” and “make clear” the meaning of things?
Text Lesson
Read this before building a multi-lingual Dialogflow chatbot

Recently, I was a bit surprised to find out that not all Dialogflow system entities are equally supported in all the languages that Dialogflow supports. An example For example, if you go to the documentation page, you see the following number entities for English: Compare the same to French (select the FR tab): As you can see, there are 6 types of number entities for English, but only two for French. Since @sys.number-integer is used quite commonly in English language agents, you should know that such an agent (that is, one that uses @sys.number-integer) will not work in French.
Text Lesson
Handling unexpected user input in Dialogflow

As you might know, I don’t recommend using slot filling. This leads us to a question: one of the benefits of slot filling is that you can re-prompt if user provides the input in an unexpected format. (However, that is a small(ish) benefit for the much bigger problem of being unable to predict your chatbot’s behavior when using slot filling) How can we replicate that behavior? So we would like to do something which will “mimic” slot filling while not running into the slot filling loop issue.
Text Lesson
Do you really need that Dialogflow entity?

This post is a response to a user question: I have an entity called “Insurance” wich has the following values:”Home insurance””Empresarial insurance” I have too an intent tha i use to ask about de price of the insurances. The training phrases are:”How much cost the home insurance?””How much cost empresarial insurance”And other phrases like those. The DialogFlow recognize the entities in the training phrases, but home insurance and empresarial insurance are recognized like “Insurance”.
Text Lesson
Why you need to add an input context to (nearly) all your intents

This article is meant for multi-turn conversation bots. If you are building a simple FAQ bot which answers questions and doesn’t get any followup questions, it doesn’t apply in that case. On my website there is a SupportBot. Since I have hooked it up to Chatbase, I can create funnels for different conversation paths. Coaching Funnel Here is a possible path that the user could take. In this case, the funnel tells me how many people (out of those who start chatting) are interested in coaching services.
Text Lesson
Some tips for choosing the correct entities in Dialogflow

Recently, on the Dialogflow Product forum, there was this question: There is also a reply by a Google employee, which you should go and read. There are two interesting things about this question: The asker is effectively trying to fit their entire chatbot into a single intent The asker thinks that everything should be an entity (which is probably a direct consequence of point 1) But I was more interested in why someone would think that the entire sentence is full of candidates for entities.
Text Lesson
The challenge with using Dialogflow SDKs

A reader mentioned that this is their biggest challenge with Dialogflow at the moment: “Finding current and well documented SDKs” This is actually a pretty big issue with Dialogflow at the moment. There is a simple workaround though, and in my opinion this workaround is ALSO a best practice. The workaround is to not use these SDKs and instead go one layer deeper and ignore the abstraction. Here are three specific cases where doing this is a big help.
Text Lesson
Understanding Dialogflow service account roles and their use cases

As you try and use Dialogflow’s REST API, one of the things you will notice is that the documentation talks about “service accounts”. In this article, we will see what these service accounts are and how they are typically used. Instead of going over any big theory (which is also important to fully master the REST API), I will just explain the basic use cases so you have a simpler starting point to understand how they work. What are Dialogflow service accounts? Simply put, a service account provides a way to call Google APIs from your code.
Text Lesson
How to integrate Dialogflow into your Flutter app

This is not a tutorial. But I want to provide some pointers because it seems people are not clear on an important aspect of Dialogflow integrations. I got this question on YouTube: Question about Flutter integration The 4 Layers of a Dialogflow bot I have explained the concept of the 4 layers in a Dialogflow bot before. In the case of a Dialogflow + Flutter (mobile app) integration, you are responsible for both the middleware layer AND the UI layer.
Text Lesson
How to create new Dialogflow agent programmatically

Some people have asked me if it is possible to programmatically create a new Dialogflow agent. Until recently, this wasn’t possible. But Dialogflow recently added a method to their v2 API which allows this. DisclaimerThis tutorial tells you how to achieve a specific task. If you blindly follow this tutorial without understanding the ramifications for your billing/resource quote etc. then you are solely responsible for the outcomes. Login to your Google cloud accountIf you remain logged in to your Google Cloud account, all these steps will go faster.
Text Lesson
Client side JavaScript apps (Angular, React, Ionic etc) and Dialogflow REST API v2

I got a question from a reader: Can I use a client side JavaScript app built using Ionic with Dialogflow’s v2 REST API? It could have also been Angular, or React, or one of the other bajillion other JavaScript frameworks. 🙂 The answer: No The workaround You need to use the concept of Dialogflow REST API middleware 1 The middleware code runs on a server 2 You need to use a server side programming language such as NodeJS 3 You will save the service account JSON file to the server folder where your code is located (or some other folder you can access from the code) 4 You will set up a ‘relay’ between your JS app and your Dialogflow agent 5 You will communicate with your Dialogflow agent by using the REST API
Text Lesson
Why you need to master Dialogflow’s REST API

If you are building complex integrations for Dialogflow, odds are you need to build custom Dialogflow middleware. Custom Dialogflow middleware Let us first understand what I mean by custom Dialogflow middleware. What is custom Dialogflow middleware? Here is an example of what I mean. The 1-click web demo integration of Dialogflow doesn’t support a lot of stuff. So you can build your own custom Dialogflow middleware to get around this. This is what the middleware does in this particular use case: take the user’s message relay the message to Dialogflow using the REST API get the response from Dialogflow’s REST API process the response to provide the appropriate result
Text Lesson
Why a custom integration is (almost) always better than a 1-click Dialogflow integration

I got this question in my comments recently: This question got me thinking about building custom integrations versus using the built-in 1-click integrations in Dialogflow. I do understand that a lot of people choose Dialogflow mainly for its ability to do 1-click integration with multiple platforms. But my experience till date has been that almost always, you are better off building out a custom integration with Dialogflow. First, some definitions.
Text Lesson
Quick tips for Dialogflow REST API users

If you are using Dialogflow’s REST API, these tips can help speed up your development. Use the Postman app If you hadn’t used it already, Postman calls itself “the complete toolchain of API developers”. For our case, Postman allows you to take the various API calls you see in the Dialogflow documentation and test these requests. For example, here is a request I created as I was working on the Chatfuel integration tutorial. But here is the best part.
Text Lesson
The most important tip for building Dialogflow webhooks

Here is the tip: unless you use ngrok, you are going to find it very difficult to build your webhook. What is ngrok? ngrok Here is the definition of nGrok: “Ngrok is a multiplatform tunnelling, reverse proxy software that establishes secure tunnels from a public endpoint such as internet to a locally running network service while capturing all traffic for detailed inspection and replay. ” OK, that may sound quite complicated. But here is what it means for you: 1 Install ngrok and follow setup instructions 2 Go to your webhook URL in Dialogflow 3 Replace it with a URL which will be generated by your nGrok installation 4 Make sure you configure your IDE to use the correct port What happens when you use ngrok 1 User types a message to your Dialogflow agent 2 Dialogflow decides that it needs to call a webhook based on your setting 3
Text Lesson
How to send any Facebook Messenger rich response from Dialogflow webhook

I chose the title “How to send any Facebook rich response from Dialogflow webhook”. But it could just as well have been “How to send any Facebook Messenger | Telegram | Slack | Skype | Google Assistant | Google Telephony | Viber | Kik rich response” from a Dialogflow webhook, because there is no difference in terms of the channel. The technique I am going to show here is dead simple. Unfortunately, it has one big con, which I will cover at the end of this article.
Text Lesson
How to send carousel to Viber from Dialogflow webhook

I got a question recently on this topic. Now this isn’t an actual answer to this specific question. Rather, I will explain the approach you should use to handle these kinds of messages in general. At the same time, I think the general answer is becoming more important now because of an important reason. Static Rich responses for Google Assistant vs static Rich Responses in other channels If you take a look at the Response section inside Dialogflow, you will notice something very interesting.
Text Lesson
Why I avoid the Dialogflow fulfillment library

In my webhook tutorials, I usually directly construct the JSON and send it back to Dialogflow. Obviously, this has the major benefit of explaining what happens under the hood, as someone pointed out on my YouTube channel: THANKS THANKS THANKS! For days i have been trying to find a video where people show how to use an external webhook, but from approx. 40 videos i watched, NONE used your solution. They all stick to the Firebase solution. Thanks for your way!
Text Lesson
How to debug Dialogflow Python webhook using ngrok

In this tutorial I will explain how you can debug your Python Flask webhook for your Dialogflow bot using ngrok. I use the PyCharm professional IDE (you can also download the free PyCharm community edition) in this tutorial. 1 Create a new Pure Python project Start with a regular Python project. No need to do anything more fancy 2 Add a new file called requirements.txt and add the following 3 Open the Terminal window inside Pycharm 4 Install flask using pip install 5 Add a new file called main.py Add a new file called main.py into your project and add the following code into it from flask import Flask app = Flask(__name__) @app.route(‘/’)
Text Lesson
Using the text responses from Dialogflow console in your webhook code

This is another question which came to me from a client, and I think the answer might be helpful for a lot of folks. Here is the challenge: You want to use the text response you write in your Dialogflow console to be available to the webhook code. Here are three reasons for doing this (there may be others too): maintain the WYSIWYG (what you see is what you get) for your copy editors, who are usually not programmers. They write the copy inside the Dialogflow console, and you just use it from your webhook code implement some kind of templating system where you write the copy in the text response and populate the dynamic stuff in the webhook let the copy editors choose the error messages which should be displayed if the webhook cannot do its job What is sent to the webhook Before we can discuss how to use the copy from the Dialogflow console from inside your webhook, you should first understand exactly what is sent to the webhook.
Text Lesson
How will the DialogFlow market evolve in the coming years?

A training course student recently asked me: Would be interested in hearing your views on how the DF market will develop in the coming years and scope for profit. Let me start with a disclaimer. I am only answering this question because someone asked me about it, and I feel like I am probably not the best person to answer it. I am far too concerned about the technical aspects of chatbot tooling (and NLU in general) to be considered any kind of authority when it comes to the Dialogflow “market”, which in my view includes knowledge of market forces and such.
Text Lesson
Dialogflow vs RASA NLU

I have created a small eBook to explain the differences between Dialogflow and RASA NLU if you are trying to choose one or the other. The eBook was based on Dialogflow ES. Since the introduction of Dialogflow CX, it is fair to say that RASA NLU and Dialogflow have diverged into entirely different directions. That is, they are even less comparable now because of the state machine based approach used in Dialogflow CX. In addition (to the best of my knowledge), most of the new Dialogflow features are only going into CX and not into ES, and RASA has also evolved quite a bit but in different directions.
Text Lesson
A simple method to evaluate multiple bot frameworks

Note: this guide is meant for programmers who are familiar with APIs Recently I was talking to someone who has built a cross-bot-framework conversation designer – like an abstraction layer which sits on top of all the major bot frameworks and provides drag-and-drop interfaces to design your bot. It is an interesting idea, but there is a major problem – all the bot frameworks are not the same. Dialogflow ES, Dialogflow CX, Watson Assistant, Amazon Lex, Microsoft LUIS, RASA NLU – all of them are very different from each other.
Text Lesson
Exporting your Dialogflow agent to RASA NLU

Recently I had a coaching call with a client where I explained to him why RASA was a poor choice for substituting a Dialogflow bot he was trying to build. I had taken a quick look at RASA a few months back, so I had some idea what you could and couldn’t do in it. After I went and took a closer look, I realized that I was actually overestimating RASA’s capabilities. As it stands now, you will probably want to avoid migrating your Dialogflow agent to RASA because it will not work as well, especially if you used ideas from my site to create a bunch of conversational turns.
Text Lesson
How to integrate Dialogflow with your Ionic mobile app

This tutorial also applies to other JavaScript frameworks such as React, Angular, Vue etc. This applies to both Dialogflow ES and Dialogflow CX bots. There are three steps to build this integration. Before you read the rest of this article, read about the four layers of a Dialogflow chatbot. UI layer code In your Ionic mobile app, add a textbox where the user will type their query. When the user presses the Enter key or presses a Send button, you should submit the user’s message to a server which will be running the integration/middleware layer code.
Text Lesson
Dialogflow Android integration for API v2

I have been getting a few requests of late for explaining how to do Dialogflow + Android integration for API v2. Disclaimer: I haven’t worked on the Android integration till now. But this article tells you what not to do, and why. Since I have noticed some online tutorials which are actually more confusing than helpful on this topic, I wanted to clarify something. Here is an important thing you need to know: if you want to do the integration safely (i.e. without exposing your secret credentials), you cannot put the service account JSON file anywhere on the Android device.
Text Lesson
How to debug your Dialogflow bot

I recently got feedback from a reader. He was answering a question about a tool which Dialogflow should have but doesn’t. Debugging of dialog flow , which is very important tool that should be there Now, I don’t think you can “debug” Dialogflow by setting breakpoints the same way you would when writing code, at least not yet. But there are a few things you should learn about when you try to debug your Dialogflow bot. Learn the basics The first step is to learn Dialogflow itself systematically.
Text Lesson
Do this when Dialogflow ES matches the wrong intent

Is your Dialogflow bot triggering the wrong intent? I see questions such as these on forums sometimes: In this article, I explain a few things you can do when you need to figure out why your Dialogflow agent is behaving like that. This article only applies to Dialogflow ES bot and not for CX bots. Let us classify the two main types of errors – false positives and false negatives. False positives There are two possibilities here too. You can have a surplus intent get mapped to the user utterance.
Text Lesson
What if the exact text in the user phrase does not fire the intent?

I got a comment recently on my post about intents which don’t match like you might expect. This is an extremely unlikely scenario. But here are some troubleshooting tips. Make sure the input context matches In a previous article, I shared an example of an intent in my SupportBot where people express interest in coaching. The intent definition for the “Coaching” intent looks like this: For this intent to fire, the context must already be set to awaiting_service_choice.
Text Lesson
Recommended No Code Tools to accelerate Dialogflow bot development

Since Dialogflow is one of the best low code tools for creating NLU powered chatbots, I expect that a lot of people who are visiting this website are makers who prefer low and no code solutions. So I have listed some no code tools which can accelerate the development of your Dialogflow chatbot. Airtable Airtable is hands down the best database for non-programmers. It is especially helpful when you are building your Dialogflow prototype bot. Having said that, you do need to hire a programmer to connect your Airtable backend to your Dialogflow bot.
Text Lesson
Airtable vs Google Sheets: which is a better database for Dialogflow?

While I am using Google Sheets as the primary example here, nearly everything I mention is equally applicable to Microsoft Office/Microsoft Excel REST APIs. Since people are often using Google Sheets to store their data, it would be very convenient to use Google Sheets itself as the backend for their Dialogflow bot. But I would recommend people use Airtable over a spreadsheet app. Spreadsheets can support non-tabular data Data which can be organized perfectly into rows and columns can be referred to as tabular data.
Text Lesson
3 ways Airtable can speed up your Dialogflow prototype development

If you are building a Dialogflow prototype, there is a tool which can provide a tremendous boost to the speed at which you can create and manage your bot. The tool is called Airtable – which is like a combination of a spreadsheet and a database, and is easy to use for technical non-programmers. In this article, I am going to talk about how Airtable can speed up your Dialogflow prototype development workflow. 1 Use Airtable as the database Most non-programmers hit a stumbling block when they try to use Dialogflow.
Text Lesson
Machine Learning vs non-Machine Learning algorithm

Recently, I was interacting with some non-technical folks and noticed that people use the term ML even when an algorithm doesn’t actually use any Machine Learning. So here is the simplest definition (that I know of) which explains the difference between Machine Learning and non-Machine Learning algorithms: Machine learning algorithms improve when you provide them with more data. Non-machine learning algorithms don’t. Digit recognizer A famous and somewhat standard ML beginner project is the handwritten digit recognition project.
Text Lesson
Can I use GPT2 for my Dialogflow bot?

Recently, one of my clients asked me if it is possible to use GPT2 for his Dialogflow bot. Short answer: probably not. Natural Language Generation (NLG) GPT2 is a machine learning model (and associated code) which can automatically write text. Here is the official definition: The text is grammatically correct, too. Often you will find it hard to distinguish between something written by GPT2 and human-generated prose if you don’t know anything about the subject. 🙂
Text Lesson
A MUST read article on Dialogflow training phrase quality

Recently, Google published a very interesting article on how you can assess the quality of the training phrases inside your Dialogflow agent. In my view, if you are at all interested in building a Dialogflow agent, it is a MUST READ. Note: You do need a fairly good programming background, plus some basic understanding of concepts such as “word vectors” to understand that article. So maybe the person who will read it is the programmer on your team.
Text Lesson
Dialogflow Machine Learning Algorithm

I get some variant of this question quite often from readers or coaching clients: What type of machine learning is happening within the black box? Any ideas? While the short answer is “No, I don’t since Dialogflow isn’t open source as of date”, this doesn’t mean you cannot try and reverse engineer and get as much understanding as you can by using a special tool which already exists inside Dialogflow: the score coming back in the JSON response.
Text Lesson
What is a good value for the ML Classification Threshold in Dialogflow?

This was the question I received from multiple clients recently, and I have been thinking about this question for a while. Recently, I got some time to do some research on this problem and here are my findings. The quick and dirty answer If you don’t have time to read the post and just need a quick and dirty answer: just use the Default value you get when you create an agent. Here is why: It is very likely optimized for the other recommendations provided by the Dialogflow team.
Text Lesson
Avoid these 4 Dialogflow ES features

I recommend that people who build Dialogflow ES bots avoid these four features. Slot filling The slot filling feature makes for a really good demo, and also is a very good way to get familiar with Dialogflow for the first day or two. But it is not a good idea to use slot filling to build your ES bot. Why I avoid slot filling However, slot filling in Dialogflow CX works quite well and I recommend people use it in CX when it makes sense. Default context lifespan When you create an output context in Dialogflow, it automatically assigns a context lifespan of 5 as the default value.
Text Lesson
Should non-programmers start with ES or CX?

Before you go through this lesson, I suggest that you read the following: When to use Dialogflow ES When to use Dialogflow CX If you are a non-programmer, I suggest building your bot in ES first. ES is less expensive as it has a very generous free tier. It has also been around for longer, so it is easier to find help and tutorials for ES. When should you migrate to CX? I recommend that people avoid some features in ES. If you build your bot without using these features and you run into some limitations, then you should consider migrating your bot to CX.


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. 

For example, when not to use GPT

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