Best of Bots and Human AgentsCreating Intelligent Chatbots

About APIs/Tools Available to Create Chatbots

Currently, there are a plethora of APIs/tools available in the market to create chatbots.
Leading ones include:
  • Dialogflow (Google)
  • botframework (Microsoft)
  • (Facebook)
  • IBM Watson

All these tools/APIs offer a great way to build your chatbots rapidly by allowing us to define the intents/entities and flow of intents graphically.

How we create a chatbot using these tools?

Undertaking any chatbot Projects involve the following steps:
Gather Requirements

The initial step is to collect the requirements on how customer interaction happens today. They might have a script, coded procedures, or other resources.

Define Persona

Behavioral targeting is necessary so that the customers can interact in a personal way. Hence, defining a persona for your chatbot agent is a vital step while creating chatbot.

System Interaction Diagram

The diagram describes the interactions among the different elements in the model. It defines the dynamic behavior of the system. Hence, the next step is to build a System Interaction Diagram.

Extraction & Compilation

The next step is to extract the potential list of intents and compile possible sentences that lead to those intents.

Use your Desired API

Create an instance of your Chatbot using your favorite API (dialogflow/wit/watson/botframework).

Determine the Intent & Entities

Define the intent of your Chatbot by using the conversation builder tool. Also, set the entities.


Use their testing agent interface to check the interaction with the bot.

Creating Web App/ Microservice

Develop the web app or microservice that is responsible to interact with conversation and implement some of the business logic to handle the conversation context.

External API

Integrate external APIs to deliver the required data to the end user. You can use their one-click integration service to integrate with multiple channels such as Facebook, slack, webapp etc. You can even integrate it with the mobile apps using their SDK.

Other Customized Components

Add other components to complement the business requirements such as Retrieve and Rank, build recommendation engine etc.

The Challenges

  • Most of these chatbots aren’t that great at having conversations that go beyond normal. Hence, it pisses off the customer.
  • They are defined and not much flexible.
  • They are not pluggable.
  • Most of them don’t have sentiment analysis.

How these challenges can be solved?

The best way is to extend prebuilt intelligence. To extend the intelligence of your chatbot you can add an intermediate layer between your chatbot engine and customer query. You can either add any NLP(Natural Language Processing) APIs given below or prepare your own tensorflow based model and pass the query to this model. This intermediate layer will further extend the capability of our chatbot by analyzing the customer query and take appropriate action based on insight delivered by the NLP API.

  • Google cloud NLP API
  • LUIS
  • Chatterbot (tensorflow based chatengine)
  • Custom tensorflow based model

The architecture of our model

What’s the best feature of our model? The very clear answer is “Flexibility.” To have the greater flexibility in overall architecture we will add our custom chatbot engine in between customer interaction channels and Third Party chatbot frameworks. Our chatbot framework has the capability of routing the end user to a live chat support person depending upon the satisfaction score.

Chatbot Middleware has the following main modules:
  • Dialogflow Manager: This module takes care of integration with dialogflow Lex Manager: It handles integration with AWS Lex
  • Lex Manager: It handles integration with AWS Lex
  • Third Party Chat integration: There are various chat softwares available in the market which can be integrated with the middleware. This adds the flexibility in the system to route the end user to the live chat agent. Routing can be automated based on customer response (analyzing customer sentiment) or admin user can intervene in between to take control of the ongoing chat session.
  • Chat Admin control: Chat admin can manage all ongoing or past chat conversations.
  • Tensorflow Manager: Tensorflow based model is trained on the previous live chats to respond to the customers. This can be used in a couple of ways: Pass on the entire control to the tensorflow based model. Pass on the control to tensorflow model when predefined flow in chatbot engine is not able to satisfy the customer query.

Benefits of our model

Improved Customer Service

Our chatbots can offer interactive communication where they ask questions to understand the real problem rather than just saying anything. Bots can be programmed to give automated answers to repetitive questions immediately according to your stored database. Also, they forward the request to a human agent when a more complicated action is needed.

Machine Learning Based Model

The limited functionality offered by the tools has been a big barrier for chatbots and Machine Learning is an attempt to target this. Our model is completely based on Machine Learning. With experience, our chatbot learns responses to various queries and thus increases the functionality. Hence, the use of machine learning seems very natural for chatbots.

Sentiment Analysis

Sometimes, a bot can't just handle the mood of the customer alone. Customer may get irritated or angry and would not want to stick around talking to a bot and want the real deal. With sentiment analysis, the chatbot can auto-transfer the ticket to a human and the agent can handle the customer in a more professional way.


Our model is entirely pluggable and we create our own framework. Hence, if there is any recorded database you can integrate it in your chatbot. It will make your chatbot more intelligent and flexible.

Our Take on Creating Chatbots

  • Before creating a chatbot, we should first get a clarity on the objective of the entire system as chatbot is just one aspect of the entire system.
  • Is the purpose of the system to create chatbot just to automate the end user interaction with the system? Or you are creating an intelligent platform itself and chatbot is just an extension of your system?.
  • Approach for creating a chatbot for both the cases are different. In the first scenario, you can always take an easier and faster route to directly use third-party chatbot platforms whereas creating an intelligent platform requires a much broader approach and one needs to think about what kind of intelligence the whole system offers based on customer interactions/transaction.
  • When using third-party chatbot platforms, you will need to consider the fact that you can’t always pump in all the data in their ecosystem (by adding entities etc). Your existing system may already have all the required data residing in their database and one can leverage the existing APIs to fetch the required data via Webhook integration.
  • By using webhook integration our system can leverage easy one-click integration with multiple interaction channels like facebook, web, slack, skype etc.
  • However, to truly create intelligent chatbots, you will need to create your middleware to add flexibility in the overall architecture of your entire chatbot system.

In general, Chatbot is used to avoid the dependency on agents which can handle only few conversations at the same time and also proves to be very helpful for businesses that receive lot of enquiries on daily basis.

Looking for Job Bot Development?

Send us your requirements. We will get back to you with a free quote.

Want to See Your Idea as the Next Big Thing?

  • With Signity Solutions, your business is destined to grow at a new level. Get in touch today to create a game changing experience.

Send Us a Message


Our Global workspaces


Netsmartz House,
3rd Floor, Plot #10, Rajiv Gandhi IT Park,
Chandigarh 160101

New Zealand

14049, 35 George
Street, Kingsland
Auckland 1024.
+64 22 111 0002


762 Green St, Suite 1-R,
Iselin, NJ 08830


Kanteel-35 1083 DB

Drop us an e-mail at

Request Free Consultation

762 Green St, Suite 1-R
Iselin 08830 New Jersey USA

Netsmartz House,3rd Floor, Plot #10
Rajiv Gandhi IT Park 160101 Chandigarh India