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.
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 ,
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