10 Simple Tips on Bot Strategy and Designs

Simplifying the process of creating good conversational AI

At Synthetic we think a lot about simplifying conversational AI strategy and the design process — from business objectives to, personalisation, conversation mapping and beyond.

Here’s a classic – our thoughts on the subject from one of our early meetups (way back in 2016 – an EON in AI years 🙂  In the main it’s still very relevant and I’ve updated here and there where appropriate. Hope you find it useful.

1. Define objectives for both business and User

The first step in planning an effective conversational AI initiative is deciding what the output is there for – for both the business and the end user. There’s no point in making something no one will want to use or find useful, and no point in making something that does nothing for your business.

Business objectives could include;

  • Generating direct sales
  • Providing better customer service
  • Drive traffic to the website
  • Building a CRM channel
  • Or (this is a common one at the moment and still relevant in 2020 ) innovate to test & learn.

User objectives could include;

  • New  experience
  • Easier access to information
  • Quick help or support,
  • Entertainment,
  • Or problem-solving.

So define both sets of objectives clearly and look for how these could overlap within your KPIs

2. Define Your Domain

With an understanding of what you are trying to achieve, think about what topics your digital assistant, chatbot of voice interactions will cover. How deep the knowledge will be – referred to as the ‘Domain’

How broad is the area of expertise? Taking a generic ‘room booking’ assistant. Are we dealing with booking any kind of accommodation anywhere in the world? Or just hotel rooms anywhere in the world? Or just hotel rooms in London?

Alongside the ‘how wide?’ question, there’s the ‘how deep?’ question. Is our room booking bot going to try to be aware of every hotel room in London? Or just the rooms our client is selling?

Ultimately, infinite depth is possible by linking out to the internet, so what you need to think about is ‘how much do we deliver within the chatbot?’, and at that point does the journey has an end, or do we link out to allow users to continue to dive into the topic’?

The answers to these questions are generally obvious for functional/transactional bots and need a little more thought for information/content-led chatbots.

3. Determine Where to Use guided navigation (Rails) vs free text input (NLP)

Rails are preset conversation paths that move sequentially through stages, with clear signposting and buttons for the available options.

Content → Option A B or C → Content → Option A B or C

NLP (Natural Language Processing) is a syntactical analysis of free text input to determine intent, and deliver the relevant content or action.

It’s NLP that determines that;
“I want to find a room in Athens next week” includes;

  • Intent to book a hotel room
  • The location of that room is Athens
  • The room is needed in the following week.

A typical NLP system would need to ask ‘Athens, Georgia or Athens, Greece?’ and clarify the exact dates that ‘next week’ refers to. Then it’s got what it needs to go and query a database of available rooms. And actually, Rails vs NLP is a false dichotomy anyway;

In practice, almost any chatbot will require both a set of clear, signposted branches/pathways/user journeys AND some element of keyword- and keyphrase-based response – with some exceptions including areas such as healthcare where ambiguity isn’t a good thing

Rails are important signposts that help users avoid the tyranny of choice that comes with free text input.

Even without NLP, keyword input is useful for manipulating data. E.g. using ‘cheapest’, ‘most popular’, and ‘nearest’ to filter a presented data set.

Responses to ‘small talk’ keywords and phrases are also important — always make sure you know how to respond to ‘hello’ (and its many variants), ‘help’, ‘I want to talk to a human’, ‘tell me a joke’, ‘how are you?’, standard emoji and stickers, images.

Part of the skill of chatbot design is to identify when to use rails and when to use NLP.

4. Map Out your Conversation Tree, Keyword Responses and Data Sources

These are the three pillars of bot content planning. Miss any out from your planning and your bot is likely to fall over.

  • The conversation tree is a map of all user journeys and content outputs.
  • Keyword response is the definition of how the bot will respond to keyword inputs
  • Data sources are the databases, files and repositories containing information and content that will be delivered through the bot.

5. Creating Your Conversation Trees with Mind Mapping Software

Conversation trees map out all the user journeys through the conversation.

They are the chatbot equivalent of programming flow charts, mapping each step of a user journey from the welcome message to final outputs.

Currently, there’s no chatbot-specific design software. We have found that mind mapping works well for creation (we use Xmind).

As trees get complex, these flows can become unwieldy documents, but they are supremely useful for communicating to colleagues and clients exactly how the bot will function, long before there’s a prototype to play with.


But you don’t have to use mind mapping. We have received briefs with complex flows visualised in Keynote.

There are lots of WYSIWYG chatbot prototyping and building platforms out there offering drag & drop visual building tools.

If you’re working with one of those platforms, that may be sufficient for you and might save some time. But like any journey through new territory, we find it is always useful to have a map of the journey to refer to.

Also, a standalone, platform-independent design process may allow you to move your logic from platform to platform more easily.

6. List the Keywords and Phrases You Will Respond To, and How

We have found three levels of working with text input in bots

Basic keywords
Specific keywords or phrases that navigate users to a specific location in the conversation tree. EG ‘help’ jumps straight to a help content block, that outlines all the principle keywords and actions.

Another example is the collection of ‘small talk’ phrases — stock responses to common conversational phrases like ‘hello’, ‘how are you today?’, ‘i love you’, ‘Do you want to f*** w** **?’ and the many other phrases that are commonly entered into all chatbots.

Data manipulation keywords
Using keywords to carry out data set manipulations like filtering and reordering. For example in a product recommendation carousel with 4 t-shirts. “cheapest” replaces the current set with the 4 cheapest t-shirts. “popular” replaces it with the 4 best-selling t-shirts. “grey” updates the carousel to only include grey t-shirts. etc

AI, Domains & intents
Textual analysis of input phrases to identify the message’s intent and determine the appropriate response. Requires plugging an NLP platform (eg IBM Watson, DialogFlow, Rasa, ODA etc) into your technology stack, and on-platform coding and configuration.

7. Data Specifications

Almost any useful chatbot will need to connect to data. During the design process, outline in as much detail as possible:

  • Where your data is coming from (bot-specific databases, existing owned databases, 3rd party APIs etc)
  • The format each of these delivers in
  • The queries underlying each dynamic component
  • Relationships between the different datasets

Where’s the data coming from? In what format? What are the queries underlying each dynamic message?

8. Contact Strategy

At a minimum, you will need to let people know the bot exists to get users. Beyond this initial promotion, you will also have an opportunity to broadcast messages to users of your bot. And you can provide subscriptions.

Broadcast restrictions are likely to be an area of interest to Facebook, so make sure you’re following their developer blog, keeping up with policy changes and having a compliant strategy.

Update: within Facebook Messenger, policy changes in March 2020 mean the ongoing contact strategy for your bot has changed, with the depreciation of subscription messaging – now only available to news organisations

9. Test and Iterate in Bot

Real-world testing is vital. Make sure your project plan has a test rollout to a closed group before you go live — staff, superusers, friends, and customer panel.

Capture the last comment and failed responses to tune your matrix of keywords and phrases.

You will learn a lot about user expectations during this testing phase. You will also learn some new swear words.

10. That’s it.

Ok, so it was 9 tips 🙂


Drop us a line at hello@thesynthetic.co for tip number 10 – and a conversation about automating your lead generation, customer service and experience using conversational AI.

Companies like Oracle, Perrigo, Bayer, Absolut, Manchester City FC, Arsenal FC, NiQutin, XLS and Sony have come to us for expert strategy, design and build and optimisation using conversational AI and emerging technologies.

You should too.

Conversations Worth Millions