the Chatbot

A Chatbot is essentially a program that interacts with users and addresses their needs through a text messaging platform. An ideal bot interacts with the user in a humane fashion generating a meaningful and productive conversation leading to the fulfillment of their goals.

Designing a Chatbot

The process of designing a chatbot can be broken down into simple steps​

  • Identify and outline the Goal or problem that the bot is supposed to address and define a scope within which the bot will operate

  • Identify the users and use cases

  • Design a conversation for the bot or the bot personality

  • Design a conversation flow, starting from the welcome message to each dimension the conversation may span and handle each dimension accordingly


a Goal

A Chatbot can be used in e-commerce for a variety of purposes. While it can help customers in finding a relevant product, it can also help them with customer support queries. Some common tasks that they perform are

  • Create a personalized shopping experience

  • Provide order related info

  • Help solve Customer queries

  • Cross-sell or Upsell Products

  • Follow up on customer feedback

  • Follow up on social media responses

Right now we are focussing only on creating a personalized shopping experience for an apparel e-commerce platform.
The Bot will help the customer in shopping for clothes, by providing them with specific products which they want. The bot will handle this by accomplishing three smaller goals: 

A search query will be considered valid only if it returns less than 10 (a flag value) products.


Gain user feedback to improve the datapoints collected

Generate a valid search query through conversation with the user

Feed the query to search products

Use Cases

The goal here is that the user wants to shop for a product. It can be divided into use cases depending upon what type of product the user is looking for.

  • The user is sure about which product they want and understands how to communicate with the Bot

  • The user is sure about which product they want but does not understand how to communicate with the Bot

  • The user is unsure about which product they want and understands how to communicate with the Bot

  • The user is neither sure about which product they want nor understands how to communicate with the Bot

Chatbot Personality

The chatbot personality is an essential element to consider while designing a chatbot. It defines the way in which the users will perceive your brand. And since the chatbot will be interacting with a lot more users that your average support team, it is very important that the way it interacts is in line with your values.

Here, we have selected a sligtly quircky chatbot in line with the brand that we were designing this for.

small talk.png



Conversation Flow

The bot will start with a welcome message and some onboarding messages to help the user understand which type of responses they should enter. Based on the reply, the bot generates a search query.


1. Unclear Message / Invalid Search Query


2. Partly clear Message / Partly valid Search Query


3. clear Message / valid Search Query


The approach that I followed is a Rule-based approach to building bots. It is useful in simple cases where there are limited variations to conversations and writing a rule for each case is feasible. Here, the Bot can be called smart though it is not learning or becoming smarter as opposed to ML based Bots that use machine learning to grow and learn from their conversations. Rule Based Bots can be developed where the use cases are quite limited and the Designers want to control the interaction with the user. It’s also simple to design, develop and test. Hence can also be used for user research or scouting the market before building a more complex AI Bot.

Rule-Based Vs ML-Based Bots

That's all Folks :)