API Collaborations between UiPath and Workflows of the Cloud-type BPM
I tried to implement the robot created with UiPath via REST API from the Questetra’s workflow

 

Hi there!
I’ve covered the system collaborations and you can read my past articles from here.

 

I feel more people are using and trying RPA tools *1 these days. According to Google Trends, the following three tools are used the most in Japan.

Among them, UiPath is used more than any other tool because it is free to use, including the servers.

On the other hand, I often hear that some customers have tried RPA tools because they are popular, but they didn’t work.
There are various ways to implement them, but I can suggest one way which is to collaborate with BPM *2. Organize the business flow with BPM, consider which parts of the business are more effective to automate, and then apply the RPA tool to the most effective areas. Besides, since the RPA tool can be launched automatically from BPM in the middle of business flow, the combination of BPM and RPA can be used even more easily and effectively.
Please visit the following page for details.

The 4 steps for Successful RPA Introduction

Collaboration between BPM Workflow and RPA Tool

So, this time I verified whether the robot made in UiPath can be launched via API *3 from a workflow created in Questetra, the cloud-based BPM workflow.

*1. RPA Tools: Robotic Process Automation, tools to automate and improve the efficiency of operations on the PC with robots: one that performs automatically is sometimes called a Software Robot or Digital Labor.
*2. BPM: Business Process Management, an activity to improve workflow cycles and deliver results
*3. API: Application Programming Interface, a connection to use the program – I use REST API (Communication by http request)

 

Table of Contents
1: The overview of collaboration between UiPath and Questetra
2: Preparation of UiPath and Questetra
2 -1: UiPath
2 -2: Questetra
2 -3: Changing the behavior by specifying arguments
2 -4: Verifying Operation
3: Summary

 

1.The Overview of Collaboration between UiPath and Questetra

I will roughly explain the following picture.
UiPath Studio (hereafter, Studio) is a design tool, and UiPath Orchestrator (Orchestrator) is a server. Although I didn’t show it in the diagram, Studio connects to Orchestrator via a tool called UiPath Agent (Agent).

*I will let Questetra collaborate with UiPath via the REST API – and you can do that in other ways or you can let UiPath collaborate with Questetra.

 

2: Preparation of UiPath and Questetra

I will describe specific settings in this chapter. You can skim through it if you are not interested in the technical aspects.

 

2 -1: UiPath

I started to use UiPath in earnest for this verification, but I had a hard time understanding the concept, terminology, and its relationship. The following picture accurately represents what I understood when using Orchestrator (the relationship between Machines/Robots/A group of Robots (Environment)/Packages/Processes/Jobs).

The Orchestrator ER diagram in the UiPath documents also covered that.

*Also, some of the UiPath documents don’t offer a Japanese version and the English forums are more informative, so I suggest you use the English language setting.

