Skip to main content
Launching an Enterprise grade Chatbot

Launching an Enterprise-Grade Chatbot in a Week

  • 05 June 2020
  • Digital Growth Agile Strategy Connected Customer Experience

Few areas saw surges in demand like customer service when engagement channels flipped from offline to online overnight in mid-March.

Although the idea of speed and moving quickly can often be used hyperbolically today to describe anything around transformation, every moment literally mattered in this case.

In this discussion, Julian Dale, Kin + Carta Partnerships Architect, and his team will take you through an accelerated journey through the process of designing, implementing, and deploying a chatbot that uses Google Dialogflow to deliver an automated customer experience that can answer common questions in a conversational and engaging manner, leaving stressed support teams to focus on more complicated tasks.

Return to all on-demand sessions

Go back


Julian Dale, Partner Platform Architect at Kin + Carta
Katie Jelicich, UX Researcher at Kin + Carta
Chris Weiland, Director of K+C Americas Labs, Kin + Carta

I'm Chris Weiland, Director of Kin + Carta, Americas Labs. And joining me in this talk are Julian Dale, Partner Platform Architect at Kin + Carta, and Katie Jelicich, UX Researcher and Conversational UX Specialist at Kin + Carta. In this session, we're going to take a deep dive from both a technical and a user experience perspective into the benefits and challenges of building a chatbot to address a specific business use case. We'll dive into Google Dialogflow, build a chatbot, and demo it. And finally, we'll talk about what it really takes to design, build and deliver a production-level scalable chatbot.

The COVID-19 pandemic has created new challenges and opportunities in the ways companies engage and interact with their customers. If you attended the earlier FWD20 session, Meet Volume with Velocity, with Ryan McGuire and Matthew Di Bari, you learned that technologies like AI and chatbots can be deployed quickly to address rapidly evolving business challenges. The uncertainty and change driven by COVID-19 has caused strain in customer support teams not only to be overburdened with an increasing volume of requests but also to be tasked with providing information to customers that can change rapidly as the crisis and the response evolve. Customer support organizations need to deploy quickly and scale new ways to reduce this strain on their teams, letting them focus on high-value and complex customer issues while giving them the ability to provide the most up-to-date and relevant information to their customers. I'm now going to hand it off to Katie Jelicich who will share details on how chatbots provide a powerful and rapidly deployable solution to this challenging problem. It's all yours, Katie.

Hi, I'm Katie, a User Experience Researcher and Convo UX Specialist at Kin + Carta. As Chris mentioned, one of the many consequences of COVID has been an influx of customer calls that has overwhelmed support teams. This problem isn't simply about handling a larger volume of incoming questions. The current challenge is amplified by the rapidly changing nature of what needs to be communicated to customers. Organizations are updating their policies and operations much more frequently than normal, often in response to external factors like new state guidelines and disruptions to the supply chain.


So where do chatbots come in? How did they solve these challenges, especially in a way that's surprisingly seamless and efficient for large organizations to implement? Although chatbots can't cure COVID, they can reduce strain on your customer service center while increasing the number of calls being addressed. Chatbots can handle a high volume of incoming questions at one time. One chatbot can communicate with many customers at once, and they're available 24/7. If the chatbot can address these simple questions even if that low-hanging fruit is only 10 to 20% of your customer calls during busy hours, it frees up your employees to spend their time on the more sensitive or more complicated needs that truly require human judgment and communication skills. This idea clearly has promise from a business standpoint.

But what about the benefits to your customers? A chatbot is only valuable to your business if it's actually being used and it's delivering a positive experience. First and foremost, the products and services you create need to help your customers accomplish their goals. When someone contacts customer service, their main goal is probably to get a question answered by your organization or perhaps get a problem resolved. At minimum, this chatbot needs to actually answer customer questions. Fortunately, you already have an approach for this. In this use case, think of your chatbot like a new entry-level customer service representative. They need training on common customer questions and they need a script or at least talking points on how to respond accurately and appropriately. If your organization is overwhelmed with customer calls, you already know what these incoming calls are about and you've already crafted responses. But a chatbot should also be appropriate for the situation and the specific types of questions that customers are asking.

