PeopleSoft Chatbots

PeopleSoft Chatbots

The conversational UI is replacing the web UI and the global chatbot market is expected to rise exponentially. The much awaited chatbots are finally out in the PUM image 31 for the Peoplesoft Absence Management module. This chatbot leverages the Oracle Digital Assistant – the Oracle bot technology platform.

Chatbots are rapidly redefining how businesses interact with customers. They help in augmenting our productivity by simplifying and automating the mundane tasks and addressing business challenges.

Chatbot Configuration

In order to use a new delivered skill / chatbot it needs to go through the configuration life cycle mentioned below:

  1. Deploy Web SDK and setup proxy user for Application Services
  2. Import and configure the skill into the ODA (Oracle Digital Assistant). The skill file is listed at the location PS_HOME\setup\chatbot\HGA_CHAT_ASST(1.0).zip
  3. Clone the imported skill in ODA
  4. Configure to point to a Peoplesoft Service i.e. the skill needs to be connected to a relevant service in Peoplesoft. This is again done in the ODA
  5. Customize and train the skill which is again done in the ODA
  6. Add the skill to an ODA channel
  7. Finally update configuration in PeopleSoft to enable the chatbot

Software Requirements:

Prior to enabling the chatbot it is important to note the software requirements for deploying them which include:

  • People tools version 8.57
  • Peoplesoft HCM/FSCM 9.2
  • Oracle Digital Assistant
Configuration Steps:-
1. Creating a new 'external' site on the web server domain

This step should be pretty straight forward for a PS Admin. But for someone like me who does not have a lot of PS Admin background, it was a struggle to find the right information and create a new 'external' site on the PeopleSoft web server domain. 
Copying the Web SDK (delivered ochatjs folder) to the new 'external' site

The default user 'opc' (Oracle Public Cloud) which we use to connect to OCI via WinSCP does not have the appropriate privileges to copy the Web SDK to the 'external' site.
How to use WinSCP to connect to PS Servers on OCI as root?

Use SCP Protocol, 'opc' user, set the private key in the authentication settings and use "sudo su -" in the SCP/Shell settings.



Copying the ochatjs folder (web SDK) to the external site

Source: ochatjs.zip file located in <%PS_APP_HOME%>/setup/chatbot
The ochatjs.zip was located here.
/u01/app/oracle/product/pt/ps_app_home/setup/

Destination: <PIA_HOME>\webserv\<DOMAIN_NAME>\application\peoplesoft\PORTAL.war\external\
Verification

We can verify the success of the web SDK installation by accessing the following URL on a web browser.

https:\\<your server name>:port\external\ochatjs\loader.json

2. Setting up the Oracle Digital Assistant Instance


Here is a resource that provides additional information on how to procure a free trial account.

https://docs.oracle.com/en/cloud/get-started/subscriptions-cloud/csgsg/request-trial-subscription.html
Setting Up the ODA Instance

From our OCI Homepage, we can use the menu to navigate to Oracle Digital Assistant. There are two Digital Assistant options available as shown in the screenshot below. For the purposes of the PeopleSoft - ODA integration, we need to use the Digital Assistant under the Platform Services menu.




You should also receive an email to confirm that the ODA instance was created successfully.

Once the ODA instance is ready, we can access the Digital Assitant Designer UI using the menu as shown below.


3. Configuring the delivered Skill in the ODA instance

Delivered Skill location

The delivered absence Skill will be located in the following location.

<PS_APP_HOME>/setup/chatbot/
We simply need to download this to a local machine (PC/laptop) and use it in the next step.

Importing the delivered Skill to ODA

This step is self explanatory. Here are some screenshots that will further assist you with this activity.

Select Skills from the Digital Assistant Designer UI menu.


Next, upload the delivered Skill HGA_CHAT_ASST(1.0).zip using the Import Skill button. Once the import process completes, we will see the 'Absence Assistant' Skill in the list (as shown above).

Note: During the import process, we may see the following error/warning. I was told that this can be ignored. And it was true! It did not cause any issues.


Clone Delivered Skill