I have summarized what I’ve done.

  • Design automated processes in Studio (for verification, a MessageBox just pops up)
  • Connect to Demo Orchestrator (connect to https://demo.uipath.com) and enroll its tenant (it is necessary to set the password for authentication of API execution)
  • Connect PCs for executing and designing Robots to Orchestrator via Agent
  • Register executing PCs as Machines in Orchestrator (be careful which PC you use because it is necessary to enter a Windows password)
  • Publish the Studio design and upload as a “Package” to Orchestrator via Agent
  • Create a group of Robots (Environment) and Robots linked to
    Machines and executed in Orchestrator
  • Create a group of Robots (Environment) and Packages linked by Processes in Orchestrator

The Job implements this Process and it can be done from Orchestrator via an API.
*A Processes (Releases) Key is necessary when implementing a Process with an API, and it seems you can obtain it from the API only after creating the Process. We’ll get more details on that later.

Reference
INTRODUCTION TO THE ORCHESTRATOR API
*You have to pay attention to the changed UI due to version upgrading and I acquired the Machine Key from the Machine information of the Orchestrator

As for the design, various documents appear if you search so please refer to those. Anyway, the following is a rough summary.

  • Search for the necessary parts, add them to the flow and set the properties. Repeating that to create the flow
  • Import necessary parts if they are missing

 

2 -2: Questetra

The API is configured to send http requests (Throwing Message Intermediate Event (HTTP)), but authentication is a bit special.
Therefore, the process is as follows.

  • Send an http request for authentication and receive a token from the response
  • Send an http request for implementing the API with that token
・Authentication URL

https://platform.uipath.com/api/account/authenticate

・Send JSON sample when authenticating

{
    "tenancyName" : "XXX_TenantName_XXX",
    "usernameOrEmailAddress" : "XXX_email_XXX",
    "password" : "XXX_password_XXX"
}

・Script sample which acquires the token from authentication response

var jsonObj = JSON.parse(engine.findDataByNumber("10"));
var token = jsonObj.result + "";
engine.setDataByNumber("11", token);
・URL sample which acquires the Key of the process.

https://platform.uipath.com/odata/Releases?$filter=%20Name%20eq%20'XXX_ProcessName_XXX'
・URL which implements the robot

https://platform.uipath.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs

・JSON sample sending when implementing

{
  "startInfo": {
    "ReleaseKey": "XXX_Key_XXX",
    "Strategy": "All",
    "RobotIds": [],
    "NoOfRobots": 0
  }
}

For actual business use, I suppose you add the part for sending an http request after you get the approval.
(e.g. The RPA tool registers the master after the request to add masters is approved.)

Please visit below for more information on the Throwing Message Intermediate Event (HTTP) for sending http requests and Script Task for writing script processes.
M225: Auto Sending of HTTP Requests with Business Data Inserted
M230: Auto Executing Complicated Data Processing (ECMAScript)
Also, for the setup to send an http request with JSON, you can refer to “3-2. The case of not using Add-on” chapter in the following article of Posting to Microsoft Teams from Workflow

 

2 -3: Changing the behavior by specifying arguments

When launching the REST API, I think you may want to change the behavior depending on the arguments.
For that, the following measures are necessary.

  • Prepare input arguments (arguments/IN) in Studio (Don’t forget to publish or rework processes in Orchestrator after republishing)
  • Specify arguments to send when implementing in JSON (The arguments should be strings of JSON)
・JSON sample sending when implementing

{
  "startInfo": {
    "ReleaseKey": "XXX_Key_XXX",
    "Strategy": "All",
    "RobotIds": [],
    "NoOfRobots": 0,
    "InputArguments": "{\"XXX_ArgumentName_XXX\":\"XXX_value_XXX\"}"
  }
}

 

2 -4: Verifying Operation

It didn’t take long to process if the designing PC and executing PC were the same. If they were different, Robots needed to be downloaded, and the first implementation took a bit of time.

Moreover, when the PC was in sleep mode the process could not be executed, so it was necessary to change the settings not to go into sleep mode.

With those in mind, the process is executed automatically as expected.

 

3: Summary

If you sign up for the free Starter Plan I’m planning to do a test-run to put the data into an Excel file. I expect there will be some operational issues so I intend to share these in another article.

Also while verifying UiPath this time, I felt that the design and deployment of the process flow were configured similar to Questetra. Therefore, I think they can be a good combination because their mechanisms are close.

*However, there is a “Process” in both tools – UiPath’s one refers to the configuration for execution and Questetra’s one refers to the execution, so be careful not to confuse them

Incidentally, other RPA tools can be operated similarly. I’ve already verified the API connection with BasicRobo! (Formerly BizRobo!).

Collaboration between RPA Tool and BPM System

Also, Other than API, I’ve already verified some connections with other RPA tools.

You can feel free to contact us via Contact Form if you have any questions or consultations.

 

Starter Plan

You can create a free Questetra trial account by filling out the webform below. All functions are available including those mentioned above. If you use the UiPath Community Edition you can try it for free, so please try them together.

 

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top
%d bloggers like this: