We prototyped a chatbot which uses natural language detection, for this we used Dialog Flow. The prototype uses a linear dialog to gather the users requirements for a product. In this case courses.
We used webhooks in Dialog Flow to make calls to FunnelBack to construct some of the answers to the questions, for example some answers are based on Funnelback queries and the information available in the Funnelback data model. We use other webhooks and services to do things like send a follow up email to the user at the end of the chat.
There is a lot of work to do with DialogFlow, gathering training data, and training its machine learning abilities to make the agent smarter and more responsive.
A chatbot can quickly become quite complex.
Dialogflow syas there are two types of chatbot:
Linear dialogs - the aim of which is to collect the information necessary to complete the required action (e.g. find the best hotel, turn on the right light bulb, or play the desired song)
Non-linear dialogs - which may have several branches, depending on users’ answers
We are really just dipping our toes in to see what's possible with a simple linear chatbot.