---
title: UiPath to PAD Migration Output
slug: blueprint/uipath-to-pad-migration-output
docTags: yO7XZ9PJxDCKZ-Mf4TSYB
createdAt: 2026-04-17T18:28:53.804Z
---

:::CtaButton{label="🟢 Migrator" openInNewTab="false"}

:::

This article covers UiPath-specific behaviors, mappings, and known differences to be aware of when reviewing migrated PAD output.

***

# Selectors

Blueprint converts UiPath selectors to PAD format where supported. The following technologies and attributes are recognized:

| Technology        | Supported attributes                                                                  | Notes                               |
| ----------------- | ------------------------------------------------------------------------------------- | ----------------------------------- |
| Web               | tag, id, aaname, name, idx, type, tablerow, tablecol, css-selector, class, src, title |                                     |
| UIA               | app, title, cls, name, role, automationid, idx, ctrlname, aaname, tableRow, tableCol  |                                     |
| AA                | app, title, cls, name, role, ctrlid, idx, ctrlname, aaname, text                      | Direct support not available in PAD |
| Java              | title, app, cls, idx, aaname, role, name, virtualname, tableRow, tableCol             |                                     |
| SAP               | app, title, id, idx                                                                   |                                     |
| OCR / Native Text | —                                                                                     | Not supported                       |

Where possible, Blueprint generates multiple selectors per UI element to increase the likelihood of a match.

## Parent Attributes

In UiPath, "parent" attributes are ancestor attributes — not strict parents. For example, parentName="container" means the first ancestor with that name, which may not be the immediate parent. If a selector has multiple parent attributes (e.g., `parentclass` and `parentid`), those attributes do not necessarily reference the same ancestor.

## Anchors

Anchors are supported using the `:has()` pseudo-selector in PAD.

## Mid-Value Wildcard Support

Blueprint preserves and translates mid-value wildcards from UiPath selectors into equivalent PAD formats.

Mid-value wildcards use \* within a string — not just at the start or end:

- btn-\*submit matches btn-primary-submit, btn-secondary-submit, etc.
- file-\*2025\*.csv matches file-report-2025-Q1.csv, file-2025-summary.csv, etc.

**Example:**

- UiPath: \<wnd app='app.exe' title='\*Invoice\*2025\*' />
- PAD equivalent — Window title: \*Invoice\*2025\*
- PAD handles these patterns using regex or wildcard syntax depending on control type and selector engine.

## Dynamic Selectors

For UI desktop automation, Blueprint attempts conversion of dynamic selectors using a generated subflow called `Convert_UiPath_Selector`. This conversion does not always produce a working selector — some will require manual resolution.

This same subflow is also applied for dynamic web selectors, where it may work in certain cases, with the same caveat that manual resolution may still be required.

***

# Global Variables

Setting the following variables in your PAD flow helps improve migration quality by aligning file path behavior between UiPath and PAD.

| Variable             | Behavior difference                                                                                                                                                                                                                                                    | How to reconcile                                                                 |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `%BasePath%`         | UiPath resolves relative paths from the main XAML file; PAD resolves them from the PAD installation folder                                                                                                                                                             | Set `%BasePath%` to where specific project files will be located after migration |
| `%SPECIAL_FOLDER_X%` | Supports: ApplicationData, CommonApplicationData, LocalApplicationData, Cookies, Favorites, History, InternetCache, Programs, MyMusic, MyPictures, Recent, SendTo, StartMenu, Startup, System, Templates, DesktopDirectory, Personal, ProgramFiles, CommonProgramFiles | Set `%SPECIAL_FOLDER_X%` to the correct folder path in your environment          |

# .NET Script Imports

Blueprint automatically assigns the required .NET namespaces to `%defaultRunDotNetScriptImports%` on a per-XAML basis. You no longer need to configure namespaces globally — each migrated file receives only what its scripts need.

You can override or customize `%defaultRunDotNetScriptImports%` if needed. See [Setting up defaultRunDotNetScriptReferences](docId:821WZUMAkctTeuMhG9AAt) for full configuration details.

***

# Generate Data Table from Text

Blueprint automatically maps UiPath's **Generate Data Table** activity to PAD's **Convert text to data table** action when the input is CSV-formatted.

PAD output is configured with:

- Column delimiter: ,
- Row delimiter: \n (or as detected)
- First row as header: enabled if applicable

:::hint{type="info"}
ⓘ This mapping applies only when the input clearly matches CSV structure. Non-CSV formats may require manual adjustment post-migration.
:::

***

# Select Menu Item — SAP Mapping

Blueprint maps UiPath's **Select Item** activity in SAP GUI automation to the equivalent PAD SAP action.

When a Select Item activity targets an SAP menu or dropdown, Blueprint generates a PAD SAP GUI step using either **Populate text field on SAP screen** or **Click UI element in window**, depending on the SAP control type.

:::hint{type="warning"}
ⓘ This mapping applies only when the SAP selector is clearly identifiable and the control supports interaction in PAD. When native support is unavailable, Blueprint falls back to keyboard navigation or scripting.
:::

