How We Built It: Maia

Khoros Staff

Hi! My name is Travis. I lead the team that created Maia, the Khoros chatbot. It’s pronounced MY-uh, in case you were wondering. Maia is Khoros’s new virtual guide, assistant, and friend. 


I’d like to take a moment and reflect on the process of creating Maia. By giving you some insight into how we created our bot, we hope to give you some inspiration for your own chatbot journey.

In anticipation of the release of Khoro’s newest product, Modern Chat, an amazing chat program that has AI and bot capabilities, I approached my leadership team with a concept for our own chatbot. The idea was to build a bot named Maia, that would provide both sales and support functionality, and eventually serve as a true virtual helper throughout all of our products.

The bot’s name was inspired by the Khoros Community, Atlas. The Greek titan Atlas had a child named Maia, who was also the parent of the Greek god of messengers, Hermes. Maia is all about communication and helping you navigate Atlas, so I thought this would be a perfect name. 

The project was approved and a team was put together, consisting of a Product Manager,  Developer, and Conversational Designer. This is the minimum amount of people I would recommend if you are using a chatbot development software; you should expect to have a larger team of developers if you are going to make a bot from scratch. 

At the same time, Khoros put together a group of stakeholders that would ensure the bot was serving in the best interest of every team across the company. This group is called a “Center of Excellence.” This has worked really well, and has fostered great cross-functional collaboration. Maia_Strong.gif

Building a bot is not easy. There are many pitfalls you will encounter, but we’ve found that an easy way to avoid a lot of those pitfalls is to have a clear and concise vision for the bot, then start simple to implement that vision. From there you can iterate and add additional experiences and flows. 

We wanted Maia to serve as a Sales and Support assistant. It needed to both be able to help the sales team find new leads, but also to help existing customers navigate all things Khoros. Of course, we couldn’t do all of that overnight, so for the first phase, we only focused on Atlas and, with the plan to expand into Khoros products in a later phase. Adding a bot to a product is more nuanced than just having a navigational assistant - it takes careful planning and execution. Users' needs in the product are usually more immediate, so we want to ensure that we are providing a relevant experience.

Once we had a plan and vision in place, it was time to think about the bot’s identity and persona. Studies have shown that bots with distinctive personalities drive more engagement than bots who are merely functional. When creating Maia, we wanted to make sure it had a personality that would help users while still being engaging and fun. One thing to always remember is not to try to pass your bot off as human, ever. This can be seen as deceitful to consumers. However, you can still have a bot that is clearly a bot with a human-like personality. 

When considering Maia’s personality we really wanted to get it right, so I enlisted the help of a peer who is an independent filmmaker and knows her stuff when it comes to character creation. @NatalieH  came through for us with some incredible insights and a personality for Maia. 

As a digital engagement platform, Khoros helps our customers connect with their customers. Therefore, Maia had to be a model for helping people connect. 

We looked to the people who are really good at connecting with customers, our Product Coaching team. They are a delightful mix of nerdy, helpful, and hip. Basically, everything we would want Maia to be. 


Once we had the personality down, Natalie used those characteristics and tone to build a “voice” guide, so no matter who is writing the dialogue, Maia's voice will always be consistent.  

The name, personality, and voice were set. We were ready to design and build Maia. The Khoros Brand Design team gave us an incredible design for Maia's avatar. We spent a good amount of time thinking of all the ways a bot could help our users, and let me tell you, there are a lot of things a bot can do. We narrowed it down to four main themes and started in a very basic way, knowing that we would iteratively improve over time. The themes were Sales, Education, Support, and Company Updates.

Each theme was given three possible offshoots and then branches out into a spider web of possible things Maia could help people with. I did this by mapping flows that would end in desired outcomes. Once I knew where I wanted the user to end up, I could train Maia to get them there. I also didn’t add too much activity into any one flow, instead opting for many little flows that work together to accomplish bigger things. That way, we can edit the little flows over time without disrupting the overall experience. 

