Courses | DialogFlow

Course Discounts

I am planning to have substantial discounts on my courses and other products for Thanksgiving 2020. If you are interested in getting email notifications, please sign up to my MBD Deals on Gumroad. You will only get the discount email if you sign up Also, the only folks who will get discount emails are those who sign up for it. I am not going to be announcing these discounts anywhere else. Also, each discount email will only be sent out once, and you will usually have 24-36 hours before the discount expires. So I should pay some money now, so I can pay MORE money later? I know that’s what you are probably thinking, but hear me out. ๐Ÿ™‚ There…

DialogFlow

How to bulk upload intents from a CSV file in Dialogflow

First published: Jan 2018 | Last update: Nov 2020 I was recently asked by a client if it is possible to bulk upload intents from a CSV file to Dialogflow. Apparently, there was a time when this feature was already available in Dialogflow. But it isn’t straight forward anymore, and its probably for a good reason. CSV file structure Typically, the CSV file structure is simple. There is a column with a user says message, and then another column with the text response. What you want to do: You upload this CSV format, and you have an agent at the end of it. I have created a free Python app which you can download to your computer which allows you…

Conversation Design | DialogFlow

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. As you build contextual chatbots, you would have to keep track of parameters (user inputs such as their name, location etc) so that you can pass them between your intents. There are three primary ways to pass parameters between intents. 1 Use followup intents…

Debugging | DialogFlow | Tools

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 some help figuring out why your Dialogflow agent is behaving like that. This article only applies to Dialogflow ES bot and not for CX bots. Understand Candidate Intents The concept of candidate intents is a very powerful one in Dialogflow ES bots. What is a candidate intent? It is easier to understand candidate intents by understanding non-candidate intents. If an intent cannot match at a given step in the conversation because it has an input context which is not active at that point, it cannot be a candidate. Every…

Dialogflow CX

How to move bot from Dialogflow CX to Dialogflow?

I got this question in a YouTube comment. Unfortunately, this viewer has it completely inverted. Consider these three things: Dialogflow CX has no free tier CX has a much steeper learning curve CX is still in Beta, meaning nearly no one (except perhaps those who have direct access to the Dialogflow CX dev team) is using it with any sort of confidence. In fact, here is a Twitter exchange I had with a CX developer advocate. It is a good idea to read it carefully one more time. Especially this response: So the more practical approach would be to begin building your bot in Dialogflow ES. If and when it becomes too complex for ES, you should consider moving it…

DialogFlow | REST API

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. Here is the official definition. So we can use these service accounts to access your Dialogflow agent from your code. How to create…

DialogFlow | Python | Webhooks

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 You can just start with a regular old Python project. No need to do anything more fancy. 2 Install flask inside the virtual environment Open the Terminal inside your PyCharm IDE. Use pip install Flask to install the Flask web framework inside your virtual environment. 3 Add a new Python file and call it app.py Create a new Python file called app.py. Your project structure should look like below. Add the following code into your…

Uncategorized

EU VAT MOSS Tips for online course creators

Are you confused by the EU VAT MOSS requirements? In this article, I will summarize all the research I did, as well as my recommendations if you are planning to create an online course in 2020 (and beyond). I am also making the following assumptions: you already have a day job which isn’t selling online courses you are mainly interested in course sales as a side income you prefer to be compliant with tax policies ๐Ÿ™‚ Why? Because if it is your full time business, or you have enough time to do VAT taxes by yourself, you can spend a lot of time and become compliant. Obviously there are some online course creators who do just that. But if you…

DialogFlow | Mobile App

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: 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. This is what makes it so complex (or at least so much more work). How to create the integration So here is what you need to do to integrate Dialogflow into your Flutter app: 1 Create the middleware code The middleware code is responsible…

DialogFlow | REST API

Get your DialogFlow agent to initiate the conversation before user types a message

First published: Aug 2017 | Last Updated: Oct 2020 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 my CourseBot (seen above), I initiate the conversation by using the same ideas described on this page. Dialogflow Built In Welcome Events When you click inside the Event textbox in Dialogflow, you will notice in the autocomplete a bunch of CHANNEL_WELCOME events. What are these welcome events? In principle, this is the feature you should use to initiate conversations on different channels….

Dialogflow CX

Why doesnโ€™t Dialogflow CX support more 1-click integrations?

A reader recently asked me if Dialogflow CX supports the Dialogflow Messenger integration. Answer: It doesn’t. But more importantly, CX supports almost no integrations out of the box. I think it is important to understand why that might be the case. Unlike ES, there is no free tier in CX I wrote about this in my article comparing Dialogflow ES and CX, and while my initial pricing calculation was off by quite a bit (and was duly corrected by a commenter), the main point is that there is no free tier in CX as of this writing. This might not be obvious to people who are new to Dialogflow, but every 1-click integration in Dialogflow ES uses the Dialogflow API…

Dialogflow CX

Dialogflow CX vs ES: First look

Last updated: 1 Oct 2020 If you didn’t know, the folks at Google recently introduced Dialogflow CX, which is meant for developing large or very complex agents. The older version of Dialogflow has been renamed to Dialogflow ES (short for Essentials), and is more suited to develop small and simple agents. You can also find a comparison chart on this page. What my peers think There was the usual hype and self-congratulatory tweets when CX was released, but I am more interested in the opinions of my peers. It didn’t take me long to confirm what I was already thinking. Here is a tweet from Allen Firstenberg, who has been working with Dialogflow for quite a while (and is one…