RPA and Smart Automation
Implementing NLP-Powered Chatbots for Major E-Learning Provider
The Rise of Virtual Customer Service
For any organization, successful customer engagement relies on maximizing and optimizing the potential of digital and physical customer service channels to provide a smooth experience. A 2020 Salesforce study found that 69% of consumers prefer to use chatbots for speedy communication with businesses. Powered by Natural Language Processing (NLP), a branch of AI that enables machines to understand human language, chatbots can be configured to understand structured and unstructured customer queries and provide appropriate answers with human-like engagement.
For example, if a customer is unable to interact with a website’s self-service portal for whatever reason, they could ask their question to the chatbot i.e. “What is my credit balance?” The chatbot can be trained to handle multiple variations of such questions through pre-trained data. The chatbot can then gather the relevant customer information, query the back-end systems (this can be accomplished through RPA robots or API calls wherever available) and present the information to the customer interactively. This entire workflow can be completed without human intervention, thus reducing live agent workloads and query handling times. Chatbots must also be designed to perform a timely handoff to a human agent in the case of an escalation or upon the customer’s request. Ideally any customer service chatbot should also provide an option to switch to live chat.
The client is a leading e-learning provider that has served over two million students across the United States, delivering specialized online and hybrid academic programs. The client is affiliated with more than 300 schools across the country and receives over 1.7 million applications from potential students each year. In 2020 the client embarked on a journey to improve its digital customer care with plans to implement a website chat function. The client had struggled with their first attempt at chatbot implementation and was seeking the help of a more experienced partner to develop a chatbot for the website’s enrollment and customer support pages.
The client receives hundreds of thousands of applications from new and returning users during peak enrollment times each year. During these times, the support staff of over 400 live agents would be met with an influx of customer service and information requests ranging from general FAQs to user-specific inquiries regarding enrollment documents, application status, course availability, accreditation, and contact information. General information requests typically involve the agent providing an answer from the website’s FAQ page, while customer service requests required the agents to navigate Salesforce to pull user information for each individual request. To handle both types of requests, Accelirate determined an NLP-powered chatbot interface could be designed with a dual channel of communication. This would enable the chatbot to solicit a conversation with a user on the front-end, and in the back-end be able to gather customer data from Salesforce or general information from the website’s FAQ page to then present to the user, depending on their request.
Reasons for Implementing
- Provide customer service on a chat channel
- Provide information to users through another channel
- Decrease live agent workload
- Increase the number of chats handled
- Provide automated information regarding application status, classes, account information, how to enroll, help topics, contact information, accreditation, special education, and school offerings
Building a Solution
The first critical part of development was defining conversational intents. Intents are a way of categorizing meanings for a string of words to understand what the user wants. Deriving the intent requires the chatbot to be trained on historical requests to best identify the user’s query, with each intent given a general response to handle it appropriately. We used Amazon Lex to develop the chatbot and trained it with a number of historical requests to identify intent. We also created a fallback intent to serve as a safety net in case a user asks a question the chatbot is not trained to respond to, of if the user enters some unintelligible input.
Classes available for my child
Type of classes
View course list
|What school are available to me?
Find a school near me
List of schools
|My friends and my friends
Been and what?
How to drive a car
|Sorry, not sure I understand.
Can I connect you to an agent?
With traditional RPA projects our teams typically follow a waterfall methodology, however, we took an agile approach to developing this solution. Being able to continuously refine the chat bot’s functionality while it was in production allowed us to deliver higher intent classification accuracy for the most engaging chat interface. Once intents were established, we created a proxy site with a number of different API calls the chatbot would use to connect to Salesforce for data retrieval and updates.
Chatbot Customer Experience Walkthrough
- The user arrives on the website and is met with the chat widget in the lower right corner. When clicked, the widget prompts the user to fill out their login information in the chat window before continuing.
- Once logged in, the Bot greets the user with a, “Hi! What can I help you with today?” message. The bot processes the user input and classifies their intent.
- Based on the intent, the dispatcher function sends the bot to the appropriate next step.
If a user asks what schools are available to them, for example, the bot recognizes the “school finder” intent, goes into the school database to pull the required information, presents it to the user, and provides them with the option to apply. If the user wishes to update or change their account information, the bot goes into Salesforce and performs the necessary data retrieval or updates. Since the bot already has the user information that was input when the customer initially logged in, the bot can easily access the customer’s account details and information without requiring them to enter the pre-chat information again. If the bot does not understand the user’s intent, cannot execute the actions needed, or cannot satisfy user requests, the bot connects the user to a live agent.
The chatbot design focuses on assisting users by answering questions or performing tasks. Previously, the live support agents would manually navigate and pull up user information in Salesforce for every customer support case, regardless of issue complexity. With the chatbot now handling default scenarios and doing so at a faster speed than a human would, the support agents are freed up to focus on helping customers with more complex issues and escalations. Currently, the Customer Care department’s number of chats fully handled by the chatbot is 60%.
- The Customer Care department chatbot provided 11, 136 man hour savings in 9 months
- The Customer Care department chatbot saved $180,000 in call center costs in 9 months
- The Enrollment Support chatbot provided 41,028 man hour savings in 8 months
- The Enrollment Support chatbot saved the client $690,000 in call center costs in 8 months
Kibana Dashboard Metrics to Date
- 431,671 Total Chats Handled by Bot
- 2,037 Enrollment Center Cases Created
- 406 Reactivated Accounts
- 23,198 Leads Created