Update Jan 2019: I have updated this article a little from when I last wrote it. While my estimates are still relevant, a lot has happened in the Dialogflow ecosystem after this article was written. Right now, after having created many new courses on Dialogflow topics as well as having helped a few clients/students launch their website chatbots, my recommendation would be to simply buy your developer my Dialogflow Toolkit. It is a lifetime purchase, meaning once you buy it you will get all my future updates for no extra cost. In addition, it comes with a free 30 minute coaching call with me. During the call, I can guide you (i.e. your developer) through the various things you need to learn so you can build out your custom website chatbot.
I have seen variants of this question from prospects, and on online forums. And the answer is quite easy: it depends. 🙂 Here is a little checklist you can use to figure out an estimate for yourself.
I will be giving you estimates in developer hours. The developer I am imagining will first walk the client through some kind of strategy session (at least 1 hour), and then make sure they get the requirements fleshed out to the best of their capabilities (you can never get 100%), and then they usually build out the riskiest/unknown pieces first, and they periodically check in with the client to see if things are going on track. Such a developer will very likely charge a premium rate. Here is the disclaimer: I can also imagine a factor of 5x increase in the time estimate if you don't get the right developer for the project. So with the disclaimer out of the way, here is my checklist.
Do you wish to use DialogFlow (formerly API.AI)?
I am most familiar with DialogFlow, so that is what I am going to give an estimate for. This means you are also somewhat convinced that DialogFlow is a good option for your FAQ chatbot. I am not going to convince you in this post about why it is the best option. There are also some reasons why you shouldn't choose DialogFlow (especially if you want to do no custom coding work).
Do you already have all the questions and answers ready?
For an FAQ chatbot, you first need an FAQ. 🙂 The nice thing about an FAQ chatbot, compared to a simple search box on your website, is that a chatbot is very good at understanding variations of the same question.
So you will need to make a list of answers first. And then for each answer, you will create a list of questions.
Will the existing web demo integration be enough?
One of the very nice things about DialogFlow is its web demo integration. You can check out a couple of example web demo integrations I built for this site: FreelanceAdviceBot and LinkBuildingAdviceBot. These are FAQ chatbots, but they are meant as just demos so the bots are extremely limited in the number of questions they actually answer.
But you will notice something right away when you use them: they don't support clickable hyperlinks.
So is the existing web demo integration enough? The answer to the question in most cases will be: probably not.
Do you need to display rich content?
So you have realized that the built-in web demo integration provided by DialogFlow is not going to be enough for your use case. But moving one step further, do you need to display any rich content in your chatbot? For example, do you need to show images? Do you need to embed YouTube videos? Do you need animated gifs, bold formatting, italics, etc.?
At this stage, your programmer needs to get very familiar with the REST API provided by DialogFlow. This is fairly intense custom coding work. In fact, some of the rich content cannot even be displayed inside your chatbot unless your programmer understands some security issues related with injecting random HTML into websites. If that sounded too techy, don't worry, because it is.
There is a certain subset of the rich content you can add by using a system I devised. It uses existing DialogFlow features, specifically the Google Assistant's rich response features (see video below), and you can piggyback on top of it to get some of the rich content.
Do you need to display rich controls?
Rich controls are different from rich content. These are controls such as buttons, list boxes and carousels which help the user choose options and move the conversation forward. Here is a demo video which shows some of these controls:
Again, for displaying these controls you need to use DialogFlow's REST API. Everything I mentioned in the previous question (about rich content) applies here too. A rich UI FAQ chatbot with DialogFlow (API.AI) can only be built using the REST API.
Again, you can automatically get some of the rich controls using the same Google Assistant system I devised.
If you choose to use the Google Assistant system, you will probably want to get my training course which teaches you how to do it. You can, of course, figure out the whole thing just by spending a fair amount of time understanding the different features and figuring out how to put them together. Or you can just get the course and get the relevant stuff for a lower time cost.
Both the Rich Content and Rich Controls questions also make an assumption that you are running a WordPress website and you can run PHP scripts on your web host. If not, go to the next question.
Do you need to collect information from the user?
Collecting information from the user means you also need a way for your chatbot to save information to a database. This means your programmer needs to learn about webhooks.
DialogFlow webhooks are fairly challenging because
a) the documentation isn't great
b) there are some limitations on how you can use them even for builtin features (for e.g. I don't recommend combining slot filling and webhooks)
c) because they are just web based services, you have basically an exponential combination of tech stacks people can use to create webhooks and it is very hard to get precise documentation for the one you are interested in.
With all this in mind, even something as simple as collecting the user's name and email address requires a fair amount of time investment from your programmer. On the positive side, as with any other learning, the up-front time cost can then be recouped over future projects forever.
Do you need an FAQ chatbot for non-WordPress, e.g. your SaaS site?
Maybe you are building a SaaS and would like to integrate a chatbot into your SaaS website. Since the entire internet agrees that the only way to build a SaaS is to use Ruby on Rails (OK, I am kidding), you need to adapt the system to your SaaS platform.
Again, your programmer needs to learn how to use the DialogFlow REST API from their programming language of choice. Usually, it is far simpler for your existing programmer to learn about DialogFlow than for a DialogFlow expert to learn a new programming language so they can work on your SaaS site.
Let us suppose, in this case, that your SaaS programmer needs to understand
- The basics of DialogFlow
- The DialogFlow REST API
- The Google-Assistant system for implementing a rich controls/content chatbot into your SaaS website