Integration with third-party tool by using Robotic Process Automation bot


This use case shows how to automate the uploading of attachments from cases to an external system, such as SAP, by using the push or pull mechanism. The push mechanism involves BMC Helix Business Workflows uploading attachments to an external system, while in the pull mechanism, the external system pulls the attachments from BMC Helix Business Workflows. The attachments can be in dynamic fields or in the case activity, such as in an email.

Scenario for uploading attachments to an external system

Scenario

An organization, Apex Global, has a requirement that attachments coming from end users must be synced to an external system. Allen is a case business analyst in Apex Global for the Finance line of business.

Allen can do this in one of the following methods:

  • Push the attachment to the external system from BMC Helix Business Workflows if the external system exposes the REST endpoint.
  • In the absence of a REST endpoint, the external system pulls data from BMC Helix Business Workflows by using the right qualification.

Let us look at both the methods in detail.

Workflow for uploading attachments to an external system through the push mechanism

The following image shows how the push mechanism works:

21.3Summer_RPABotUseCase_PushMechanism.jpg

To create the push process in BMC Helix Business Workflows

Allen creates the following process in BMC Helix Business Workflows in which he defines a workflow to push the attachment to the external system:

21_3_UploadingAttachmentByPush.jpg

Result of using the push mechanism to upload attachments to an external system

On the successful creation of a case, the attachment is pushed to the external system by using the process. In the new process, Allen specifies the Connection, Web API, and Request parameters. The push mechanism uses this process to send the case attachments from BMC Helix Business Workflows to the external system.

If the document processing fails, the existing case is canceled and a new case is automatically created for further processing.

Workflow for uploading attachments to an external system through the pull mechanism

To use the pull mechanism, Allen configures the external system to use the following web API to get a list of cases with attachments:

GET /api/com.bmc.dsm.case-lib/cases/[CASEID]/attachments

After getting the list of cases, Allen configures the external system to query the com.bmc.dsm.attachment-service-lib:Attachment record definition by using relevant attributes such as Related Record Definition, Related Record Instance, Created By, and Media Type.

The following image shows the process of how the pull mechanism works:

21.3Summer_RPABotUseCasePullMechanism.jpg

Result of using the pull mechanism to upload attachments to an external system

On the successful creation of a request, the external system gets a list of cases with attachments by using the web API. The external system then pulls the attachments from the cases at predefined intervals to process and upload them.

If the document processing fails, the existing case is canceled, and a new case is automatically created for further processing. 

Example

Allen uses a Robotic Process Automation (RPA) bot for Apex Global to query the com.bmc.dsm.attachment-service-lib:Attachment record definition based on the following attributes:

  • Requester details
  • Attachment type

The RPA bot is set to query cases every 15 minutes. 

A user raises a service request in BMC Helix Digital Workplace Advanced for medical reimbursement and attaches an Excel sheet as an invoice. A corresponding case with the attachment is created in BMC Helix Business Workflows. The RPA bot queries cases and downloads the invoice document from the case. It uploads the document to the external system successfully. The RPA bot adds an activity note in the case and marks the case as Resolved.

 If the RPA bot fails to process the attachment, the current case is canceled, and a new case is created and assigned to a case agent for further processing.



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*