Blue Prism to PAD Migration Output
This article covers Blue Prism-specific behaviors, mappings, and known differences to be aware of when reviewing migrated PAD output. For general migration output concepts, see Why Migrated Flows Look Different in PADο»Ώ.
Collections Conversion
Blue Prism Collections have two primary interfaces that differ significantly from a standard list or array. A single-row collection behaves like a dictionary β properties in row 0 are accessed as key/value pairs.
Blueprint converts all Blue Prism collections into native PAD Data Tables. Each collection field becomes a column header, and each row maps directly to a table row. All collections output as PAD Data Tables β more compatible with PAD's native actions and easier to manipulate using built-in table operations.
Selectors
Blueprint converts Blue Prism selectors to PAD format where supported.
Technology | Supported 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 available in PAD |
Java | β | Conversion not supported β different Java technology is used in PAD |
SAP | Id | ο»Ώ |
Region | β | Images are used where native PAD image actions exist |
Where possible, Blueprint generates multiple selectors per UI element to increase the likelihood of a match.
Region-Based Image Selectors
When a UI element cannot be reliably identified using standard selectors β such as in SAP, Citrix, or legacy systems β Blueprint generates a region-based image selector using PAD's Image Fallback mechanism. This allows automation to continue even when traditional selectors fail.
Error Handling
Local Exceptions
In Blue Prism, a Recover stage placed inside a Block catches errors local to that block. Blueprint migrates this using PAD's On Block Error action, which is equivalent to a try/catch block.
When an error occurs within the On Block Error scope:
- Error details are recorded in the _LastError variable
- Blueprint uses a Stop Flow action instead of Convert text to number: 1/0 when throwing or rethrowing errors
- If no error occurs, or the error is handled, the flow resumes β equivalent to Blue Prism's Resume stage, which in PAD resets the OnError variable to False and continues execution
Global Exceptions
In Blue Prism, a Recover stage placed outside a Block functions as global error handling, catching any error that occurs outside defined blocks. Blueprint migrates this using a global On Block Error scope in PAD, with the same _LastError variable and Stop Flow pattern described above.
Multi Entry and Multi Exit Points
Blue Prism supports error blocks with multiple entry and exit points β a structure PAD cannot replicate directly. Blueprint flattens this into a linear structure using Set Variables, If statements, and Go To actions.
- Multiple entries: Blueprint creates an EntryDestination variable and uses it in If/ElseIf statements to determine which path to execute
- Multiple exits: Blueprint creates an ExitDestination variable and uses it in If/ElseIf statements to determine the exit path
Exception Type and Details
Blue Prism's Exception stage allows users to manually throw exceptions, with an option to Preserve the current exception type. In PAD:
- When Preserve Exception is selected, Blueprint migrates this as an If statement that retrieves the last exception details from _LastError
- When custom Type and Details are provided with Preserve Type unchecked, Blueprint migrates the custom type and detail values directly
Work Queue Handling
FetchXML Queue Filtering
When a Blue Prism process uses queue filtering logic, Blueprint translates it into FetchXML queries compatible with PAD's Dataverse connector. This enables more precise and performant filtering of queue items, particularly for Dataverse-backed queues.
JSON Conversions
Blueprint supports several JSON-to-Collection conversion patterns, all outputting to PAD Data Tables:
- Skipping array wrapper β when the outer array contains a uniform structure, Blueprint skips it and converts the inner objects directly into a Data Table
- Array of objects β when the JSON is an array of objects, Blueprint converts each object into a table row and extracts keys as column headers
- Referencing individual items β after converting a JSON array to a Data Table, individual rows can be accessed using standard PAD table referencing: %DataTable[1]['Name']%
VBO Matching
Blueprint excludes intentionally unimported VBO pages β those matched to standard PAD actions β from appearing in the Missing Processes report and call tree visualizations. When a VBO page is matched to a known PAD equivalent and not imported, it is recognized as intentionally excluded and no longer flagged as missing.
Additional Mappings
Unsupported Attach Stages
When a Blue Prism Attach stage cannot be mapped to a PAD equivalent, Blueprint previously inserted a TODO comment. As of v8.3, these are downgraded to INFO comments, indicating the stage is unsupported but does not require immediate manual intervention.
Get Subfolders
Blue Prism's "Get Subfolders" logic maps to PAD's Get subfolders in folder action. Output is a list of folder paths that can be looped through or filtered using PAD's native actions.
Blue Prism | PAD output |
|---|---|
Action: Get Subfolders / Input: C:\Invoices / Output: Collection of folder names | Action: Get subfolders in folder / Folder: C:\Invoices / Output: %Subfolders% |
Open Excel β Read Only
Blue Prism's Open Workbook action with Read-Only mode maps to PAD's Launch Excel action with the Read-Only flag enabled, preserving the original file integrity.
Blue Prism | PAD output |
|---|---|
Action: Open Workbook / Path: C:\Reports\June.xlsx / Read-Only: True | Action: Launch Excel / Open Excel file: C:\Reports\June.xlsx / Read-Only: Yes |