So what happens when an entry-level customer service rep encounters a call that is above their responsibility? They transfer the call to the manager or whoever is better-equipped to handle the situation. Similarly, with the right setup, chatbots can transfer the more complex customer questions to a human representative. As you investigate the types of the questions your call center is spending time on, assess which questions a simple chatbot might be able to answer instead. As Julian will show next, if you've already created the COVID response FAQ for your website or customer service employees you have a quick and efficient use case for a chatbot. This is because a chatbot built with Dialogflow can essentially read information sheets and FAQs with just a little bit of help. When that content is updated, you only need to update one centralized document. A chatbot can also be programmed with logic. For example, if your customer's location determines which store hours are relevant or which face mask requirements apply. A chatbot can also integrate with other platforms and services being used by your service team, like an order tracking system or an appointment scheduler. It's important to point out this type of chatbot is not competing against what you have now, like your website or your amazing customer service team. It's really working with your other communication channels to support your customers, to help them accomplish that main goal of getting a question answered. That being said, your customers will choose between different channels based off of other goals and needs they have, like time and availability.

So when and why is a chatbot a superior tool for your customers? When is it usually a better experience than alternatives? Firstly, as a customer, I can use a chatbot on my own time, like 2:00 AM on a Sunday or if I'm calling during peak hours, I don't need to waste my time on hold. No matter how upbeat your hold music is, I guarantee your customers would rather be doing something else. On the flip side, customer service reps are often busy and they sometimes get a little annoyed if it takes too long for you to do something like find that order confirmation number buried in your email inbox. Even worse, you're on hold for 30 minutes, so you start doing something else like cooking dinner. And of course, the customer service rep becomes available right when you need to take everything out of the oven. But chatbots are endlessly patient and they can be used while customers are multitasking or when they need time to find information or make a decision during that conversation. Importantly, chatbots are also a more direct way to find answers compared to sifting through dense information, like clicking through multiple menus on a website or an IBR system. How many times have you found yourself listening to a phone tree? And by the time it's listed the eighth option you've already forgotten what the first four options even were, let alone which option sounded like it might be the one you want.

My point is with websites, apps and phone trees, finding information to answer a simple question can take 10 taps and three wrong turns before eventually getting to a relevant answer. Simply asking, "Are dogs allowed inside the store?" takes five seconds from asking the question to getting an answer. Allowing customers to ask questions using their natural language and immediately receiving a relevant response can be a much more intuitive and an efficient way to get that question answered. Another consideration is whether the experience should be a chatbot that uses text and visuals to communicate or whether the experience is better suited for a voice assistant. This decision is partly dependent on whether your customers are able to interact with the screen or if they need to be hands-free. Chatbots are better for scenarios when a person may need to enter details that are not appropriate for others to hear like a pin number, whereas voice assistants are ideal when your customer cannot pay attention to a chat screen, like when they're driving. The tool that Julian will be using as a demo actually allows you to build a conversational experience in both voice and chat using the same platform. I've shared many reasons why chatbots can be a valuable tool. So without further ado, I'll let Julian show you just how easy it is to create a customer service chatbot when you have the right tools.


Okay, thanks a lot, Katie. So what Katie has been speaking to you up until this point is really, you know, what chatbots can do to your business. But up until this point, the talk has been pretty technology agnostic. So what I really want to talk about is a very specific chatbot technology, It's the one Kin + Carta uses for pretty much all of our chatbot experiences. We really like this solution, Dialogflow, mainly for its ease of use. We have a ton of experience in it. And in our kind of comparative analysis it has some of the best NLP engines that we see across the different chatbot providers. So I wanted to quickly talk to you about some core Dialogflow concepts in order to help you understand what we're going to be showing in this demo a little bit better.

First and foremost, the first concept that we need to understand in Dialogflow is agent. So the way you can think of an agent as you know it's a virtual person. It's the actual chatbot that your customers will be interacting with. The next one is Natural Language Processing. So when you think about conversations, there are multiple ways that you can say really the same message. So what the NLP does for us is it really allows us to boil down this wide array of speech and language into what we call an intent. And an intent is really the user's intent to do something. So for example, if I say, "Check my bank balance,” or, "check my account balance,” or "How much do I have in my checking account?" All of those things are different ways to say the same thing, which is, “I wanna know how much money is in my account.”

The next one is Knowledgebase. So we're gonna be focused on this one quite a bit in this demo. This is a new feature of Dialogflow. Really what it is, is an engine to ingest different FAQ documents. So you can essentially upload or link it to an external FAQ page and it will automatically generate your utterances and your intents. And then the last core concept is really fulfillment. So once you understand what the user is requesting from you, you have to then go and actually take that action. So those are the core concepts.


