DialogFlow

Talk, type and tap: The three modes of conversation in Dialogflow bots

As I have been working with Dialogflow, I can see that there are three primary mechanisms (modes) using which the user can converse with the chatbot Type The most basic mode, and the one which you can see in all the chatbots I have built with the 1-click web demo integration. Here the user just types into a box and gets a result back. Talk I don’t have a demo handy but the web demo integration also has a way to input your message by talking (it works in Google Chrome). Also, you can only interact with your Google Home using voice. Tap When your chatbot allows you to click on a button (Tap), you are using the third mode…

DialogFlow

Chatbase alternative

If you are working with Dialogflow, you have probably heard of Chatbase. When it was first introduced, people were thinking “Oh wow! It is like Google Analytics for chatbot conversations”. Now it is starting to look like the Zune. Now, the title is clearly a little click-baity. But please read the article completely because there are a few points you must consider if you are a Dialogflow programmer trying to build out solutions for your end user, whether that is a client, or your place of employment. When I wrote this article, I intended it to be a sort of tongue-in-cheek article which highlights the benefits of using a proxy “middleman” app that I describe here. If you want a…

DialogFlow

Dialogflow tutorial: How to move to the next intent?

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. A practical example I need to get three values from the user – their given name, their last name and their zip code. I will be using the naming convention I mentioned in my previous post….

DialogFlow

Dialogflow Tip: Naming conventions for an intent which gets user input

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). The intent 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 you use it The key, of course, is where you use the intent name. One use for the intent name, for example, is in the test console. Looking at the intent name, you can tell what intent was just mapped. When you receive user input, you…

DialogFlow

Exposing the Dialogflow (API.AI) Client Access Token on your client side script

I have recently seen quite a few solutions trying to embed a Dialogflow based chatbot into a website using pure client side JavaScript. Naturally, this can only be done by exposing the Client Access Token to every visitor of your website. Is this a good idea? Dialogflow rate throttling So we know that there are definitely some limits in terms of how many REST API calls you can make per minute and per day. It does look like Dialogflow doesn’t make those figures public, but it has been mentioned in the forum before. When you expose the Client Access Token to the public, you are creating the possibility that some malicious attacker can just read your client access token and…

DialogFlow

Dialogflow (API.AI) Skype integration

As you might know, Skype is one of the 1-click integrations available for Dialogflow. But the real work begins after you add the 1-click integration from the console. This article is focused on two main topics: How to render rich controls (such as a card) on the Skype bot How to get user’s responses to those rich controls (such as their button clicks) back into your Dialogflow context Prerequisite: I expect that you have already created a Skype bot and you have gotten the basic conversation flow working inside the Skype bot. Rendering a rich control on the Skype bot This is based on the following thread: https://discuss.api.ai/t/custom-payload-generated-programatically/10184 There is an important thing to consider: do you need just a…

DialogFlow

The four types of DialogFlow users

One of my clients had recently mentioned why she chose DialogFlow. “It just seemed to be at the right level of abstraction” That was a good way to put it, but actually I think there are four types of abstraction within DialogFlow with four corresponding types of users. For anyone who wants to work in Dialogflow, it is very good to know which type you are as you choose team members to work with. Type 1 The non-technical user This might be, for example, a business owner or a marketing person who just wants things to work. They are not interested in getting into the weeds of how Dialogflow works. For example, I got this very nice review on Amazon…

DialogFlow

How to add a user or invite a developer in Dialogflow (API.AI)

Today on the Dialogflow forum I answered this very question. Here is the answer, in one screenshot: Share feature Interestingly, the Share feature has been around for nearly 4 months. I wrote about it when it was released. Funnily enough, when thinking of the title back then, I actually used the suggestions at the bottom of the Google search results to choose a title 🙂 But looking back, I could have just used a more conversational title. In case it doesn’t work One of the annoying things about this feature is that it doesn’t actually send an email notification to the person you just added (???). You need to send them an email to tell them you have added them….

DialogFlow

DialogFlow Web chatbox: Some UI design ideas

To be very clear, this article is not about web design. I am not a web designer, or for that matter a designer of any sorts. I am a DialogFlow trainer/coach/consultant, and I am writing this article after a few attempts to create a web based chatbot based on DialogFlow. You can see plenty of articles on this broad topic on this site, and this article is a proposal based on my learnings till date. (And it will probably be a bit opinionated) My first chatbot The very first chatbot I built with DialogFlow was a sports stats chatbot for getting records about the sport of cricket. It is actually a chatbot with high utility value (by which I mean,…

DialogFlow

DialogFlow tutorial: Capturing non-English names from user input

In a recent coaching call, a client of mine had some difficulty capturing names using the @sys.given-name entity. In fact, the name which he tried and which failed, was mine 🙂 He replaced the name with @sys.any and was able to capture the name. So he got curious: why not just use @sys.any everywhere? It is not a good idea, and this article will describe why.

DialogFlow

DialogFlow (API.AI) Entity Autocomplete

Update Dec 10th 2018: Template mode is now deprecated Recently, I was showing a coaching client how to use the template mode to capture a person’s name. I walked this client through how to switch to template mode, and how to use the @ symbol. Then I showed how adding a couple of letters after the @ symbol would bring up an autocomplete. That is, the fact that the autocomplete popped up on the screen was an easy way to figure out whether you are in example mode or in template mode (see below for example). As I explained this, he went Oh, so that’s what it is! I always wondered how they got that autocomplete thing to show up…