Conversion Accelerator

Check out the Big picture behind the Gen1 conversion before diving in too deep into tooling.

We recommend using the Conversion Accelerator from our Visual Studio Code -extensions. The projects targeted for conversion are generally on the larger side. Functionalities like analyzing multiple robots do not fit well into a tool like Robocorp Automation Studio. Our VS Code extension now has the Flow Explorer and the full tooling support to get everything started in one toolset.

The developers working with the conversions should really master our developer certifications to level III first because it is really easy to "leave performance on the floor" by not knowing about the target system's capabilities.

Ideally, they will also understand the logic of the existing tooling, at least superficially. The conversion process should have clear access to the people who know and can use the old tool.

The Conversion Accelerator -tooling aims to provide tooling, so you can plan the best course of attacking your conversions. Identify common components to use code share, evaluate the complexity of the robots, etc. The tooling also provides a way to convert the source robots into Robot Framework scaffolds that you can place in the bot project you start.

BluePrism

BluePrism is the most challenging target for conversions because it has many different models and ways of identifying things, scoping variables, and quite an unorthodox way of handling exceptions and returns.

The main thing to remember with BluePrism conversion is that knowing the RobotFramework basics, and the existing libraries are your keys to success. Many things are just built-in to RobotFramework that require specific implementation in BP that you can just get rid of.

The tool will continue to evolve based on the feedback we get: it is critical to understand that as the source project can, for example, have some unique C# code embedded in BP objects, making a total conversion an impossible task, so human developers are needed to get the conversions over the finishing line.

Exporting a BluePrism project

  1. Export the bot XML using the official guide
  2. Export needs to be done on the "Release" -level in BluePrism so that it includes enough data for the conversion to work.
  3. The format of the export can be .bprelease or .xml

Automation Anywhere

There are two very different versions of Automation Anywhere out there A360 and v11. 12/2022 we have tooling for A360 and are looking to introduce support for v11 in 01/2023.

Automation 360 (A360) is on a domain level and structure much closer to Robot Framework than BluePrism. In A360, you can export common parts of the bot, so you do not have to export and convert the entire bot at once.

For Automation Anywhere v11, we recommend running the bot migration tool to A360 provided by Automation Anywhere. You do not need to migrate to A360 fully; just running the AA migration tool should enable you to export the bot in the new format, which allows our tools to focus on that format.

Exporting an A360 project

  1. Export the bot .zip using the official guide
  2. Extract the .zip
  3. The extracted parts of the AA bot either have .json file extension or no file extension at all
    • Conversion can take these in one at a time.

UiPath

UiPath export formats and types looked the easiest initially, but as we got along, we found even more variances in the export formats than BP had. Another big hurdle is that many UiPath implementations use and point to proprietary libraries that expose very few details about what they actually do. Still, it is critical to note that we have yet to see a feature or action that could not be done using existing Python and RobotFramework libraries. So using the outputs from our tooling to understand the problem and then replacing the missing parts with Python or RobotFramework already yields much more stable and easier-to-maintain bots.

Steps to convert your UiPath Robots

A typical UiPath Project would contain a project.json file and one or more XAML files. The converter tool takes the entire project folder as input which may contain multiple XAML files. The output of the converter tool would be .robot files. Each .robot file would contain suggestions on a keyword that could be used to replace UiPath activities.

  1. Open VS Code and start by creating a new robot based on the Standard template
    • The new robot creates a folder where you can work with your conversions
  2. Open the Command Palette by pressing: Ctrl+Shift+P (Shift-Command-P for macOS)
  3. Run the command Robocorp: Convert third party RPA file to Robocorp Robot
  4. Select UiPath in the next step, and File Explorer / Finder window will open.
  5. Now browse to the root folder of your UiPath project that you want to convert.
    • If you do not know the location of your project folder, then Open your project in UiPath Studio and click the Folder button on the top left of the screen. uipath-folder
  6. The Converter tool will run, and in the next few seconds, you will see the status message on the bottom right of your VS code.
  7. Within your current workspace folder, you will see a new folder called `converted``.
  8. Inside this folder, you will see multiple .robot files with suggested keywords to replace UiPath activities. uipath-conv-result
  9. Flow Explorer is a crucial tool in understanding the flow of the robot after conversion.

Note: The conversion will give you a skeleton structure of what keywords, libraries, and python functions you can use. You need to review and modify the code to fill the gaps in the process.

Also, we currently support Sequence and Flowchart workflow types. Workflows built using the State Machine -model are not yet supported. The processes inside State Machine -projects are handled, but the state machine itself is not.

December 29, 2022