Getting started with Chatbot design
Getting started with chatbot design can be a daunting task as there are too many parameters to consider. Luckily there is a solution — Chatbot Design Canvas V2! You can use this canvas to quickly answer the most pertinent questions to get started. Use this canvas during the initial analysis and design stage where all stakeholders are involved. The aim of this exercise is to get a 360 degree view problem and the evolve a chatbot solution.
#ChatbotDesignCanvas is a canvas that was developed in 2017 to get an bird’s eye view of the chatbot design, development and its lifecycle. Since then, the the community has received it well and some even translated it to other languages. But over the last two years, Conversational AI technology has evolved catering to the needs of the industry and user communities. In view of these changes, I believe it is time to revisit the canvas and redesign it.

In this article, I am adding a few new elements to it, renaming a few and updating some of the old ones. I hope this upgrade is useful to you to understand the factors involved in delivering a great conversational experience. So here we go!
Chatbot Design Canvas V2
Chatbot Design Canvas is a tool that can used for high-level design of a chatbot. The canvas prods you to ask certain questions in a certain order with the aim of figuring out the necessary parameters even before you get into conversational design and development.

Click here, Goto File, make a copy and edit online in your Google Drive.
Value proposition
Start here! What is the purpose of the chatbot? What customer pain point is it going to address? Is it going to talk to them about weather? Share prices? Assist them in banking? Help them in online shopping? Or help them troubleshoot a product?
And what value does it bring to the user? Save time? Reduce cost? Take repetitive low value tasks away from human agents? Make help available 24x7? Clearly defining the purpose of the chatbot makes it easy to answer other important questions that are to follow.
Identify the purpose of the chatbot. Why does it need to exist and what value will it provide users?
Users
Think about users. Who are they? What age group do they belong to? Are they your customers or are they employees? Are they of a particular gender? Are they from a specific geography? What about language and culture? Are they internet savvy? Tech savvy? Even if you are just building another journey in an existing chatbot, you may still want to identify the sub group of users who the journey is for? For instance, you can come up with something like, “This chatbot is for those who have problems with..” and so on.
Another important characteristics to be concerned about is your user’s lifestyle choices. What are their values and interests? Being eco-friendly? Do they care about a healthy lifestyle? These information will help you design a chatbot with a personality that your average target user will be attracted to.
Also, do not forget the power users. These are people who will interact with the chatbot at a meta level seeking reports on performance, or configuring it and so on.
Identify the characteristics of your target user group. Understand them.
Current Solutions
This one is new to v2. How do the users you have just identified solve their pain points currently? What current solutions are there? Why are they failing and how? What can you learn from them? What features in current solutions do the users like and what do they dislike?
Current solutions could be websites, mobile apps, human agents on chat or telephony, or walking into a brick and mortar store, etc. While there may good reasons to replace them with a chatbot, there will be features that users might miss if current solutions are replaced. For instance, replacing a form with a chatbot may not be appealing if the chatbot will not allow the user to revisit his answers and make edits.
What features in the current solutions are irreplaceable?
Devices and Modalities
Having figured out who your users are, try to figure out the kind of devices they own or have access to and modalities of interaction— textual, spoken or visual that they might be interested in.
There are variety of devices that can be used to access chatbots: smartphones, tablets, laptops and desktops. Which of these devices do your users have and use the most? While largely ignored, traditional devices like landline phones and simple feature phones can also be used to access chatbots. These devices do not depend on Internet data and therefore could be considered an option for users located remotely where data connections are faulty or unavailable. Other emerging devices for automated chat are smart speakers like Amazon Echo and Google Home. If your chatbot is addressing problems in the user’s living room or in the kitchen perhaps, then these devices could be on your list.
In terms of modalities, ask if your users will be happy to push buttons as they progress through conversation, would they like to use natural language either in text or speech formats or would the task be complex enough to add visual elements in conversation.
Identify devices and modalities in which your target users would like to engage your chatbot in.

