studio
latest
false
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- Control Flow
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- Logging
- The Diagnostic Tool
- Workflow Analyzer
- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-NMG-017 - Class name matches default namespace
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DPB-010 - Multiple instances of [Workflow] or [Test Case]
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-021 - Hardcoded Timeout
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Properties
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-017 - Invalid parameter modifier
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
- Variables
- Arguments
- Imported Namespaces
- Coded automations
- Introduction
- Registering custom services
- Before and After contexts
- Generating code
- Generating coded test case from manual test cases
- Troubleshooting
- Trigger-based Attended Automation
- Object Repository
- The ScreenScrapeJavaSupport Tool
- Extensions
- About extensions
- SetupExtensions tool
- UiPathRemoteRuntime.exe is not running in the remote session
- UiPath Remote Runtime blocks Citrix session from being closed
- UiPath Remote Runtime causes memory leak
- UiPath.UIAutomation.Activities package and UiPath Remote Runtime versions mismatch
- The required UiPath extension is not installed on the remote machine
- Screen resolution settings
- Group Policies
- Cannot communicate with the browser
- Chrome extension is removed automatically
- The extension may have been corrupted
- Check if the extension for Chrome is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and Incognito mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Chrome
- Chrome Extension on Mac
- Group Policies
- Cannot communicate with the browser
- Edge extension is removed automatically
- The extension may have been corrupted
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Edge
- Extension for Safari
- Extension for VMware Horizon
- Extension for Amazon WorkSpaces
- SAP Solution Manager plugin
- Excel Add-in
- Studio testing
- Troubleshooting
- About troubleshooting
- Assembly compilation errors
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- Validation of large Windows-legacy projects takes longer than expected

