Key Steps to a Chatbot Pilot Program

How to support audiences who prefer conversational interfaces for accessing content
Adam Kempler

Software Architect

Adam Kempler

March 13, 2018

Over the past decade, the big push was towards “mobile first” websites. Today, it’s accelerated adoption of chatbots and other voice and text interfaces.

One in six Americans now owns a voice activated smart speaker according to NPR and Edison Research. This is up 128 percent from January 2017. Most analysts predict this penetration to triple by 2020. Additionally, as artificial intelligence (AI), machine learning (ML), and natural-language processing (NLP) improve due to multiple factors including integrated AI chips, adoption of these devices for search and consumption will increase.

With the growing prevalence of voice platforms such as Alexa, Google Home, and Siri, and the ubiquity of messaging apps like Slack, Facebook Messenger, and Telegram, audiences are increasingly conducting their daily lives with these tools. (See my post on Why Smart Content Connectors are the Future of Government Websites for more on this topic.) Chatbots are one easy way for websites to support these new behaviors for finding and consuming content.

Why start with a pilot?

Taking advantage of these new search and consumption paradigms can seem like a daunting task for an organization. However, when approached and implemented through the lens of a pilot program, the scope and cost can be significantly reduced and controlled while at the same time mitigating risk.

A pilot creates an iterative and agile springboard for embracing and integrating chatbots, AI, machine learning, and other new technologies into your organization. We’ve found that the simple steps, outlined below, can help ensure a successful chatbot pilot program.

What exactly is a chatbot?

Chatbots are computer programs that a user can interact with via text input and/or voice. They often take advantage of artificial intelligence tools to help “understand” what someone is saying or typing to help it choose the appropriate response.

Chatbots are an important tool for creating frictionless access to content on a website and reducing load on customer service teams. The customer MDC Hunting Chatbotservice/support chatbot is the perfect place to start a pilot program. Most government support staff deal with a number of questions for which they are repeatedly supplying the same answer. A chatbot can become a first point of contact for these types of questions and answers, freeing up internal resources.

When planning a chatbot, there are two different types of channels that can be used: Text input and voice. These are not exclusive, and should be chosen based on how your audience is looking to access your information. For the initial pilot, it’s best to start with a single channel to keep things simple. You can always add another channel later. Text input can be a good choice to start, as your audiences are already interacting with your website. Identifying where to best reach your target audience is the primary factor in deciding what channel should be used for your pilot.

For example, while developing the Missouri Department of Conservation’s (MDC) chatbot pilot, it made sense to start with a chatbot window on their website that could prompt users with a set of questions. Each question was crafted to gather the information necessary to ask the next question. Ultimately this enabled the chatbot to provide users with relevant hunting and permit information that is pulled from their database. (This chatbot is slated to release in summer of 2018).

Key steps to put together a pilot program

The following is the process we used to set up the MDC pilot.

1) Planning

– Identify a pain point

Define a top pain point in your audience communications. Often this can be determined by talking to your customer support staff. What are some questions where they consistently provide the same answer. Try to find a set of questions/answers that are related and have a consistent audience. This will allow your pilot to be more focused and to control scope.

– Create a project brief

A project brief should define your primary objectives and audience for the pilot chatbot. For example, an objective might be: “Reduce calls to customer support for hunting permit costs.” Try to limit the number of objectives to one to three for the pilot. And try to make them measurable so that you can track the effectiveness of your pilot and adjust it as necessary. While designing your chatbot, you should come back to this document to control scope. If you find your team planning features that don’t meet the documented objective or audience, then add that to a phase two. Keep the scope small and focused! Think minimum viable product.

– Determine the appropriate channel

Identify the channel that will be used for your pilot – voice or text input. Voice platforms include Alexa and Google Home, while text input includes platforms such as Facebook Messenger, Slack, and Telegram. Additionally, a chatbot embedded on your website would also be an example of text input. And as mentioned above, a website chatbot is often a great place to start.

– Determine the appropriate platform

Where are you best able to reach the primary audience you defined in the Project Brief? If it’s your website than an embedded chatbot is likely the best option. Or maybe you have a large Facebook social media presence where you are interacting with your primary audience. Then maybe Facebook Messenger is a viable channel for your chatbot pilot. It’s important to remember that you’ll easily be able to grow your chatbot to other channels as you expand your pilot program.

2) Conversation architecting

– Conversation design

