EDUCAÇÃO E TECNOLOGIA

CAI Challenge Submission: Customer Feedback Chat Bot at Dangote Group

This blog post is part of the SAP Conversational AI Tutorial Challenge 2021 and I would like to share our use case. ”Dangote’s Digital Feedback Assistant” it’s a chat bot who will help the business to ask feedback for on-going projects or assignments at a large scale (group level) and save their feedbacks for further process.

Business User Case: Digital Feedback Assistant

What is the use case?

We at Dangote Group are running multiple projects across PAN Africa and to cater the surveys while project is going on or post go-live with large number of users is a complex as well as tedious. This process includes creation of questionnaire, put them in forms either Microsoft Sharepoint, Google Forms etc., share with business users and ask them to fill it and retrieve the answers. Instead of doing these tasks manual and involving dedicated team do perform this activity, Dangote Group has decided to use SAP Conversational AI to build up it’s own Digital Survey Assistant.

Current Business Challenge: Connect with business in a most common way

Primary Requirement:

Along with collect the feedback from the business for any on-going projects, the critical requirement is to connect with business in a most common way. Microsoft Teams is being widely used for workspace chat and a medium of single point of contact for any business person and hence integration with Microsoft Teams is also a primary requirement. The business want a single interface to understand about projects in terms of FAQs and gain the knowledge.

Technical Architecture:

We have added Questions to be asked as a part of Survey/Feedback in SAP CAI Platform, few questions were taken using Webhooks and APIs. Microsoft Teams is used as a communication medium to use chat bot and which is being integrated with SAP CAI using Microsoft Azure.

Intents & Entities

Below intents and entities were developed to understand which survey/feedback is going to run. Let a bot understand about which survey questionnaire requires to be run based on intents and entities.

Skills & Flow

Below skills have been developed to cater each requirement separately.

ask-intial: Whenever user comes on board with greetings, this skill will ask what you want to do? Since this bot caters two things one is FAQ and another is FEEDBACK, so it will ask user to select any of above. If user will select FAQ then faq-checker skill will trigger, if user will select FEEDBACK then feedback-checker skill will trigger. Below snapshot about how ask-initial skill will behave.

faq-tracker: If user will select Know FAQ from ask-initial skill (the above snapshot) then this skill will trigger and will further will ask for what you want to know FAQs.

grc-faq:  This chat bot serves both the purposes, answers frequently asked questions by the users to understand about the on-going business. This skill caters the FAQs related with GRC project and provides answers for all FAQs regarding that. This will serve the purpose to gain the knowledge.

feedback-checker: If user will select Give Feedback in ask-initial skill then this skill will be triggered and it will further ask for what you want to give feedback.

grc-feedback: This skill caters the requirement of collecting feedback by asking questions to the users. It triggers when someone opt for GRC Survey to provide feedback for GRC implementation project. It will trigger below questions as a part of to collect feedback.

The condition will set questionNumber as memory variable or check whether it’s available or not to start a questionnaire series, the variable questionNumber has to be 0 first. To understand memory management, this blog has really helped me. We have used quickreplies to ask question, once user will answer it will redirect to skill save-feedback, it will not redirect until user provides answer. wait_feedback is used for this.

save-feedback: 

This skills will save the feedback, answer provided by the user for each question. It will only trigger when below condition met (in Triggers) _memory.wait_feedback is-present, this we have set in grc-feedback after each question. There is no requirements to execute this skill.

In actions

feedback=”{{nlp:source}}” will store the feedback

{{memory.email.raw}} will store email address of user, entered while running grc-feedback in requirement.

{{memory.questionNumber}} will store questionNumber

Set Memory Field–> questionNumber = “{{add memory.questionNumber 1}}”

This will increment the questionNumber to redirect to next question in grc-feedback

For e.g. in first question it is 1 and after above code it will be 2 and trigger to question no. 2 in grc-feedback

After end of all questionnaires it should end up the questionnaire. It will depends on your number of questions, since we have total 8 question so now when questionNumber counter set to 9, it should end up the feedback.

Response/Output:

Further Enhancement: It will be roll-out for other ongoing projects and will be single point of assistance for all on going projects’ FAQs and Feedbacks. To analyze the response, we will enable the Bot Server and we may expand this to connect SAP Analytics Cloud.

Conclusion: About the project: This Chat Bot will be a single point of assistance for all FAQs and Feedback for Dangote Group and will be roll-out on PAN Africa location.

About the blog: SAP CAI provides two kind of Chatbot at this stage. Perform Actions and Retrieve Answers. Perform Actions is action based chat bot, we have used this option to build this. Retrieve  Answers is FAQ based chat bot. This blog will give idea about how to develop both actions based and FAQ based chat bot using Perform Actions method. The comprehensive steps will help to develop this kind of bots.

About the Author:  Harshil is working at Dangote Group and practicing SAP’s Analytics portfolio BW4, BO, Embedded Analytics, Fiori, CAI & SAC.