chatbot

How to Develop a Chatbot?

Many companies are now starting to develop their own chatbots, either for customer service or as a new marketing tool. The advantage is unmanned automatic customer conversations 24×7.

The development is going fast, and now it can be the right time for your company to consider developing your own chatbot. For example, watch this video for a demo of a voice robot I recently developed and installed in a Google Home smart speaker:

 

In fact, conversational user interfaces are predicted to be the primary interface to Internet services in the future, thereby replacing web pages and apps that have traditional graphical user interfaces.

Note, however, that a chatbot is only a user interface to a service (just as web pages or graphical apps are), it is not the service itself.

In other words, a chatbot that does not offer any meaningful service will not be successful.

Conversational user interfaces are implemented as chat robots – often called chatbots – which are integrated inside popular communication platforms. These can primarily be divided into text and voice-based user interfaces.

Text-based chatbots can, for example, be integrated into messaging platforms such as Facebook Messenger, Twitter, Slack, Telegram, Skype chat, etc. They are often integrated into chat windows on corporate websites as well.

chatbot

 

Voice-based chatbots are often integrated into voice assistants such as Apple Siri, Amazon Alexa, Google Assistant or Microsoft Cortana. In practice, this means that they are integrated into smart phones and smart speakers, such as Amazon Echo or Google Home.

At the date of publication of this article, Apple does not yet generally support the integration of custom conversations into either Siri for iPhone or HomePod smart speakers. This will most likely change in the future, but right now, Apple’s voice assistants are not open for the integration of your own functionality.

There are already voice-based chatbots that can be integrated into ordinary telephone networks, as Google demonstrated with his Google Duplex a few months ago.

For example, Google DialogFlow can already be used to develop voice-based chat robots that can be integrated with normal telecommunications networks using gateways (currently in the Beta stage and only in English at the time this article was written). 

There is a large amount of development tools for chatbot development. Important classifications of them are:

  • Will the chatbot be voice-based, text-based, or both?
  • Is there only support for one platform (e.g. Facebook Messenger) or multi-platform, such as Slack or Telegram as well?
  • Which languages ​​are supported, e.g. English, Swedish, Japanese, German, etc.?
  • “Intent detection” only with hard-coded keywords or does the system become self-learning and learn to understand more sentences automatically?
  • Is the system primarily focused on meaningful conversations (e.g. for automated customer service) or primarily intended for marketing on a messaging platform, such as Facebook Messenger?

Most tools for chatbot development require no programming, but rather are drag & drop design of decision trees where the chatbot understands some hard-coded keywords and responds with hard-coded text strings. The conversation is driven forward by a flowchart or decision tree that has been determined in advance.

This image has an empty alt attribute; its file name is SuccessFormulaHorisontal-1.png

A group of chatbot platforms only supports Facebook Messenger, and is primarily for marketing on that particular messaging platform, as they have relatively weak conversational features. 

Examples here are ManyChat, ChatFuel, Octane.AI and MobileMonkey.

One should, however, see these more as a marketing automation system that uses Facebook Messenger instead of e-mail as a channel, rather than as a chatbot for e.g. customer service.

ManyChat, for example, has very interesting features for getting more subscribers and users to the chatbot, and it is then functionality that lies outside the actual chatbot as such.

There are – or have been announced – development tools for chatbots in several marketing automation systems; e.g. HubSpot and ActiveCampaign. However, some of these are primarily for a chat window on the website, and thus most suitable as an automated customer service on the website – at least at present.

Google’s DialogFlow is an interesting product for the development of chatbots, the main advantage being its flexibility (“create once – deploy everywhere”) where most things can be done without programming.

DialogFlow, for example, supports:

  • Many languages ​​(English, Swedish, German,…)
  • Many text-based messaging platforms (Facebook Messenger, Slack, Skype, …)
  • Voice control via Amazon Alexa, Google Assistant, Microsoft Cortana
  • Voice calls via the regular telephone network (similar to Google Duplex who booked restaurant visits and hairdressing time in a popular demo recently)
  • Understanding of incoming texts with machine learning, not just fixed keywords
  • Integration of the conversation system into your own software, e.g. a custom iPhone App

With Dialogflow, conversations can also trigger server-side business logic, via API calls or webhooks. This can be, for example, database lookup of real-time information, ordering of products, booking of transport, etc.

DialogFlow also uses machine learning to learn to understand more incoming texts, even those that have not exactly been foreseen during the development.

This image has an empty alt attribute; its file name is SuccessFormulaHorisontal-1.png
However, DialogFlow is not as suitable as, for example, ManyChat for marketing on Facebook Messenger, as it does not include features to acquire subscribers to the chat robot. 
There is also a wealth of development platforms that require their own programming to build the conversational interface.
Examples here are Facebook’s Wit.ai or Microsoft Bot Framework. 
However, I do not really see why it would be needed.
In general I recommend using a chatbot platform that does not require programming, such as Google DialogFlow or ManyChat (server-side can of course need programming, to execute desired commands, but not for the actual conversation in itself).
When will your company offer unmanned services around the clock via chat robots? Do you need a consultant who develops a chatbot for your company? Read more here!