Chat BOT Design Concept – Fiori Launchpad Integrated
Preamble
This blog describes and end to end design concept of an information BOT which shall be integrated to Fiori Launchpad. Like most of the BOT does , it enable the users to communicate with the Business Suite using interactive inputs.
Architecture
Let me breakdown the whole design in to an MVC architecture. The view part here, is a chat window. The model here, is a logic block which manages the query passed by the user and responds to the query with either a question or with an information. Lets talk about the Model first before going into the UI side.
BOT Logic block .
All processes requires a trigger point to make the BOT understand what the user is trying to do. The keywords entered by the users shall be identified as the trigger point.
Example : “Leave request” , “Leave balance” , “Approval status” etc. may trigger corresponding services.
Designing a BOT engine.
Lets take Leave request creation as an assisted transaction. When a user wants to create a leave request, he shall open the BOT Chat window and enter “Leave request” . Identifying the token entered, the control has been passed to the Leave request BOT.
To create a leave request , the system requires the below parameters.
Leave type
Date(s) in which the leave to be applied
Message handler ( in case of errors )
Reason for leave.
To read inputs from the user , we can use the UI5 controls with respect to the type of Input .
To enable the user to choose from the list , we shall send a Select List with leave types .
Once user choose from the list, the next required input is , the date range in which the leave is to be applied. The BOT shall send a date range selector / Calendar to read the data from user.
Based on the inputs so far provided , the user shall enter the reason for leave or any additional information required based on the leave type.
Commonly used input types for transactions are
1. Choose from a list
2. Date range / Single date
3. Numeric Value ( currency ,quantity , Employee Number , Request ID etc. )
4. String Input
5. Confirmation buttons
So, configuring a BOT scenario is tightly bound with the types of inputs user shall enter. In this case(of leave request ) , we shall configure BOT as ,
User Interface
I enhanced the Fiori Launchpad to add additional button in the header bar , to trigger the Chat BOT.
A custom control is created an open as a Dialog . This Chat control can render any sub controls and display on the screen. So , based on the Input / Output types to be passed to the user, control identifier shall be sent to the UI and display the same.
Next Steps :
Scenario Designer : – A UI where a developer can configure a scenario. Here , we can configure the complete process as we did for Leave request.
Chat control : Enhance Chat control to manage messages from back end and from the user.
Disclaimer : The images / Diagrams in this post are conceptual figures and edited. Design is incomplete and under development.
Sreehari V Pillai
Excellent article, Waiting for part 2 🙂
Great blog.. Sree.. Waiting for more details .
Hello Sreehari ,
Can you help me to understand what all licenses are required in SAP to build chatbot .
Regards,
Rupa
The design I described above doesn't require any additional licenses . Its like an extension to the existing Fiori Launchpad.
SAP Has copilot in mind, which is an extended level of chat bot. Have a look into that. Its still BETA.
Sreehari
Hi SreeHari ,
Thanks for your reply .
Regards,
MCGM
Hello, great article! I'm looking forward for part 2 🙂 it is already done?
Thanks . Its still in my mind. I am still exploring options to make a robust chat bot platform . Will keep posted - Nodejs in my mind for the back end and Framework7 for UI.
Sreehari