Attachment Support OCR

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 uploaded invoice is now sent to OCR REST API to collect all the required information like invoice id, amount, and invoice date. 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

  1. Create an attribute Attachment to get the invoice/bill from the end-user on the channel.

    1. On Skill Builder--> Attribute tab, click on Create Attribute.

    2. Add attribute details with Name as Attachment and Datatype FILE.

    3. Set the prompt message to be displayed to the end-user, like “Please attach your invoice here“

    4. Click Save.

  2. Follow the above steps and create the below attributes:

    1. ‘InvoiceID’ to store the unique ID number in the bill.

    2. ‘Date’ to store the invoice date in the bill.

    3. ‘Amount’ to store the total billed amount in the invoice.

    4. ‘TicketID’ to store the ticket number created in ISM.

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

  1. Define Integration to OCR with the “OCR REST API - OCR recognition” operation.

    1. On the tenant menu, click on Integration.

    2. Create an Application with the integration type as REST.

    3. Add an instance to the OCR environment.

    4. Configure the ‘OCR REST API - OCR recognition’ Operation. Pass Attachment attribute to the Operation

      1. Set the Global Header content type to multipart/form-data.

      2. In Outbound payload → Attachment Mapping, set the external field to attribute Attachment.

    5. Fetch the invoice details received as a response from the web service.

      1. Set the invoice id to the ‘InvoiceID’ attribute.

      2. Set the invoice date to the ‘Date’ attribute.

      3. Set value of the amount to the ‘Amount’ attribute.

  2. Follow the above steps and create the following integrations:

    1. Define the operation ‘Create Service Request.' and pass the value in the “InvoiceID”, ”Date” and “Amount” attributes to the operation. Fetch the ticket number received as a response from the web service and save it in a global attribute TicketID. 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.

    2. Define the operation ‘ISM Upload File' and pass the attachment saved in the “Attachment” and Ticket number in the “TicketID“ attribute to the operation.

Build a Skill

  1. On Skill Builder → Create Skill tab, enter Skill details such as Skill Name, Category, Description, and KPI Metrics

  2. Under Invocation type, add User Phrases such as ‘Reimburse my bill,’ ‘Refund my bill details’

  3. Under Conversation flow,

    1. Add the attribute “Attachment” to upload the bill.

    2. Add the Integration operation OCR REST API - OCR recognition to get the Invoice Details associated with the attachment.

    3. Add the “Confirmation” attribute to get confirmation from the user that the data received from the OCR integration is correct.

    4. Add a Ruleset based on the confirmation received from the end-user. Add the following rules:

      1. If confirmation from the user is Yes, continue with the Skill.

      2. If confirmation from the user is No, display a message “Data extracted from the Invoice is incorrect. Please try reattaching the Invoice“ and Exit the skill.

    5. Add the Integration operation Create Service Request. If using an existing operation, Override the operation to pass “InvoiceID”, ”Date”, and “Amount” attributes to the Operation. Fetch the ticket number received as a response from the web service and save it in a global attribute TicketID.

    6. Add the Integration operation ISM Upload File. If using an existing operation, Override the operation to pass Attachment and TicketID attributes to the Operation.

    7. Add an Information Message to confirm the ticket submission and display the ticket number to the end-user. For example, “Created the ticket @{global.m_ism_ticket_id} in ISM”.

  4. Click Save to finish building the skill.

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

  6. Run Build and Publish to make the skill available in the Virtual Agent.

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

Below is the sample skill definition. Note that the integration details should be replaced with your organization-specific instance details.

Additional Resources

Visit the below Wiki Documentation for more information on:

  1. Creating an Attribute on Create Global Attributes

  2. Configure a 3rd party Web service integration on REST Integrations

  3. Creating and Managing Skills is at Create Skills

  4. Using local attribute in skills on Use Variables in Skills

  5. Publishing Skill on Build and Publish

  6. Understanding Conversation logs on Conversation History.

  7. Provide permissions to users or groups at Permission

  8. Defining Rulesets on Using Rule Sets

  9. Test your Skill on Test your Bot

  10. Debugging skill on Debug Skills

Related pages