How to learn Dialogflow in a week
Recently, I got some feedback from a course student:
Since Aravind offers so many dialogflow courses. I hope that he can offer a suggested list: tell us which course sequence should we follow: one after another.
So I have written this article to help my course students, but I also think it will be useful for anyone who wants to learn Dialogflow in a systematic way.
I would like to clarify two things: you need to be willing to spend at least 4-5 hours each day for a full 7 days to be able to get the most benefit from this article. Second, this article often refers to my paid courses. I wouldn’t call my courses entertaining, but I do think my courses are very useful for learning the subject quickly. But if you are not interested in purchasing any course, I would still suggest that you at least learn the building blocks and the must know features.
With that out of the way, here is my recommendation.
Day 1 Building Blocks
In my view, everyone should first learn Dialogflow’s building blocks – intents, entities, contexts and basics of webhooks – before going on to more advanced topics.
You can check out my step by step Dialogflow guide to get started with these topics.
Day 2 Must Know Features
Once you learn the building blocks, you should then learn about Dialogflow’s must know features. Don’t spend a lot of time learning about them, just learn what they are and keep them at the back of your head.
Even a cursory knowledge of these features will often help you save a lot of time as you build your Dialogflow bot.
Day 3 Dialogflow Donts
There are certain features in Dialogflow that I do not recommend. Often, they help you build your bot more quickly, but also make bot maintenance really hard.
To learn about them, you should go through my Dialogflow Blackholes course. In fact, this course was recently updated (Dec 2019) with a bunch of new things I learnt over the last 12 months or so.
Day 4 Understand Intent Mapping
When you learn about how Dialogflow does its intent mapping, it will be very helpful to learn about the following topics so you can get a clearer picture of how to design your conversations:
- understand stemming and stopwords
- learn about the concept of term reinforcement
- understand what candidate intents are
- learn about the CTFS framework
You can learn about all these topics in my Dialogflow Conversation Design course.
Day 5 Flowcharts
Are you looking to hire someone to build a Dialogflow bot? A flowchart can help you put things down on paper (figuratively speaking, of course) so you can explain your concept to the freelancer.
Are you the person building a bot for your client? A flowchart can help you design the bot and also make it easier to have conversations with your client about the bot’s design.
Maybe you are asking your internal team to learn Dialogflow? Learning how to create flowcharts will also clarify the conversation design process and make the learning much easier and faster for your team.
In my view, the best tools for designing Dialogflow flowcharts are XMind and Mindomo.
You can learn more about the specific flowcharting approach I recommend in my Dialogflow Flowcharts course.
Day 6 Webhooks
In my view, you need a programmer on your team if you are building a Dialogflow bot.
For example, to create Dialogflow webhooks, you need to be able to write code. And generally speaking, you cannot create a non-trivial bot without using a webhook.
In my Dialogflow Webhooks course, I show how to build simple bots which use webhooks to read and write information, and the code samples are available in three different programming languages – PHP, NodeJS and Python.
Day 7 REST API
You can integrate a Dialogflow agent into your website, or your app, or other software you have built by using the Dialogflow API.
However, when Dialogflow deprecated its v1 API, it represented a somewhat major change in how people were integrating Dialogflow inside their apps – now you have to understand at least the basics of OAuth2 (an open security standard) to be able to properly use Dialogflow’s API v2.
In my (obviously biased) view, my Dialogflow REST API v2 course is probably the best course on this topic.
It starts by explaining how OAuth works in Google APIs in general, and then discusses how Dialogflow’s API works specifically. By learning both the broader picture and the specifics, you can then use Dialogflow’s v2 API with complete confidence (once you go through the entire course).
In addition, the course is not specific to any programming language. I have designed it in such a way that you can take the material you learn in the course and use it with any programming language of choice.
Are you creating your own custom integration?
If you are trying to integrate Dialogflow into your own app (such as an Android app, say), you should also learn about the concept of sessions in Dialogflow. I go into a lot of detail in my Dialogflow Sessions course.
Get all the courses in one bundle: Core Dialogflow
If you purchase the Core Dialogflow course bundle, you can get all the courses I have mentioned in this article (at a discounted rate compared to purchasing the courses individually).
What if I am not a programmer?
If you are not a programmer, buy your programmer a copy of the Core Dialogflow course bundle.
Here is how it will help:
- make sure your programmer doesn’t waste your time (and thus your money) using the blackhole-like features I described earlier (Dialogflow Blackholes course)
- give you a flowcharting process which you can follow and specify your chatbot to your programmer. In turn this will speed up the bot design related communication between you and your programmer (Dialogflow Flowcharts course)
- explain a consistent process (the explicative approach) which will help them design your bot in such a way that you can focus your efforts on bot design (conversation layer) and the programmer can focus their efforts on writing code (Dialogflow Conversation Design)
- give them a solid understanding of how webhooks work (Dialogflow Webhooks)
- give them a solid understanding of how REST API works in Dialogflow (Dialogflow REST API v2)