Channels
So where will your chatbot meet the user? There are many channels for chatbots. In 2016, industry giants such as Microsoft and Facebook opened their messaging platforms — Skype and FB Messenger for chatbots. Many others followed. Now there are number of messaging platforms where chatbots thrive — WeChat, Kik, Telegram, to name a few. WhatsApp, Google and Apple Business Chat have been warming up to businesses as well to let them speak with their customers using chatbots on the platform. Which of these channels would your user frequent? If they already have one of these apps, wouldn’t that make it an ideal candidate for deploying your chatbot? What visual UI elements do these platforms support — buttons, cards, carousels? Which ones would you need?
Although messaging channels such as the above are good options, most traditional and popular options are webchat, mobile app chat and telephony. These are channels that can be part of existing solutions such as a business website, mobile app and telephony platform. So for instance, instead of speaking to a human agent directly, customers would be directed to a chatbot first and then to a human agent if necessary.
With smart speakers, there come the option of making your chatbot available as a skill or action as part of the virtual agents like Alexa and Google Assistant. Finally, you may want to consider SMS as well as it allows communication without data.
Identify channels that your target users already use. Can you deploy your chatbot on these channels for easy and frictionless onboarding?
Conversational Tasks
Having identified the value proposition, users and platforms, lets move on to identifying the specifics. What tasks do you envisage your chatbot doing? At this point, we need to break down the value statement into conversational topics and break topics further down into tasks. For instance, in a retail environment, the chatbot could provide value to end-users (i.e. consumers) by answering customer questions round the clock. Now the topics of conversation as such would be about delivery issues, returns and refunds, troubleshooting, etc.
By further dividing the topics into tasks in this regard, one may come with tasks such as getting delivery rates (e.g. a conversation where the chatbot can ask delivery address details and calculate delivery rates and options), returns checker (e.g. a conversation where the chatbot asks questions to check whether the product can be returned without any hassle or not), etc. Finally, you can also briefly explore how complex the conversation can get.
Identify and mockup conversations that the chatbot need to deliver in order to provide value to the user.
Personality
Does a chatbot need a personality? This is a question with many answers. Due to the nature of interaction (i.e. conversational), users invariably assign personalities to chatbots. So it is better for designers to figure out the chatbots personality before users do. So ask these questions: Do you want to give your chatbot a name? And may be a face? Is it going to be an extrovert? How formal or casual will its utterances be? Is it going to do small talk? Perhaps even tell jokes and limericks?
Personality has become a hot topic in chatbot design. Due to its conversational nature, users anthropomorphize chatbots and treat them like humans. They say their hellos, thank-yous and sorrys even if they know that chatbots are not humans. So it is now become important to design a consistent personality for the chatbot to make conversations simple and engaging. This is made possible by creating a persona for the chatbot, identifying its personality traits, and defining content guidelines to authors so that conversational content that gets created have a consistent style and creates an illusion of talking to one single person rather than the number of authors involved in the creation of the content.
Identify personality needs for the chatbot and how it will impact the conversations.

Relationship
Think about the relationship your chatbot is going to have with the user. Is it short term or long term? Short term relations are like one time conversations. The bot will not have to remember the user from the last time they had a conversation. This kind of relationship is suited bots that support tasks that users may carry out just one time or repeat it very rarely. There may not be any value in remembering the user. Long term relationships are those where the user talks to the bot on a regular basis. The bot may assist the user on frequently repeated tasks — checking balance on bank account, making payments, shopping, submitting meter readings, etc. Deciding between the two is important for technology and conversation design. It answers questions like — Do we need to store user info? Do we need to model the user’s goals, beliefs, constraints and use them in the future? How do we greet the user everytime they start the conversation?
There is also another scale of measure for relationships — power. What kind of power equation do the user and the bot share? Is the bot an assistant or is it an advisor? Or is it a friend — sort of half-way between an assistant and an advisor. Assistants are those who take orders from you. Advisors are those who set up tasks for you to do. Friends are those who do a bit of both-they help you at times and they do advice you too. This decision also has a bearing on conversation design.
Interestingly, power and term factors are related. In fact, power relationship can dynamically change in a long term relationship. It can start out as two strangers (bot and user) and after a few interactions they could get to know each other a bit more and become “friends”. Chatbots should aim to model users in a gradual manner and understand their boundaries. They should make users feel comfortable and never cross the line.
Identify the kind of relationship the chatbot is supposed to have with the users — friend, assistant, advisor, etc.
Background Tasks
A chatbot is not just for making conversations. It needs to carry out tasks in the background at the same time it is chatting with the user. For instance, a ticket booking chatbot, will need to access the tickets database to check for availability and book tickets as part of the conversation. For chatbots providing access to information such as weather, share prices, etc, the backend tasks may be simple. On the other hand, chatbots assisting online shopping may have to access the back-end Content Management Systems (CMS) like Magento, Shopify, etc to search, get product information, create carts, take payments and delivery information and to finally checkout. Likewise, chatbots providing marketing services should be able to talk to the CRM systems like SalesForce, HubSpot, etc. Such interactions can include a variety of tasks like creating a lead, recording an enquiry, etc. Other simple tasks would include sending information via email or SMS to the user.
The idea here is to create a list of back-end tasks and map them to conversation tasks to visualise how the conversation may need to be amended so that back-end systems are accommodated robustly.
Identify the back-end integrations to existing systems that are required to make conversations possible.
Fallback mechanism
What if your chatbot fails? What if it does not understand the customer’s intent? Who would it hand over to? Many successful use-cases of chatbots do have a human team to backup the bot! How would you integrate them into the system? Are you already using a live chat or a telephony platform that you can integrate with? Many popular live chat platforms are being redesigned to fit in chatbots as agents alongside humans. So it should not be very difficult to find a livechat platform that is compatible with your chatbot. Another question to think about is how to pass the context to the human agent. A human agent would like to see the entire conversation history between the customer and chatbot so that she gets the context and continues the conversation. Think about how that can be done.
Identify fallback systems that we can depend on when the chatbot fails — human agents?.