Let's go ahead and jump into the demo real quick. What we're doing in this demo is we're creating a new Dialogflow agent, and then we are uploading an FAQ page. We're just gonna give it some intents and then I'll demo kind of what we get out of the box with that FAQ page, as well as show you how to add more specific language in your chatbot that might not be in that FAQ page. Just go ahead and hop over to Dialogflow. So the first thing we're gonna do is just create an agent. So let's name this one FWD_Bot, yeah. So creation of the agent can take a few minutes. So you might see the video kinda chop for this period. Just 'cause it does take a few minutes to set up and do the initial training for the agent. Okay, so an agent has been created. The next thing we really need to do is two things. We need to add a service account to our agent. Really what that service account does is it allows our Dialogflow agent to be able to communicate back to whatever backend fulfillment service we have. So I'm going to enable that, and then I'm also gonna enable beta features so that we can use Knowledgebase. So again, this could take a few minutes.

Just to give you a quick review, what we've done so far, created a new agent. We came into the agent settings under the general tab, created a service account for it and then enabled the beta features. So next we're gonna hop directly into the Knowledgebase. So if we go to the knowledge tab here, really what we need to do is we need to create a new collection of documents known as a Knowledgebase. So your agent could have multiple knowledgebases. So let's name this form KIN_CANINE_FAQ . Okay, so now we have our knowledgebase. The next thing we have to do is just upload the knowledge document itself. I can show that to you really quickly here. So what I have here is just a CSV file with a few FAQ questions. You know, the main two that we're gonna be looking at the demo is what are your store hours versus are there special hours for seniors? So I use a CSV for the purpose of this demo just to make it easy. I think even in real life, you would probably wanna point this to your company's live FAQ page. So knowledgebase can ingest both CSV files as well as text and HTML files. So if you have a live HTML FAQ page, you can not only link it here but you can also do automatic reload. Which means if that FAQ page changes at all, it'll be reingested at least once a day. So that's a nice way to kind of keep your bot up-to-date, especially in times like now when, you know, things are so day-to-day and information is changing day-to-day. That can be really helpful 'cause it really limits the amount of development work you have to do.

So knowledge type is FAQ. Mime type is texts, and we're gonna upload it from local file, downloads, indexed as CSV. Here we are. Okay, I'm gonna go ahead and create it. Again, this can take a few minutes. This is quicker than creating the agent though. Okay, perfect. Let's view these details here. So we can go ahead and start questioning the bot about these right away. But we're gonna actually convert these into intents 'cause then that gives us a little bit more control if we need to modify these FAQs to make them a little more conversational. That's what the intents allow us to do. So I'm gonna go ahead and convert them to intents.


So the training phrases are kind of what you expect a user to say to match the potential responses. So you could have multiple training phrases go to the same response. That's kind of a very common pattern that we see. The last thing we wanna do, and this is really just for the point of the demo, is we wanna enable this web demo. This is really cool if you need to get your bot out really quickly to like a QA person or a product manager. So I'll go ahead and hop over there. Okay, so here we have our bot. So let's see. Hello, how can I help you? What are the store hours? Okay, so we know that the intent back here, the training phrase for the senior citizens... Let's go back and look at that. So oh, no I missed it. This one. So if I put this in exactly, we should absolutely expect that to hit the response for senior hours. Yeah, we do, okay. So what if I instead of giving it the exact match if I did hours for elderly? Yep, that did not match. It's okay, we can fix that. What about like hours for old people? No, see, that's not really working either. So these seem like valid questions that I could see you know, a user asking the bot. So we can go ahead and add these as training phrases. Let's just add an expression, hours for old people. Hours for grandma. Hours for the elderly. Okay, and now we should expect those phrases to match with the senior citizen hours. So let's go ahead and save that. So the intent will be saved, and then our agent will train. Agent training should be really pretty fast here. Just go ahead and let's retry that. Yep, so there we go. So now you can see you have a match there. So what we found in the past is being able to provide as many training phrases as possible to your intent. That's gonna give you the best experience. So that's really kind of what I wanted to demo.

So I know the title of the presentation is an Enterprise Grade Bot in a Week, and I totally agree with you that what I just showed you was not enterprise-grade. This is really just to show you how quickly we can get in and start interacting with the bot. But when we talk about enterprise grade, there's a couple other concerns that we really need to talk about. So first and foremost is what you just saw was the way I can go in and manage the bot is through that console. So this provides issues when you're working with a typical enterprise team, which is going to be multiple developers as well as you know product people, design people, who all kinda need access to the bot. And from a technical perspective when you only have one bot that can only run in the cloud, it can be really hard to manage multiple people contributing to the same bot. You know, if you're not careful about it, you can run into a lot of positions where you have conflicts or regressions in your bot just because of people kind of stepping on each other's toes.