As always, it is best practice to maintain a copy of the delivered Skill so that we can refer back to it if necessary. So, as advised in PeopleBooks, we need to clone the 'Absence Assistant' Skill and create a copy of our own. In my case, I named my copy 'Absence Assistant Skill'.


Configuring the Delivered Skill to point to our PeopleSoft Environment

Once we clone the delivered Skill, the next step is to configure it to point to our PeopleSoft environment. Our PeopleSoft environment can be running either on the Cloud (OCI) or on premises. In my case, my HCM 9.2 - PI 31 is running on OCI.

ODA > Digital Assistant Designer UI > Menu > Development > Skills (select your copy of the Skill) >  Settings > Configuration (Tab) > Custom Parameters


If we scroll down further on this page, we will find all the delivered custom (oxymoron?) parameters.


We can leave the HGAmarketHGAnode and HGAportal as delivered in the 'Absence Assistant' Skill.

We need to use the <Proxy User> and password (which we created before getting started) to configure the PSHCMuserid and PSHCMpassword parameters.

Refer PeopleBooks for more details on how to create this userid:
Understanding Security for Chatbot Integration Framework





Next, we need to ensure that we configure PSHCMbaseurl parameter to point to our Integration Broker REST end point of the delivered PTCB_APPL_SVC.v1 service.

End Point Format:
https://<server>:<port>/PSIGW/RESTListeningConnector/<node>/PTCB_APPL_SVC.v1

server: Integration Broker hostname
port: Integration Broker port
node: Default Local Node

http://1.2.3.4:8000/PSIGW/RESTListeningConnector/PSFT_HR/PTCB_APPL_SVC.v1

Creating and Configuring an ODA Channel

PeopleBooks: Creating the Web Channel

Once our Skill is created and configured appropriately, we need to create a Channel and configure it to route to our Skill. This step is briefly mentioned in PeopleBooks but I missed the routing step because it was not very obvious and found out the hard way. Here are the steps to create and configure a Channel.

ODA > Digital Assistant Designer UI > Menu > Development > Channels > Create Channel



Next, we need to ensure that the Channel is enabled and that it is routing to the Skill we configured in the previous step. Finally, we need to note down the App Id. We will use this while configuring our PeopleSoft application to point to this ODA Channel.

4. Configure a PeopleSoft instance to point to an ODA Channel/Skill


PeopleBook References:
Creating Bot Definitions
Adding Chatbot to Application pages


Configuring the Application Service

As delivered, both the service operations (PTCB_APPL_SVC_GET.v1 and PTCB_APPL_SVC_POST.v1) associated with the delivered REST - Chatbot Application Service - PTCB_APPL_SVC use 'Basic Authentication and SSL' as the 'Req Verification' option.

For example:


To workaround the SSL issues, Set the 'Req Verification' property to 'Basic Authentication' for both service operations.

Security to access the Bot Definition

While testing, I found that when I opened my 'Absence Assistant' chatbot, it would open the modal window but it would keep spinning endlessly without loading anything. I did not find any errors on the Browser Console either.


Note: The Chatbot window spinning could happen due to several reasons.

In this case, the issue was that the current PeopleSoft user did not have access to the Bot definition. We can provide this by adding the following Role that we used to setup the Bot definition.



Example-2Configuration for Absence Assistant Chatbot:-

Navigation: Enterprise Components > Chatbot Configurations > Bot Definition

Click the edit button for the HGA_CHAT_ASST. 

The chatbot can be deployed as a tile on the homepage or as a widget or as both a tile and widget using the Chatbot type field on this page.

Customers can set their own icons/images for the bot as per their business need. The template id specified above is nothing but the branding template id for the bot.

  1. The branding template is used to control the branding aspects of the bot definition and is configured on the Branding template page under the navigation: Enterprise Components > Chatbot Configurations > Branding Template

The “Custom Text” section can be used to override the custom texts provided by Oracle Digital Assistant by default. The overriding text is created as a message catalog entry.

The Business Icon chosen here replaces the Business Icon chosen in the “Maintain Bot Definition” page.

  1. Enabling the absence Assistant tile:

Absence assistant tile will not be available by default in the homepage. The tile needs to be enabled and added to the corresponding home page. The administrator must enable it by navigating to below path under the content reference.

Peopletools > Portal > Self Service > HR Fluid Components > Fluid Attribute

The content reference for the tile is HC_HGA_CHAT_ASST_FLU.

  • In the General tab, Under URL Information section, choose URL Type as PeopleSoft Generic URL
  • At the end of the URL, enter the text BOTID=<BotID> where <BotID> is the ID of the Bot definition
  • In the Security tab, ensure that the permission list EOCB_CLIENT_USER is added. Also, add the roles that are added to the Bot ID in the “Maintain Bot Definition” Page
  • In the Fluid Attributes tab, select the Display In field value as Modal.

The tile repository group box is used to configure the tile repository Folder (Employee Self Service) under which the tile should appear. Check the Homepage checkbox under “Include in Repository” section.

In the above navigation set the attributes such as the dimensions of the chatbot tile, images to appear on the tile and so on.

Finally, to enable the delivered skill/chatbot as a tile on the homepage:

  • From the relevant homepage, choose the Personalize Homepage option
  • Choose the Add Tile button
  • Add the chatbot tile to the homepage

Absence Assistant Tile:

The Absence Assistant chatbot focuses on the following intents:

  • EntryGreeting
  • AbsenceBalance
  • CancelAbsence
  • FutureBalance
  • RequestAbsence
  • ViewAbsenceRequest
  • ExitGreeting

On a mobile, the page would be displayed as shown below:

The absence assistant displays the areas of support by default along with a greeting message

Consider the example of an employee using the assistant for submitting a leave request the typical conversation would be as shown below wherein the bot requests the employee for the begin and end dates and the type of absence request

Employees can even provide attachments while submitting absence requests.

Once the request is submitted, related workflow will be triggered and the request can be viewed from the absence management pages.

Examples of Chatbots in real life

Here are some of the examples of chatbots in reals life.
  • Weather bot -  Get the weather whenever you ask
  • Grocery bot  - Help you create grocery list and then order grocery
  • News bot - Read the latest news for you
  • Personal Finance bot  - Help you with managing finance

Chatbots are one of the fastest growing technology and there will be unlimited use of chatbots in various fields across the globe. 

Amazon Alexa, Apple Siri and Microsoft Cortana can be considered chatbots as they repond to your query and provides results in a natural human language. 

How does Chatbot works?

A chatbot comes up with its answers through a combination of predefined scripts and machine learning.

If chatbot can’t answer a questions it will pass it to a real human for further assistance and a chatbot will learn from all the interactions and with more interactions, it will gradually gain in scope and relevance.

For being an efficient bot and ability to offer relevant answers, the Chatbot basically employs four major parameters as Text Classifiers, Suitable Algorithms, Artificial Neural Networks and Natural Language Processing (NLP). All these factors contribute to the overall bot functionality and intelligence of the Chatbot.

Why Chatbots?

To understand why chatbots are used we have to go over some of the main benefits of implementing chatbots in your organization. 

  • Available 24x7 : Since chatbots are virtual robots so they never get tired and hence can respond to users' question 24x7. You no longer have to wait in queue to talk a real person. 
  • Handling customers: Chatbots can handle thousands of customers at the same time without needing to take a break. All of the customer's queries are answered instantly.
  • Saves Money: Once a Chatbot is implemented, it can significantly reduce the cost of a business and only the complex queries will  be passed on to a human being.  (Like it or not, automation is going to take most of the jobs).
  • Automate repetitive tasks: No one likes to answer the same question hundreds of times but with a chatbot you can automate such repetitive tasks without wondering if a chatbot is getting bored.  

These are just some of the advantages of using Chatbots but it has much wider use with lot of benefits. There are some concerns too but we will discuss that some other time.


No comments:

Post a Comment

PeopleCode to retrieve Google map between two addresses

  PeopleCode Example: /* Define constants for the API request */ Local string &origin = "123 Main St, Anytown, USA";   /* ...