Development/Deployment
So you have figured out many things so far! The next thing to worry about is how to develop the chatbot. Having identified the conversational tasks and channels, it might be easy to figure this one out. What you do here is to choose development and deployment platforms that are right for your business and chatbot requirements. There are so many options when to comes to development and deployment platforms for chatbots. Let me list a few types:
- No-code platforms: These are platforms where you can build a chatbot using a drag and drop interface. You can easily build conversational journeys that users can navigate using buttons. Most platforms also support natural language processing (NLP) and so it can be used to map the user’s initial request in natural language to a conversational flow. There are many flavours — channel based (there are many that easily integrate with FB Messenger and other messaging channels), livechat based (these are extensions to live chat platforms) and CRM based (these are extensions to CRM platforms). So if you already use a livechat or CRM service, it would be a good idea to check if they already support chatbots on their platforms and start from there.
- NLU platforms: NLU tools like Google Dialogflow, and IBM Watson can be used to build chatbots that converse using natural language. Give them training examples and they learn to identify intents from user utterances using machine learning. Conversation flow can then be built using intents. These platforms have evolved to support buttons, cards and other visual UI elements. They also integrate well with many popular channels and also support traditional ones like webchat.
- Script based chatbots: Another approach to build chatbots is to use AIML (Artificial Intelligence Markup Language) type scripting languages to design the conversation flow. One needs to put in a little effort to learn the markup elements and the process to build conversational flows. Try Pandorabots if you are interested in this approach.
- Chatbot libraries: Most of the above approaches to development do not include coding. The platforms provide tools for authoring and integrations with channels. However, if you want more freedom in the way the system is configured, (perhaps, you have legacy backend systems that need to be integrated with), then coding the modules is the right way to go. There are several Chatbot and NLP libraries (Spacy, NLTK, OpenNLP, StanfordNLP, BotBuilder, Rasa, ChatterBot, BotPress) that you can use. These modules then need to be hosted in the cloud and integrated with appropriate channels. This would be the most difficult way to building chatbots but it is also the most flexible if you want to wield control of the virtual agent.
Identify platforms for development and deployment of the chatbot. There are many to consider. So explore and choose wisely.
Barriers
As chatbots are becoming mainstream, many people have also identified barriers to their adoption. It might be a good idea to have a think about them now rather than later. Identifying barriers can help us address them at an early stage while we are still planning and designing the blueprint. Chatbots generate a lot of conversational data. Where would the data be stored? Think about all the places where they might get stored. Will it be encrypted? Will the third party channels, that you plan to use, store a copy? Would live chat platforms that you integrate with also store data? Is there a data risk? Will data be encrypted during transit as it moves from one module to another? Do the platforms you integrate support encrypted transfers? How can you mitigate the risk of data loss? Are you complying with all the regulations in your domain/business vis-a-vis data handling? Think about it!
Identify regulations, guidelines, and constraints that will act as barriers to your effort to design/develop a chatbot-data security, privacy, etc.
Discovery
How will the chatbot be discovered? Unlike websites and apps, chatbots are still very much new and confusing. If I were to tell you, I have built the most awesome website or mobile app ever, what would you do? You would ask me for its address (URL) or name of the app. You would then visit the site using the browser or search the appropriate app store. However, what would you do if I told I built a chatbot. Where is it? How do I interact with it? What would it do? How can I interact with it in a meaningful way? There are so many such questions in your user’s minds as well. Discovery, therefore becomes an important issue. It includes both the act of discovering the chatbot as well as what it does.
Think about how the chatbot service will be marketed. Setting the right expectations, giving users enough information about the channel, about steps to onboard, and how to get help if one is stuck are things to explore during this phase.
Identify how the chatbot and its services will be discovered by the target user group. Think about how can you make onboarding as easy as possible?
So there you go! Twelve factors to consider before you seriously get into the business of designing and building a chatbot or conversational AI solution. This canvas can be used to give you a bird-eye view of the project before you embark on it. Give it a try and let me know what you think.
