Blueprism to PAD Migration Output Details
This article describe Blueprism to Power Automate Desktop (PAD) specific conversions explanations. For generic conversion information, read Working with Migration Output in Power Automate Desktop (PAD)
Collections Conversion
Collections in Blueprism have two primary interfaces which differ quite a bit from a typical list or array. For example, a single row collection behave like a dictionary/custom object. The properties within the object in row 0 can be accessed as a key/value pair. In other to replicate this behaviour Blueprint converts collections into a Custom Object with the following signature:
{ "Counter": 0, "Items": [] }
Selectors
PAD supports the following attributes and technologies when converting selectors from Blueprism
Technology | Attributes | Notes |
Web | ElementType, InnerText, MatchIndex, PageAddress, Src, Name, Class, Id, XPath, InputType | A backup selector is created using XPath |
UIA | ControlType, Name, MatchIndex, AutomationId, ClassName, LocalizedControlType, Enabled, | |
AA | Role, Enabled, Name, Visible, Id, ClassName, MatchIndex | Direct support not yet available in PAD. |
Java | Conversion not supported. Different Java technology is used in PAD | |
SAP | Id | |
Region | Images are used where native PAD actions for images exist |
When possible Blueprint will create multiple selectors per UI element to increase the possibility of a match.
Blue Prism to PAD Error Handling
- BP to PAD Local Exceptions
Example from BP | Example Migration in PAD |
![]() | The purpose of the Recover stage in Blue Prism is to catch errors within the Block it's a part of. For Instance, in the BP screenshot all the errors are occur within the Block are considered "local" and are caught by Recover stage. This screenshot for PAD migration shows the use of On Block Error action, which is equivalent to Try and Catch Block. ![]() If an error occurs within the On Block Error, we trigger similar error handling to what was set up in Blue Prism. The error details are recorded in the _LastError Variable. We Use Stop Flow action instead of Convert text to number: 1/0 when Throwing or Rethrowing an error. ![]() If no error is found, or the error has been handled, then the flow will resume. The action which is causing the flow to resume back in Blue Prism is called "Resume". In PAD, this Resume resets the On Error variable to False and resumes the flow. ![]() |
- BP to PAD Global Exceptions
Example from BP | Example Migration in PAD |
![]() | In Blue Prism, if a Recover stage is placed outside of a Block, it will function as global error handling. The purpose of Global Recovery is to catch any error that has occured outside of blocks. For Instance, any error found outside the block 1 could be considered under Global Recovery. ![]() _LastError variable is used to store the error details. We Use Stop Flow action instead of Convert text to number: 1/0 when Throwing or Rethrowing an error. ![]() If no error is found, or the error has been handled, then the flow will resume. The action which is causing the flow to resume back in Blue Prism is called "Resume". In PAD, this Resume resets the On Error variable to False and resumes the flow. ![]() |
- BP to PAD Multi Entry and Multi Exists
Example from BP | Example Migration in PAD |
![]() | In Blue Prism, processes can be created with error blocks that have multiple entries and exit points. To make an equivalent in PAD, we need to flatten this down to a linear structure with the use of Set Variables, Ifs, and Go Tos. For Multiple Entries into an On Block Error, we create the variable Entry Destination and use it in If statements to determine the entry path. For Instance: In the below example, we are using the Entry Destination variable in If and elseif to determine what action/path will run next. ![]() Similarly, if there are multiple exit points, we create the variable Exit Destination to decide the exit path. For Instance: In the below example, we are using If and elseif to check if the Exit Destination variable to determine what action/path will run next. ![]() |
- BP to PAD Exception Type and Details
Example from BP | Example Migration in PAD |
Preserve Current Exception ![]() | In Blue Prism, users can manually throw an exception with the Exception stage. Within it, there is the option to preserve the current exception type by selecting the Preserve Exception option, which will get whatever the the last exception message was and where it occurred on the page. In PAD, this is migrated as an If statement. The _LastError variable will retrieve the last exception details (saved in _Lasterror). In the screenshot, OnError is a variable set to False to retrieve the last exception message. However, if the user chooses to log the exception in Blue Prism with custom details and the Preserve Type unchecked, the custom Type and Details will also be migrated. ![]() |
- BP to PAD Exception Type and Details
Example from BP | Example Migration in PAD |
Updated was introduced in Blueprint 8.3 | Blueprint has enhanced its Blue Prism to PAD migration engine to convert all Blue Prism collections into native PAD Data Tables, replacing the previous use of lists and custom objects. |
Before: Collections were converted into custom objects with a structure like: ![]() Now: All collections are converted into Power Automate Desktop Data Tables, which are more compatible with PAD’s native actions and easier to manipulate using built-in table operations. | |
Blue Prism Collection: ![]() | PAD Output: ![]() |
- Added support for region-based image selectors using PAD’s Image Fallback.
Updated was introduced in Blueprint 8.3
Blueprint now supports region-based image selectors when migrating from Blue Prism to Power Automate Desktop (PAD), leveraging PAD’s Image Fallback capabilities.
- When a UI element in Blue Prism cannot be reliably identified using standard selectors (e.g., SAP, Citrix, or legacy systems), Blueprint now generates a region-based image selector.
- These selectors are configured to use PAD’s Image Fallback mechanism, which allows automation to continue even when traditional selectors fail.
Example from BP | Example Migration in PAD |
1 Click Region: Top-left corner of a button in a Citrix window ![]() | ![]() |
- Added support for FetchXML queue filtering
Updated was introduced in Blueprint 8.3
Blueprint now supports FetchXML-based filtering for Work Queues when migrating from Blue Prism to Power Automate Desktop (PAD).
What's New:
- When a Blue Prism process uses queue filtering logic, Blueprint now translates this into FetchXML queries compatible with PAD’s Dataverse connector.
- This allows for more precise and performant filtering of queue items in PAD, especially when working with Dataverse-backed queues.
Example from BP | Example Migration in PAD |
![]() | ![]() |
- Extended VBO matches intentionally not imported to no longer appear as missing in the Missing Processes report or call trees.
Updated was introduced in Blueprint 8.3
Blueprint now excludes intentionally unimported VBO pages—those matched to standard PAD actions—from appearing in the Missing Processes report and call trees.
- When a VBO page is matched to a known PAD equivalent and intentionally not imported, it will no longer be flagged as missing.
- This applies to both:
- The Missing Processes report
- Call tree visualizations in the Blueprint platform
Example:
Before:
- A matched VBO page like
Launch Excel
(mapped to PAD’s “Launch Excel” action) would still appear as “missing” if not imported.
Now:
- These matched pages are recognized as intentionally excluded and are not listed as missing.
- For unsupported Attach stages in PAD, converted associated TODO comments to INFO comments.
Updated was introduced in Blueprint 8.3
Blueprint now converts TODO comments to INFO comments for unsupported Attach stages during Blue Prism to PAD migration.
- Previously, when an Attach stage in Blue Prism could not be mapped to a PAD equivalent, Blueprint inserted a TODO comment in the migrated flow.
- Now, these are downgraded to INFO comments, indicating that the stage is unsupported but does not require immediate manual intervention.
Example from BP | Example Migration in PAD |
![]() | ![]() |
- JSON to Collection (skipping array) > Output is table
Updated was introduced in Blueprint 8.3
Blueprint now supports a refined mapping for JSON to Collection conversions during Blue Prism to PAD migrations, specifically when skipping the array wrapper and outputting directly to a Data Table.
- When a Blue Prism process includes logic to convert a JSON string to a collection, Blueprint now:
- Skips the outer array if it contains a uniform structure.
- Converts the inner objects directly into a PAD Data Table.
- This results in a cleaner, more usable table structure in PAD
Input JSON | PAD Output |
![]() |
|
- JSON to Collection - Output is one or more JSON objects as an Array
Updated was introduced in Blueprint 8.3
Blueprint now supports mapping JSON strings that contain one or more objects in an array directly into PAD Data Tables during Blue Prism to PAD migration.
- When a Blue Prism process includes a JSON to Collection conversion and the JSON is an array of objects, Blueprint now:
- Recognizes the array structure.
- Converts each object into a row in a PAD Data Table.
- Automatically extracts the keys as column headers.
Input JSON | PAD Output |
![]() |
|
- JSON to Collection - User can reference one of the JSON items to see information on that item
Updated was introduced in Blueprint 8.3
Blueprint now supports referencing individual items from a JSON array that has been converted into a PAD Data Table during Blue Prism to PAD migration.
- After converting a JSON array into a Data Table, Blueprint enables users to access specific rows (items) using standard PAD table referencing techniques.
- This allows for targeted data extraction, such as retrieving a specific field from a particular item in the array.
Input JSON | PAD Output |
![]() |
![]() |
- Get Subfolders
Updated was introduced in Blueprint 8.3
Blueprint now supports mapping the Blue Prism “Get Subfolders” logic to the equivalent Power Automate Desktop (PAD) file system actions.
- When a Blue Prism process retrieves subfolders from a directory, Blueprint now maps this to PAD’s “Get subfolders in folder” action.
- The output is a list of folder paths that can be looped through or filtered using PAD’s native actions.
Example from BP | Example Migration in PAD |
1 Action: Get Subfolders 2 Input: "C:\Invoices" 3 Output: Collection of folder names | 1 Action: Get subfolders in folder 2 Folder: C:\Invoices 3 Output: %Subfolders% |
- Open Excel – Read Only
Updated was introduced in Blueprint 8.3
Blueprint now supports mapping the Blue Prism “Open Workbook” action with Read-Only mode to the equivalent Power Automate Desktop (PAD) Excel action.
- When a Blue Prism process opens an Excel file in Read-Only mode, Blueprint now maps this to PAD’s “Launch Excel” or “Open Excel” action with the Read-Only flag enabled.
- This ensures that the file is opened without write access, preserving the original file integrity.
Example from BP | Example Migration in PAD |
1 Action: Open Workbook 2 Path: "C:\Reports\June.xlsx" 3 Read-Only: True | 1 Action: Launch Excel 2 Parameters: 3 - Launch Excel with a blank document: No 4 - Open Excel file: "C:\Reports\June.xlsx" 5 - Read-Only: Yes |