Why enterprises need chatbots
Every enterprise looks to improve employee productivity, and one of the tools to achieve it is to provide a conversational UX (a.k.a. chatbots) for the applications. The chatbots provide instant access to information when the user needs it, like a very own personal assistant. The users don’t need to navigate into different applications to get the exact information they are looking for or perform a specific action as part of a process. Imagine how helpful it is to access any process performance indicators (PPI / KPI) or complete the tasks assigned to you, without ever navigating away from the current application. The time saved by such a chatbot can be more productively spent by the users solving complex customer problems.
A chatbot for SAP Intelligent BPM
In this blog, I want to share my experience in creating the SAP Conversational AI skills to access process performance indicators from SAP Intelligent Business Process Management (SAP Intelligent BPM).
Before I start, if you are new to SAP Intelligent BPM, then learn more about it here. To summarize what is SAP Intelligent BPM – It is a collection of related services in the SAP Cloud Platform that enables organizations to:
- Transform paper-based processes into digital assets,
- Provide intelligent automation of structured workflows, decisions, and tasks,
- Optimize business process with process intelligence and insight to action,
- Improve the business process productivity,
- Improve business process experiences and flexibility to change them.
SAP Cloud Platform Process Visibility, which is a part of SAP Intelligent BPM, provides visibility into optimizing SAP or non-SAP processes (for example Source to Pay, Order to Cash, Consume to Cash, Capital Expenditure, Master Data Management, Employee Onboarding, Claims Management, etc.) that can run in the cloud, on-premise or hybrid environments. Built with a cloud-first approach, the SAP Cloud Platform Process Visibility can expose the process metrics via robust APIs. It also has strict roles and authorization concepts by which one can only access the data that he/she is authorized. By consuming these REST APIs, we can ask the chatbot about any process performance indicators modeled as part of the scenario. For example, you will be able to simply ask the chatbot how many orders are at risk of violating the target, which phase of the process the orders are in, average cycle time, etc.
How I created the chatbot
- I had followed the tutorials and set up the sample scenario models in SAP Process Visibility in my SAP Cloud Platform factory account. However, if you already have at least one scenario model in your factory account, you can skip this step.
Note: I wanted to use single sign-on (SSO) so that the roles and authorizations are respected while retrieving the process performance indicators. Hence I had embedded the SAP Conversational AI WebClient in the SAP Fiori Launchpad in the cloud foundry environment and used the destination to call the REST API. This requires a subscription to SAP Conversational AI, and as of today (March 2020) is available only in SAP Cloud Platform Factory tenants and not in the trial environment.
However, if you do not want to access the process metrics via SSO then you can use the Cloud Platform Trial account as well.
- I created a destination in the SAP Cloud Platform Cloud Foundry environment to call the Workflow & Process Visibility REST API with authentication type as OAuth2UserTokenExchange to use SSO. The destination is used in the actions of the respective CAI skills.
- Next, I created a CAI bot project and added the intents & skills to retrieve the default process performance indicators so that it works across scenario models.
- In the CAI bot project, I used the SAP Conversational AI Web Client channel to connect to the Fiori Launchpad in SAP Cloud Platform Cloud Foundry environment. I chose to use SSO in the ‘Integration Settings’.
- The final step was to extend the Fiori Launchpad in the Cloud Foundry environment to add a shell plugin to call CAI WebClient, using the code snippets generated in the previous step. (I will explain this step in a detailed blog very soon).
Having SAP CAI skills helps the users to access the process performance indicators quickly and conveniently from any application. It is very simple to set up SAP CAI skills for SAP Intelligent BPM since:
- REST APIs are available to query or perform most actions in SAP Process Visibility and other services in SAP Intelligent BPM.
- SAP CAI supports destinations defined in the SAP Cloud Platform to connect to the services efficiently.
- With single sign-on, the user gets to see only the information which he/she is authorized to access.
In this blog, I have explained how I was able to access the REST APIs of SAP Process Visibility to retrieve the process performance indicators from a chatbot. Similarly, you can create SAP CAI skills for other services in SAP Intelligent BPM. For example, you can create a skill to retrieve all tasks from your My Inbox (using the My Inbox APIs), take action, execute or simulate a business rule (using business rules APIs) or trigger an SAP Intelligent RPA bot (using trigger API).
If you would like to try this in your own landscape, you can follow my step-by-step guide to set it up. To make it simple, I will share the bot project that you can fork and configure:
- The blog to setup CAI skills for SAP Intelligent BPM without SSO and works in Trial as well as Factory landscapes (coming very soon).
- The blog to setup CAI skills for SAP Intelligent BPM with SSO (coming soon).