Start with a simple spreadsheet and define the hierarchical flow of steps that a user would take to get to the information they are seeking. Identify the questions they might ask, and the follow-up questions and replies from the chatbot. In other words, what does the flow of a conversation between the user and the chatbot look like with the user getting the information they need. This document will serve as a starting point for developers and/or UX to refine the conversational requirements. Some additional things to think about are how a user might escape the conversation, (ever been stuck in a phone tree and mashed a button to try to get out of it?). Also think about how you might re-engage the user at the end of the conversation.

– Identify triggers

If your chatbot is going to be embedded on your website, you need to think about how a user might trigger that chatbot. Triggers can be automated and manual. For example, you might have the chatbot window popup when a user spends more than 20 seconds on pages tagged with a particular keyword. Or it might be triggered based on certain search terms. You’ll also want some form of visual icon/graphic that a user can click on to initiate the chatbot window.

– Identify hand-off options

If the chatbot is unable to help the user, do they have an option to escalate the conversation to another form of communication, such as live chat with a customer service person? Depending on the audience, and their response time expectations, a simple hand-off system could be to redirect them to a customer support email form. Information from their current chatbot session could pre-populate the form.

– Determine backend integration requirements

Once you have defined your conversation flow, you need to identify any backend integration requirements. For example, the Missouri Department of Conservation chatbot integrates with their existing website to retrieve a list of animal species, hunting seasons per species, and permit information and costs. Think about the kinds of data that your chatbot will need to know about, where that currently lives, and how often it is updated. Data that changes very infrequently can be hard-coded right into the chatbot. However if it is dynamic data, you’ll want to integrate your chatbot with your backend systems.

– Locate the best tools for the job

The number of tools and platforms for implementing chatbots is seeing explosive growth, from open source libraries such as Botkit and Botman to enterprise ready systems which include IBM Watson, Google Dialogflow, and Amazon Lex. Mixed in with that are a wide range of tools that provide AI, machine learning, natural language processing, and analytics.

Criteria that can influence your choice include:

  • Price
  • Language support (php, javascript, java, python, etc)
  • Backend integration capabilities
  • Channel support
  • Ease of management

For the Missouri Department of Conservation chatbot we provided the pros and cons of each platform and tool as relevant to their specific requirements, and helped guide them to the selection of tools that would best meet their needs.

3) Developing and testing

– Develop a prototype

Start simple, gather feedback, and iterate. Your prototype should be a rough implementation of the chatbot. It should be just functional enough to assess whether the requirements identified during your planning stages meet the following criteria:

  1. Conversation design correctly captures the necessary dialogs
  2. Technology choices meet the identified needs
  3. Supports the channel and platform you are targeting
  4. Supports the services you are integrating with including internal and third party services
  5. Meets stakeholder expectations

Clarify to stakeholders early in the process that the prototype is a very rough, unfinished version of the pilot chatbot.

– Invite stakeholder feedback

Review the prototype with internal stakeholders and get feedback as necessary. Changes at this stage are less expensive then when the chatbot is complete. Make sure to manage scope by weighing any new feature recommendations or change requests as “nice to have” vs “critical for success.” Anything that fits in the first category, slate for phase two.

– Develop the pilot chatbot

Refine the prototype and develop the fully functional chatbot to use for your pilot. If your chatbot is going to be embedded on your website, this includes designing the actual interface and developing the integration, as well as tying into any backend systems.

Additionally, identify resources – for example, who is going to “train” the chatbot (ie, review analytics and improve its responses).

– Test

Have a variety of users test your chatbot. Verify that the chatbot is guiding users to the information it is there to provide. Document where and how the conversations breaks down. For example, when they type or say something that your chatbot did not expect.

– Assess, refine, expand

Most natural-language processing platforms will provide some mechanism for reporting and training. This is where you can view what terms and phrases your users are typing or saying to the chatbot. Check to see that user questions were correctly matched to chatbot dialogs, or if the chatbot was unable to match to a valid response. You can then enhance and refine your chatbot conversation capabilities as necessary.

Closing thoughts

One of the things I advocate when developing websites is that the technology should be invisible. It shouldn’t get in the way of whatever your users are doing, whether it is a front-end user trying to navigate through multiple hierarchies of content to find a piece of information, or the backend where internal staff are creating content.

The goal of chatbots, bots, AI, ML, and other related technology should, in some part, be about removing the complexity of visible technology, and the inherent friction that standard visual interfaces can put between a user and their objectives. Conversational interfaces can help to directly connect users with the information they need, as well as carry out the actions they wish to perform.

Learn more

Author bio

Adam Kempler is currently developing chatbot pilots for the State of Missouri and GovWebworks CivBot. He’s been building web and mobile solutions for Fortune 100/500 companies and government agencies for the past two decades. When he’s not talking with chatbots at work, he’s creating a mobile, conversational robot at home.

Was this post helpful?