Problem Statement: Reimbursement request for bills is the most common and frequently used task inside the organizations. People often need to upload/provide the invoices to the concerned team for approval/processing in the specific application.
Opportunity: Capturing the critical information for approval from the invoice without asking the user to input the required fields. Submitting the processing request with the original invoice in the Service management tool with the bot.
Approach: Configure a skill in the Bot to reimburse the bill. The skill initially asks the user to upload the invoice. The attachment which is the uploaded invoice is now sent to OCR REST API to collect all the required information like invoice id, amount, dates, and all other relevant information. A confirmation request is sent to the user on the identified information from the invoice document. Upon approval from the user, the reimbursement request is sent with the invoice details and attachment of the invoice in the create service request.
The following are the key steps in creating a Skill for attachment support.
Define Attribute
Create an attribute Attachment to get the invoice/bill from the end-user on the channel.
On Skill Builder--> Attribute tab, click on Create Attribute.
Add attribute details with Name as Attachment and Data type as FILE.
Set the prompt message to be displayed to the end-user, like “Please attach your bill here“
Click Save.
Follow the above steps and create the below attributes:
‘InvoiceID’ to store the unique ID number in the bill.
‘Date’ to store the invoice date in the bill.
‘Amount’ to store the total billed amount in the invoice.
‘Confirmation’ to get confirmation from the user that the data received from OCR is correct. Set the prompt type to Quick Reply. Provide Yes and No as options.
Create an Integration
Define Integration to OCR with the “OCR REST API - OCR recognition” operation.
On the tenant menu, click on Integration.
Create an Application with the integration type as REST.
Add an instance to the OCR environment.
Configure the ‘OCR REST API - OCR recognition’ Operation. Pass Attachment attribute to the Operation
Set the Global Header content type to multipart/form-data.
In Outbound payload attachment mapping, set the external field to attribute Attachment.
Fetch the invoice details received as a response from the web service.
Set invoice id to the ‘InvoiceID’ attribute.
Set date to the ‘Date’ attribute.
Set value of the amount to the ‘Amount’ attribute.
Follow the above steps and create the following integrations:
Define the operation ‘Create Service Request.' and pass the value in the “InvoiceID”, ”Date”, “Amount” attributes to the operation. Fetch the ticket number received as a response from the web service and save it in a local attribute TicketNumber. You may also use the Operation created in the Analyst creating the ticket in ISM from Agent Chat Console and override it during Skill creation.
Build a Skill
On Skill Builder--> Create Skill tab, enter Skill details such as Skill Name, Category, Description, and KPI Metrics
Under Invocation type, add User Phrases such as ‘Reimburse my bill,’ ‘Refund my bill details’
Under Conversation flow,
Add the attribute “Attachment” to upload the bill.
Add the Integration operation OCR REST API - OCR recognition to get the Invoice Details associated with the attachment.
Add “Confirmation” attribute to get confirmation from the user that the data received from the OCR integration is correct.
Add a Ruleset to get confirmation from the user that the data received from OCR is correct
If confirmation from the user is Yes, continue with the next steps.
If confirmation from the user is No, display a message There is an Error and Exit the skill.
Add the Integration operation Create Service Request. If are using an existing operation, Override the operation to pass “InvoiceID”, ”Date”, “Amount” and Attachment attributes to the Operation. Fetch the ticket number received as a response from the web service and save it in a local attribute TicketNumber.
Add Information Message to display ticket submission confirmation to the end-user. For example, “Created the ticket @{local.ticketIdentifier} with the TicketNumber in ISM .
Click Save to finish building the skill.
The next step is to add permission to the skill. Click on Permission and the Users or Groups who should be able to execute the Skill.
Run Build and Publish to make the skill available in the Virtual Agent.
Once the skill is Published, Go to the Test Widget to test the skill. Click on Debug Logs and execute the skill to view the runtime Skill execution logs.
Your action has now been created successfully, and Support Agents can execute the action on the Agent chat console.
Additional Resources
Visit the below Wiki Documentation for more information on:
Creating an Attribute on Create Global Attributes
Configure a 3rd party Web service integration on REST Integrations
Creating and Managing Skills is at Create Skills
Using local attribute in skills on Use Variables in Skills
Publishing Skill on Build and Publish
Understanding Conversation logs on Conversation History.
Using Transformation Functions: Random is at Transformation Function Random
Provide permissions to users or groups at Permission
Defining Rulesets on Using Rule Sets
Test your Skill on Test your Bot
Debugging skill on Debug Skills