So at Kin + Carta, we've been doing Dialogflow projects for at least four years now. So we have the development process pretty well defined, and it's a pretty mature practice. And all of our Dialogflow development teams, they follow the same process. And the process is really focused on giving each developer the ability to develop and test and debug while not stepping on the toes of his teammates. So we have a process for that. It's all automated and scripted. And then the other thing that you really need in an enterprise setting is kind of the productionizing of the bot. So some of the things that you really need is first and foremost, a testing suite. Being able to verify that your body is behaving the way it's supposed to is just as important as developing the bot. The next big one is monitoring and alerting. So the third one is continuous integration and continuous development. You know, this is a part of every enterprise project these days. And then last is analytics. You wanna be able to tell where the fail-points are, which features are your users demanding the most? Are they abandoning the chatbot? What is the sentiment they have when they interact with the bot? Are they frustrated? Are they happy? Are they concerned about the bot? So having all those analytics as well as the other components that's really what is required to make an enterprise grade bot. And these things are not trivial. They take a lot of time to set up. They take a lot of thought. You know, you generally have to build a process around it. So when we talk about getting a chatbot into production within a week, the way Kin + Carta is able to do this, and you know we've had success doing this for multiple different clients, the way we do that is we really automate all these aspects. So we have an internal tool that makes all these tasks just a few minutes to at maximum an hour. So what that means is when our developers come into, you know, the development team and they're ready to start developing the chatbot for the business, they don't have to spend time working on this. They can immediately start working on the customer value and kind of the conversational UX that goes around the chatbot. And really, you know, when it comes to building a good chatbot, the technical side is not the main concern. It really should be the conversational UX side of things because that's what's gonna delight your customers. So to talk about some of the challenges of building a conversational UX, I'm going to pass the ball back to Katie.


As Julian showed, knowledge-base is a powerful dialogue feature for quickly building a simple yet effective customer service chatbot. Other chatbots or voice assistance you want to build may require more robust capabilities and a more customized conversational experience. For example, creating a bot to book an available conference room in your office or creating a voice assistant for customers to order lunch can't be done with the process Julian walked through. At least not yet. Partly because these types of conversational experiences require more back and forth between the bot and the user along with other integrations. The broader practice of conversation design includes other steps, opportunities and challenges. One step is to create conversation flows and diagrams that document what the user can do and how your agent will respond along different conversation paths a person may go through. And it's kinda like a mix between a wireframe, a decision tree and a script. If you're designing an experience from scratch these flows and diagrams help you account for many possible scenarios, not just the ideal happy-path you hope a user takes.

At Kin + Carta, we work on cross-functional teams where user experience roles like myself work closely with developers and engineers to bridge what's desirable from a user experience standpoint with what's technically possible. Knowing how these technologies work helps our conversation designers create a realistic scope and a usable structure for that conversation flow. And when developers understand the goals and communications patterns of end users, they are better-equipped to think of creative technical solutions to power these experiences. Conversation design also includes crafting custom chatbot or voice assistant responses that are appropriate for the situation or the specific channel and for the brand. Julian's example leveraged an existing FAQ page. But other times, conversation designers are writing chatbot responses from scratch. These prompts and responses need to be clear, helpful, to the point, and ideally give the bot or voice assistant some character that makes it not just usable but actually engaging to interact with. What words and phrases does it use? How long are the responses? If the response includes a long list, how long should that list be? The way you write content for a webpage does not always translate well for these conversational experiences. For chatbots or any service that incorporates a screen, this part of conversation design includes designing how information appears and what parts are interactive, like buttons. These design decisions overlap with traditional user interface design.

Except in this case, users are not confined to the buttons available. They can also type unexpected inputs. For voice experiences, this part of conversation design includes how the assistant sounds when it's speaking a response. How high or low is its pitch? How fast or slowly does it talk? Does it convey any kind of regional accent? Conversation designers encounter these decisions as well. In a perfect world, these experiences are not designed by experts alone. At Kin + Carta, we involve clients so that their goals and their brands are included. And we evaluate the experience through analytics and use research to ensure we've really made something that's both usable and engaging. Overall, conversation design leverages many different types of skills, and best practices are still continuing to evolve, especially as we expand the capabilities of our technical tools and apply these technologies to new use cases.

As Julian showed, creating a simple yet effective chatbot can be done without being an expert in conversation design. In situations like COVID when organizations need to respond quickly to an uncertain and rapidly changing world, chatbots are a powerful way to digitally engage customers while reducing strain on support staff. And those chatbots can be deployed quickly and at scale if you know how to do it.

Want to know more?

Click here to get in touch