How We Built Ivy


Back in mid-2016 as we were looking into the various platforms we could integrate with our Aspect CXP™ solution, which lets enterprises build and run AI-powered customer and employee self-service dialog applications, the one platform that really caught our eye was Facebook Messenger. Customers were showing a growing interest in messaging and there was a bit of a buzz in the industry about all the things you could do with chatbots on Facebook. So, we decided to build our own chatbot on Messenger using Aspect CXP that would represent all the capabilities Aspect can bring to automated interaction.

Here is what we were trying to achieve:

We wanted to show off our omni-channel capabilities on a new platform with rising interest

We wanted to make use of the Natural Language Understanding (NLU) technology capabilities we have with Aspect NLU, while getting a testbed for ourselves to try new dialog techniques on

We wanted to give our Sales team a way to easily demonstrate the concept of a chatbot to customers and prospects – even 2 years later still something very new to many

To start, we used the FAQs we already had for our products. These were questions like “how to get access to our technical support team or training department”, and “how to find out about industry events Aspect would be hosting or participating in”. Facebook Messenger proved to be a cool new platform to experiment with and had extra functionality that the other channels lacked, for example rich media support with buttons and carousels of images. Furthermore, it let us integrate with our own contact center platforms, which our business development and inside sales team uses to chat with prospects coming to us online.

We taught Ivy how to understand the FAQs and tested it internally before we started to talk about it to customers. We wanted people just to try it out and in the process, we gained some valuable insight. We discovered that people LOVE to play with bots. The first thing most people do when they find out they are interacting with a bot is try to play with it by asking it silly questions or asking it to tell a joke. And so we added some humor to Ivy to make it as playful as the people talking to her – enjoyable engagement is key with bots after all, something we saw again confirmed with our latest customer deployment “Margot the Wine Bot” for Lidl UK.

So after picking out the correct platform, compiling the FAQs, and creating a chatbot application that could answer these questions, we needed to bring it all together in a unique and fresh way. One of the first design decisions we had to make was to find a way to distinguish the experience from what users could already do on a web-based FAQ. How could we make Ivy feel like she’s not just about typing keywords into a text field? We decided the best way to do this was to make the entire experience conversational.

The experience with Ivy is not a step by step guided interaction where the user follows menu prompts to move to the next pieces of relevant information. Users can ask any question they want, at any point of the conversation. This fluid experience is made possible by the strength of Aspect’s NLU technology embedded in Aspect CXP. With Natural Language Understanding, Ivy and really any Aspect-designed bot, can better understand natural language the way any of us would text a normal person. For example:

One of the key parts of making the experience feel natural is the user needs to feel like they are actually having a conversation, and for that they need to know who they are talking to. As mentioned before, we made a decision to give this chatbot a female personality and the name “Ivy Richardson”, or “Ivy R.” for short… Along with the functionality to answer questions, we gave Ivy the ability to handover an automated interaction to an agent (our business development team) and wanted a way to distinguish between when she is responding and when the agent is, as the user would stay on the same channel in that case. For this specific interaction, we decided to go with the character sequence [*_*] that is meant to depict a “bot face” as seen in the screenshot above, to denote whenever Ivy is speaking.

We put a lot of effort into making Ivy really match the ‘Digital Assistant’ persona, not just seem like another robotic tool; we want it to feel natural, conversational. Little tweaks like handling the way she handles unknown information go a long way:

or asking for clarification on something, when they were just too vague

Prompting the user for more information by repeating a context-less single word like “cloud” back to them is a very natural way to get someone to try to rephrase or add more detail, rather than just spitting out a generic “no match” answer when she has no answer, as in “I’m sorry, I didn’t understand what you just said.” Ivy recognizes what topic was asked about and tries to help by bringing in a live person into the interaction. One of the biggest things we wanted to eliminate was the common scenario of getting repeat answers: you ask the bot a question, get an answer that’s not the one you were after, maybe reword the question hoping for a different response, and you just get the same answer back, like a broken record. It feels unnatural, it feels like you aren’t talking to someone who realizes that you are repeating yourself. To get around that, when we see that a question has been asked multiple times we wrap the response in an acknowledgement, with a suggestion towards escalation.

Note that we didn’t want a chatbot that answers all questions about our products – we rather wanted to quickly get the visitor to a sales agent at the end of the day…

Now that you know a little more about the behind-the-scenes of Ivy, feel free to stop by her office and say hi at – simply click “Send Message” and off you go!

Latest posts by Gustavo Gonzalez (see all)