Creating flows is kind of like drawing a treasure map. You have to account for user behavior, which is hard because people are complex. Luckily, Modern Chat has a pretty great AI that helps me train Maia without having to program every little thing. Once the map is drawn, the bot Developer and I worked together to build Maia. I built the flows and the developer built integrations that would allow Maia to actually do things. For example, we built an integration with StatusPage so you can ask Maia what the status of any of our solutions is. We then extensively tested the functionality on a staging website and worked out most of the bugs. 

July 13, 2020, was the big day. I was very proud to introduce Maia to the world. I hope you’ve had a chance to interact with Maia, and if they weren't super helpful, or didn’t recognize what you told them, just remember that every day they get a little better. You can be part of improving Maia by clicking on the little chat bubble in the lower right-hand corner and saying “hi.”

I would love to hear your thoughts about Maia or chatbots in general in the comments. 

Tags (1)
Honored Contributor

1) Thank you for fixing Maia so when you say "hi" she doesn't freak out at me

2) What is a 'guide'?  I assumed when choosing this, it would take me to content in Atlas, not an actual person - Nobody ever showed up though, so maybe it wasn't meant to be a person?  Edit - Eventually I told Maia I was sad, and someone from support replied :face_with_tears_of_joy:  I guess it does go to support, even though she said it wasn't going to support.

3) This is good stuff - What you guys are doing is essentially what I want to do as soon as we get modern chat up and running soon© - Knowing we have to build all the integrations ourselves to be able to accomplish anything like this, will we be able to leverage anything you guys have done to essentially make this easier? Said different, how much work overall between the two of you went into something like this / how much time you think it would take to repeat Maia from a team not experienced with bots so I can get StanBot up and running in our Community?

4) Can you expand on the AI/Bot capabilities of Modern Chat? As I remain extremely confused over these statements - What exactly does Modern Chat bring to the table in this regard, or is that additional bolt on functionality not actually baked into Modern Chat itself you are using?



Khoros Staff

Hi Stan, 

Thanks for commenting. Let me reply to your points with points. 

1) I was actually watching when Maia "freaked out" on you, I have no idea how "LOL" triggered the profanity filter, but I think I fixed it. 

2) So I like to think of the Atlas Guides as "pre-support" they can't fix your issue, but they can help make sure that it can't be resolved with documentation before pointing you to support. 

3)This is a tough question because I don't know your exact situation, @ChristopherHa should be able to help you figure out exactly what you need and what we could offer. But to answer for our experience, I would expect to spend about 60-80 hours on Planning and building the initial phase of the bot. I was able to do it with one developer because I kept the integrations to a minimum in the early stages. One thing to note, the execution felt much easier than the conception, figuring out what to offer and how to get humans to that outcome is very time consuming. 

4) The "Khoros Bot" is a feature of Modern Chat that is available to our customers. This bot has a really great NLP engine behind it, that I have witnessed in action. Basically you "teach" the bot "intents", these are indicators of what the user is trying to accomplish. Once you have enough intents, the bot will begin using AI to figure out what the user wants based upon phrases you have taught it. Every time someone interacts with the bot, it is learning associations between what they type and what you have taught it.

I was watching a chat happen in real time, where Maia opened with the usual menu, the user typed these words "Would it be possible to speak to someone live?" I had not taught Maia this phrase as it is an unusual way of asking this question. There was also not a menu option to speak to someone at this point in the flow, Maia recognized what the user said and stopped the flow, and started a completely different one connecting the user to an agent. basically it received input that did not answer the immediate question, and it read the input and decided to start a different flow. That is AI in action, it was a simple thing, but it was incredible to watch happen. 

Thanks Stan, Please let me know if you have any other questions or thoughts.

Honored Contributor

Awesome, thanks so much @TravisB - Definitely cool stuff. I'm huge into finding ways we can leverage AI/ML, if only because geeky me loves this stuff, but the power of it is just getting started to be understood I think.