Studio user guide
Last updated Apr 8, 2026
UI Automation Supported Activities
Refer to the table below for the UI Automation activities that are supported when using the Activity Migrator tool.
| Source activity | Destination activity/activities | Known limitations |
|---|---|---|
Activate (UiPath.Core.Activities.Activate) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
Attach Browser (UiPath.Core.Activities.BrowserScope) | Use Application/Browser (UiPath.UIAutomationNext.Activities.NApplicationCard) | If the SearchScope property is set, the migration is not performed. If an expression is used for the BrowserType property, the migration is not performed. |
Attach Window (UiPath.Core.Activities.WindowScope) | Use Application/Browser (UiPath.UIAutomationNext.Activities.NApplicationCard) | If the SearchScope property is set, the migration is not performed. |
Call Transaction (UiPath.Core.Activities.SAP.CallTransaction) | Call Transaction (UiPath.UIAutomationNext.Activities.NSAPCallTransaction) | |
Check (UiPath.Core.Activities.Check) | Check/Uncheck (UiPath.UIAutomationNext.Activities.NCheck) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Click (UiPath.Core.Activities.Click) | Click (UiPath.UIAutomationNext.Activities.NClick) | If the Target property is not set and the activity is outside a scope, the migration is not performed. A classic Click activity using a variable with a null value as the input element results in a click at screen coordinates (0, 0). In contrast, the modern Click activity throws a runtime error in this scenario. |
Click Image (UiPath.Core.Activities.ClickImage) | Click (UiPath.UIAutomationNext.Activities.NClick) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Click OCR Text (UiPath.Core.Activities.ClickOCRText) | Click (UiPath.UIAutomationNext.Activities.NClick) | If the activity is inside a scope that uses a different OCR engine, an application card is automatically added over the migrated activity to switch the OCR engine. The activity is migrated even if the Target or Input Element is not set, as long as it has a scope parent. If any out argument property on the OCR engine is set, the migration is not performed. |
Click Picture on Screen (UiPath.Core.Activities.SAP.ClickPictureOnScreen) | Click Picture on Screen (UiPath.UIAutomationNext.Activities.NSAPClickPictureOnScreen) | |
Click Text (UiPath.Core.Activities.ClickText) | Click (UiPath.UIAutomationNext.Activities.NClick) | If the Target property is not set and the activity is outside a scope, the migration is not performed. If the classic activity has a browser element set as target, the migration is not performed. |
Click Toolbar Button (UiPath.Core.Activities.SAP.ClickToolbarButton) | Click Toolbar Button (UiPath.UIAutomationNext.Activities.NSAPClickToolbarButton) | |
Close Application (UiPath.Core.Activities.CloseApplication) | Use Application/Browser (UiPath.UIAutomationNext.Activities.NApplicationCard) | If the Target property is not set and the activity is outside a scope, the migration is not performed. After migration, the Use Application/Browser activity can close applications in more scenarios where Close Application would throw exceptions (e.g. SelectorNotFoundException when app is minimized, ArgumentException when the app is already closed). |
Close Tab (UiPath.Core.Activities.CloseTab) | Navigate Browser (UiPath.UIAutomationNext.Activities.NNavigateBrowser) | If the activity is outside a scope and does not use an input element, the migration is not performed. |
Close Window (UiPath.Core.Activities.CloseWindow) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
Element Exists (UiPath.Core.Activities.UiElementExists) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | |
Expand ALV Hierarchical Table (UiPath.Core.Activities.SAP.ExpandALVHierarchicalTable) | Expand ALV Hierarchical Table (UiPath.UIAutomationNext.Activities.NSAPExpandALVHierarchicalTable) | |
Expand ALV Tree (UiPath.Core.Activities.SAP.ExpandALVTree) | Expand ALV Tree (UiPath.UIAutomationNext.Activities.NSAPExpandALVTree) | |
Expand Tree (UiPath.Core.Activities.SAP.ExpandTree) | Expand Tree (UiPath.UIAutomationNext.Activities.NSAPExpandTree) | |
Extract Structured Data (UiPath.Core.Activities.ExtractData) | Extract Data (UiPath.UIAutomationNext.Activities.NExtractData) | When Continue on error is set to False and Target - Next button is configured for extracting data from multiple pages, the classic Extract Structured Data activity failed after reaching the last page. In contrast, the modern Extract Data activity continues execution. |
Find Children (UiPath.Core.Activities.FindChildren) | Find Elements (UiPath.CUIAutomationNext.Activities.NFindElements) | |
Find Element (UiPath.Core.Activities.WaitUiElementAppear) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the WaitActive property is set, the migration is not performed. This is only supported when migrating to UIAutomation 25.10.29 or later.After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
Find Image (UiPath.Core.Activities.WaitImageAppear) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
Find OCR Text Position (UiPath.Core.Activities.FindOCRText) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the activity is inside a scope that uses a different OCR engine, an application card is automatically added over the migrated activity to switch the OCR engine. The activity is migrated even if the Target or Input Element is not set, as long as it has a scope parent. If any out argument property on the OCR engine is set, the migration is not performed. If the classic activity has a browser element set as target, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
Find Text Position (UiPath.Core.Activities.FindText) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the classic activity has a browser element set as target, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
Get Attribute (UiPath.Core.Activities.GetAttribute) | Get Attribute (UiPath.UIAutomationNext.Activities.NGetAttribute) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Get From Clipboard (UiPath.Core.Activities.GetFromClipboard) | Get Clipboard (UiPath.UIAutomationNext.Activities.NGetFromClipboard) | |
Get Full Text (UiPath.Core.Activities.GetFullText) | Get Text (UiPath.UIAutomationNext.Activities.NGetText) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Get OCR Text (UiPath.Core.Activities.GetOCRText) | Get Text (UiPath.UIAutomationNext.Activities.NGetText)Use Application/Browser ( UiPath.UIAutomationNext.Activities.NApplicationCard) | If the activity is inside a scope that uses a different OCR engine, an application card is automatically added over the migrated activity to switch the OCR engine. The activity is migrated even if the Target or Input Element is not set, as long as it has a scope parent. If any out argument property on the OCR engine is set, the migration is not performed. |
Get Position (UiPath.Core.Activities.GetPosition) | Get Attribute (UiPath.UIAutomationNext.Activities.NGetAttribute) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Get Text (UiPath.Core.Activities.GetValue) | Get Text (UiPath.UIAutomationNext.Activities.NGetText) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Get Visible Text (UiPath.Core.Activities.GetVisibleText) | Get Text (UiPath.UIAutomationNext.Activities.NGetText) | If the Target property is not set and the activity is outside a scope, the migration is not performed. If the classic activity has a browser element set as a target, the migration is not performed. |
Go Back (UiPath.Core.Activities.GoBack) | Navigate Browser (UiPath.UIAutomationNext.Activities.NNavigateBrowser) | |
Go Forward (UiPath.Core.Activities.GoForward) | Navigate Browser (UiPath.UIAutomationNext.Activities.NNavigateBrowser) | |
Go Home (UiPath.Core.Activities.GoHome) | Navigate Browser (UiPath.UIAutomationNext.Activities.NNavigateBrowser) | |
Hide Window (UiPath.Core.Activities.HideWindow) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
Highlight (UiPath.Core.Activities.Highlight) | Highlight (UiPath.UIAutomationNext.Activities.NHighlight) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Hover (UiPath.Core.Activities.Hover) | Hover (UiPath.UIAutomationNext.Activities.NHover) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Hover Image (UiPath.Core.Activities.HoverImage) | Hover (UiPath.UIAutomationNext.Activities.NHover)Use Application/Browser ( UiPath.UIAutomationNext.Activities.NApplicationCard) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Hover OCR Text (UiPath.Core.Activities.HoverOCRText) | Hover (UiPath.UIAutomationNext.Activities.NHover)Use Application/Browser ( UiPath.UIAutomationNext.Activities.NApplicationCard) | If the activity is inside a scope that uses a different OCR engine, an application card is automatically added over the migrated activity to switch the OCR engine. The activity is migrated even if the Target or Input Element is not set, as long as it has a scope parent. If any out argument property on the OCR engine is set, the migration is not performed. |
Hover Text (UiPath.Core.Activities.HoverText) | Hover (UiPath.UIAutomationNext.Activities.NHover) | If the Target property is not set and the activity is outside a scope, the migration is not performed. If the classic activity has a browser element set as a target, the migration is not performed. |
Image Exists (UiPath.Core.Activities.ImageFound) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Inject Js Script (UiPath.Core.Activities.InjectJsScript) | Inject Js Script (UiPath.UIAutomationNext.Activities.NInjectJsScript) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Maximize Window (UiPath.Core.Activities.MaximizeWindow) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
Minimize Window (UiPath.Core.Activities.MinimizeWindow) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
Move Window (UiPath.Core.Activities.MoveWindow) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
Navigate To (UiPath.Core.Activities.NavigateTo) | Go To Url (UiPath.UIAutomationNext.Activities.NGoToUrl) | |
OCR Text Exists (UiPath.Core.Activities.OCRTextExists) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState)Use Application/Browser ( UiPath.UIAutomationNext.Activities.NApplicationCard) | If the activity is inside a scope that uses a different OCR engine, an application card is automatically added over the migrated activity to switch the OCR engine. The activity is migrated even if the Target or Input Element is not set, as long as it has a scope parent. If any out argument property on the OCR engine is set, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
On Element Appear (UiPath.Core.Activities.OnUiElementAppear) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the RepeatForever property is set to an expression or true, the migration is not performed. If the WaitActive property is set, the migration is not performed. This is only supported when migrating to UIAutomation 25.10.29 or later.If the WaitVisible property is set to an expression or true without a target, the migration is not performed. If the Target property is not set and the activity is outside a scope, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
On Element Vanish (UiPath.Core.Activities.OnUiElementVanish) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the RepeatForever property is set to an expression or true, the migration is not performed. If the WaitNotActive property is set, the migration is not performed. This is only supported when migrating to UIAutomation 25.10.29 or later.If the WaitNotVisible property is set to an expression or true without a target, the migration is not performed. If the Target property is not set and the activity is outside a scope, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
On Image Appear (UiPath.Core.Activities.OnImageAppear) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the Target property is not set and the activity is outside a scope, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
On Image Vanish (UiPath.Core.Activities.OnImageVanish) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the Target property is not set and the activity is outside a scope, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
Open Application (UiPath.Core.Activities.OpenApplication) | Use Application/Browser (UiPath.UIAutomationNext.Activities.NApplicationCard) | |
Open Browser (UiPath.Core.Activities.OpenBrowser) | Use Application/Browser (UiPath.UIAutomationNext.Activities.NApplicationCard) | The property NewSession is obsolete and it will not be migrated. If the BrowserType property was not set, it will be migrated to IE, even if the project setting UI Automation Classic > Browser has been configured for another browser. |
Read Status Bar (UiPath.Core.Activities.SAP.ReadStatusbar) | Read Status Bar (UiPath.UIAutomationNext.Activities.NSAPReadStatusbar) | |
Refresh Browser (UiPath.Core.Activities.RefreshBrowser) | Navigate Browser (UiPath.UIAutomationNext.Activities.NNavigateBrowser) | |
Restore Window (UiPath.Core.Activities.RestoreWindow) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
SAP Login (UiPath.Core.Activities.SAP.Login) | SAP Login (UiPath.UIAutomationNext.Activities.NSAPLogin) | |
SAP Logon (UiPath.Core.Activities.SAP.Logon) | SAP Logon (UiPath.UIAutomationNext.Activities.NSAPLogon) | |
Select Dates in Calendar (UiPath.Core.Activities.SAP.SelectDatesInCalendar) | Select Dates in Calendar (UiPath.UIAutomationNext.Activities.NSAPSelectDatesInCalendar) | |
Select Item (UiPath.Core.Activities.SelectItem) | Select Item (UiPath.UIAutomationNext.Activities.NSelectItem) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Select Menu Item (UiPath.Core.Activities.SAP.SelectMenuItem) | Select Menu Item (UiPath.UIAutomationNext.Activities.NSAPSelectMenuItem) OR Select Item (UiPath.UIAutomationNext.Activities.NSelectItem) | If the classic activity was incorrectly used to target elements other than windows, a simple modern Select Item activity is created. |
Send Hotkey (UiPath.Core.Activities.SendHotkey) | Keyboard Shortcuts (UiPath.UIAutomationNext.Activities.NKeyboardShortcuts) OR Type Into (UiPath.UIAutomationNext.Activities.NTypeInto) | If the Target property is not set and the activity is outside a scope, the migration is not performed. If an empty field or an expression is used then it will be migrated to a modern Type Into activity. |
Set Focus (UiPath.Core.Activities.SetFocus) | Set Focus (UiPath.UIAutomationNext.Activities.NSetFocus) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Set Text (UiPath.Core.Activities.SetValue) | Set Text (UiPath.UIAutomationNext.Activities.NSetText) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Set To Clipboard (UiPath.Core.Activities.SetToClipboard) | Set Clipboard (UiPath.UIAutomationNext.Activities.NSetToClipboard) | |
Show Window (UiPath.Core.Activities.ShowWindow) | Window Operation (UiPath.UIAutomationNext.Activities.NWindowOperation) | |
Table Cell Scope (UiPath.Core.Activities.CellScope) | Table Cell Scope (UiPath.UIAutomationNext.Activities.NTableCellScope) | |
Take Screenshot (UiPath.Core.Activities.TakeScreenshot) | Take Screenshot (UiPath.UIAutomationNext.Activities.NTakeScreenshot) | |
Text Exists (UiPath.Core.Activities.TextExists) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the classic activity has a browser element set as target, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
Type Into (UiPath.Core.Activities.TypeInto) | Type Into (UiPath.UIAutomationNext.Activities.NTypeInto) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Type Secure Text (UiPath.Core.Activities.TypeSecureText) | Type Into (UiPath.UIAutomationNext.Activities.NTypeInto) | If the Target property is not set and the activity is outside a scope, the migration is not performed. |
Wait Element Vanish (UiPath.Core.Activities.WaitUiElementVanish) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | If the WaitNotActive property is set, the migration is not performed. This is only supported when migrating to UIAutomation 25.10.29 or later.If the WaitNotVisible property is set to an expression or true without a target, the migration is not performed. If the Target property is not set and the activity is outside a scope, the migration is not performed. After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |
Wait Image Vanish (UiPath.Core.Activities.WaitImageVanish) | Check App State (UiPath.UIAutomationNext.Activities.NCheckAppState) | After migration, the modern Check App State activity will not throw an error when the timeout is reached, the flow continues to the Target Does not Appear branch. |