Subscribe
UiPath Studio
Product Lifecycle
Submit Product Feedback
{{user.name}}
The UiPath Studio Guide
Release Notes
2021.4.3
2021.4.6
2021.4.5
2021.4.4
Getting Started
Introduction
About Backward and Forward Compatibility
Install Studio
The User Interface
Keyboard Shortcuts
Signing in to Your Account
Configuring Studio Settings
Project Templates
Orchestration Process
Background Process
Robotic Enterprise Framework
Transactional Process
Trigger Based Attended Automation
Creating a Basic Process
Creating a Basic Library
Tutorials
Automation Projects
About Automation Projects
About Publishing Automation Projects
About the Project.Json File
About Libraries
Loading Web Services in Libraries
Managing Activities Packages
Configuring Activity Project Settings
Signing Packages
Governance
Importing Entities
Modern Design Experience
Dependencies
About Dependencies
Managing Dependencies
Project Dependencies Mass Update
Mass Update Command Line Parameters
Types of Workflows
Sequences
Flowcharts
State Machines
Global Exception Handler
File Comparison
About File Comparison
Comparing Files
Automation Best Practices
Workflow Design
UI Automation
Project Organization
Automation Lifecycle
Source Control Integration
About Version Control
Managing Projects with GIT
Managing Projects with TFS
Managing Projects with SVN
Workflow Diff
Debugging
About Debugging
Test Activities
Debugging Actions
The Locals Panel
The Call Stack Panel
The Breakpoints Panel
The Watch Panel
The Immediate Panel
The Diagnostic Tool
About The Diagnostic Tool
Workflow Analyzer
About Workflow Analyzer
Building Custom Rules
Naming Rules
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
Design Best Practices
ST-DBP-002 - High Arguments Count
ST-DBP-003 - Empty Catch Block
ST-DBP-007 - Multiple Flowchart Layers
ST-DBP-020 - Undefined Output Properties
ST-DBP-023 - Empty Workflow
ST-DBP-024 - Persistence Activity Check
ST-DBP-025 - Variables Serialization Prerequisite
ST-DBP-026 - Delay Activity Usage
ST-DBP-027 - Persistence Best Practice
ST-DBP-028 - Arguments Serialization Prerequisite
Project Anatomy Rules
ST-ANA-003 - Project Workflow Count
ST-ANA-005 - Check Project.json Exists
ST-ANA-006 - Main Workflow Exists
ST-ANA-009 - File Activities Stats
Maintainability and Readability Rules
ST-MRD-002 - Activity Name Defaults
ST-MRD-004 - Unreachable Activities
ST-MRD-005 - Redundant Sequences
ST-MRD-007 - Nested If Clauses
ST-MRD-008 - Empty Sequence
ST-MRD-009 - Deeply Nested Activities
ST-MRD-011 - Write Line Usage
ST-MRD-017 - Incomplete If
Usage Rules
ST-USG-005 - Hardcoded Activity Arguments
ST-USG-009 - Unused Variables
ST-USG-010 - Unused Dependencies
ST-USG-014 - Package Restrictions
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
Performance and Reusability Rules
ST-PRR-004 - Hardcoded Delay Activity
Reliability Rules
ST-REL-006 - Infinite Loop
Security Rules
ST-SEC-007 - SecureString Argument Usage
ST-SEC-008 - SecureString Variable Usage
ST-SEC-009 - SecureString Misusage
Studio Activities SDK
About the Activities SDK
Building Activities Project Settings
Creating Custom Wizards
Prioritize Activities by Scope
Variables
Managing Variables
The Variables Panel
Types of Variables
Text Variables
True or False Variables
Number Variables
Array Variables
Date and Time Variables
Data Table Variables
UiPath Proprietary Variables
GenericValue Variables
QueueItem Variables
Arguments
Managing Arguments
The Arguments Panel
Using Arguments
Imported Namespaces
About Imported Namespaces
Managing Namespaces
Recording
About Recording
Recording Types
Automatic Recording
Example of Automatic Recording with Basic and Desktop
Example of Automatic Recording with Web
Manual Recording
UI Elements
About UI Elements
UI Activities Properties
Input Methods
Example of Using Input Methods
Output or Screen Scraping Methods
Examples of Using Output or Screen Scraping Methods
Generating Tables from Unstructured Data
Relative Scraping
Control Flow
About Control Flow
Control Flow Activities
The Assign Activity
The Delay Activity
The Do While Activity
The If Activity
The Switch Activity
The While Activity
The For Each Activity
The Break Activity
Selectors
About Selectors
UIExplorer
Selectors with Wildcards
Full versus Partial Selectors
Dynamic Selectors
Fuzzy Search
RegEx Search
Non-Greedy Search
Case-Sensitive Selectors
Object Repository
About Object Repository
Creating an Object Repository
Reusing Objects and UI Libraries
Data Scraping
About Data Scraping
Example of Using Data Scraping
Image and Text Automation
About Image and Text Automation
Mouse and Keyboard Activities
Example of using Mouse and Keyboard Automation
Text Activities
Example of using Text Automation
OCR Activities
Installing OCR Languages
Image Activities
Example of using OCR and Image Automation
Automating Citrix Technologies
About Automating Citrix Technologies
Configuration Steps
Example of Automating a Citrix App
Opening Citrix Apps in Studio
Known Issues and Limitations
RDP Automation
About Native RDP Automation
Configuration Steps
How Native RDP Automation Works
Example of RDP Automation
Known Issues and Limitations
SAP Automation
SAP WinGUI
About SAP WinGUI Automation
Configuration Steps
Supported SAP WinGUI Elements
SAP Fiori
About SAP Fiori Automation
Identifying SAP Fiori Elements
VMware Horizon Automation
About VMware Horizon Automation
Configuration Steps
Logging
Studio Logs
Setup Logs
OCR Diagnostic Logs
Logging Levels
Types of Logs
The ScaleCoordinates Migration Tool
The ScaleCoordinates Migration Tool
Best Practices and Limitations
Example of Using the ScaleCoordinates Migration Tool
The ScreenScrapeJavaSupport Tool
About the ScreenScrapeJavaSupport Tool
Argument Descriptions for the ScreenScrapeJavaSupport Tool
The WebDriver Protocol
About the WebDriver Protocol
Configuration Steps
Known Issues and Limitations
StudioPro
Introduction
Application Testing
Test Cases
Data-Driven Testing
RPA Testing
Activity Coverage
File Templates
API Test Automation
Mock Testing
Testing Activities
Application Testing Workflow Analyzer Rules
Extensions
About Extensions
About the SetupExtensions Tool
About UiPath Remote Runtime
Extension for Chrome
Chrome Extension Troubleshooting
Chrome Group Policies
Extension for Firefox
Firefox Extension Troubleshooting
Extension for Microsoft Edge
Microsoft Edge Extension Troubleshooting
Edge Group Policies
Extension for Microsoft Edge Legacy
Microsoft Edge Legacy Extension Troubleshooting
Extension for Java
Java Extension Troubleshooting
Extension for Silverlight
Silverlight Extension Troubleshooting
Extension for Citrix
Automating Citrix Technologies
Extension for Windows Remote Desktop
Extension for VMware Horizon
Troubleshooting
Internet Explorer x64 Troubleshooting
Microsoft Office Issues
Identifying UI Elements in PDF With Accessibility Options
Identifying UI Elements After Windows Updates
JxBrowser Applications Troubleshooting
User Events Monitoring
Java in App-V
Microsoft App-V Support and Limitations
Release Notes
2021.4.3
2021.4.6
2021.4.5
2021.4.4
Getting Started
Introduction
About Backward and Forward Compatibility
Install Studio
The User Interface
Keyboard Shortcuts
Signing in to Your Account
Configuring Studio Settings
Project Templates
Orchestration Process
Background Process
Robotic Enterprise Framework
Transactional Process
Trigger Based Attended Automation
Creating a Basic Process
Creating a Basic Library
Tutorials
Automation Projects
About Automation Projects
About Publishing Automation Projects
About the Project.Json File
About Libraries
Loading Web Services in Libraries
Managing Activities Packages
Configuring Activity Project Settings
Signing Packages
Governance
Importing Entities
Modern Design Experience
Dependencies
About Dependencies
Managing Dependencies
Project Dependencies Mass Update
Mass Update Command Line Parameters
Types of Workflows
Sequences
Flowcharts
State Machines
Global Exception Handler
File Comparison
About File Comparison
Comparing Files
Automation Best Practices
Workflow Design
UI Automation
Project Organization
Automation Lifecycle
Source Control Integration
About Version Control
Managing Projects with GIT
Managing Projects with TFS
Managing Projects with SVN
Workflow Diff
Debugging
About Debugging
Test Activities
Debugging Actions
The Locals Panel
The Call Stack Panel
The Breakpoints Panel
The Watch Panel
The Immediate Panel
The Diagnostic Tool
About The Diagnostic Tool
Workflow Analyzer
About Workflow Analyzer
Building Custom Rules
Naming Rules
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
Design Best Practices
ST-DBP-002 - High Arguments Count
ST-DBP-003 - Empty Catch Block
ST-DBP-007 - Multiple Flowchart Layers
ST-DBP-020 - Undefined Output Properties
ST-DBP-023 - Empty Workflow
ST-DBP-024 - Persistence Activity Check
ST-DBP-025 - Variables Serialization Prerequisite
ST-DBP-026 - Delay Activity Usage
ST-DBP-027 - Persistence Best Practice
ST-DBP-028 - Arguments Serialization Prerequisite
Project Anatomy Rules
ST-ANA-003 - Project Workflow Count
ST-ANA-005 - Check Project.json Exists
ST-ANA-006 - Main Workflow Exists
ST-ANA-009 - File Activities Stats
Maintainability and Readability Rules
ST-MRD-002 - Activity Name Defaults
ST-MRD-004 - Unreachable Activities
ST-MRD-005 - Redundant Sequences
ST-MRD-007 - Nested If Clauses
ST-MRD-008 - Empty Sequence
ST-MRD-009 - Deeply Nested Activities
ST-MRD-011 - Write Line Usage
ST-MRD-017 - Incomplete If
Usage Rules
ST-USG-005 - Hardcoded Activity Arguments
ST-USG-009 - Unused Variables
ST-USG-010 - Unused Dependencies
ST-USG-014 - Package Restrictions
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
Performance and Reusability Rules
ST-PRR-004 - Hardcoded Delay Activity
Reliability Rules
ST-REL-006 - Infinite Loop
Security Rules
ST-SEC-007 - SecureString Argument Usage
ST-SEC-008 - SecureString Variable Usage
ST-SEC-009 - SecureString Misusage
Studio Activities SDK
About the Activities SDK
Building Activities Project Settings
Creating Custom Wizards
Prioritize Activities by Scope
Variables
Managing Variables
The Variables Panel
Types of Variables
Text Variables
True or False Variables
Number Variables
Array Variables
Date and Time Variables
Data Table Variables
UiPath Proprietary Variables
GenericValue Variables
QueueItem Variables
Arguments
Managing Arguments
The Arguments Panel
Using Arguments
Imported Namespaces
About Imported Namespaces
Managing Namespaces
Recording
About Recording
Recording Types
Automatic Recording
Example of Automatic Recording with Basic and Desktop
Example of Automatic Recording with Web
Manual Recording
UI Elements
About UI Elements
UI Activities Properties
Input Methods
Example of Using Input Methods
Output or Screen Scraping Methods
Examples of Using Output or Screen Scraping Methods
Generating Tables from Unstructured Data
Relative Scraping
Control Flow
About Control Flow
Control Flow Activities
The Assign Activity
The Delay Activity
The Do While Activity
The If Activity
The Switch Activity
The While Activity
The For Each Activity
The Break Activity
Selectors
About Selectors
UIExplorer
Selectors with Wildcards
Full versus Partial Selectors
Dynamic Selectors
Fuzzy Search
RegEx Search
Non-Greedy Search
Case-Sensitive Selectors
Object Repository
About Object Repository
Creating an Object Repository
Reusing Objects and UI Libraries
Data Scraping
About Data Scraping
Example of Using Data Scraping
Image and Text Automation
About Image and Text Automation
Mouse and Keyboard Activities
Example of using Mouse and Keyboard Automation
Text Activities
Example of using Text Automation
OCR Activities
Installing OCR Languages
Image Activities
Example of using OCR and Image Automation
Automating Citrix Technologies
About Automating Citrix Technologies
Configuration Steps
Example of Automating a Citrix App
Opening Citrix Apps in Studio
Known Issues and Limitations
RDP Automation
About Native RDP Automation
Configuration Steps
How Native RDP Automation Works
Example of RDP Automation
Known Issues and Limitations
SAP Automation
SAP WinGUI
About SAP WinGUI Automation
Configuration Steps
Supported SAP WinGUI Elements
SAP Fiori
About SAP Fiori Automation
Identifying SAP Fiori Elements
VMware Horizon Automation
About VMware Horizon Automation
Configuration Steps
Logging
Studio Logs
Setup Logs
OCR Diagnostic Logs
Logging Levels
Types of Logs
The ScaleCoordinates Migration Tool
The ScaleCoordinates Migration Tool
Best Practices and Limitations
Example of Using the ScaleCoordinates Migration Tool
The ScreenScrapeJavaSupport Tool
About the ScreenScrapeJavaSupport Tool
Argument Descriptions for the ScreenScrapeJavaSupport Tool
The WebDriver Protocol
About the WebDriver Protocol
Configuration Steps
Known Issues and Limitations
StudioPro
Introduction
Application Testing
Test Cases
Data-Driven Testing
RPA Testing
Activity Coverage
File Templates
API Test Automation
Mock Testing
Testing Activities
Application Testing Workflow Analyzer Rules
Extensions
About Extensions
About the SetupExtensions Tool
About UiPath Remote Runtime
Extension for Chrome
Chrome Extension Troubleshooting
Chrome Group Policies
Extension for Firefox
Firefox Extension Troubleshooting
Extension for Microsoft Edge
Microsoft Edge Extension Troubleshooting
Edge Group Policies
Extension for Microsoft Edge Legacy
Microsoft Edge Legacy Extension Troubleshooting
Extension for Java
Java Extension Troubleshooting
Extension for Silverlight
Silverlight Extension Troubleshooting
Extension for Citrix
Automating Citrix Technologies
Extension for Windows Remote Desktop
Extension for VMware Horizon
Troubleshooting
Internet Explorer x64 Troubleshooting
Microsoft Office Issues
Identifying UI Elements in PDF With Accessibility Options
Identifying UI Elements After Windows Updates
JxBrowser Applications Troubleshooting
User Events Monitoring
Java in App-V
Microsoft App-V Support and Limitations
Only admins can see this
Enable it for everyone
Control Flow Activities
Updated 3 years ago
See Also
The Assign Activity
The Do While Activity
The Delay Activity
The If Activity
The Switch Activity
The While Activity
The For Each Activity
The Break Activity
Control Flow Activities
Suggested Edits are limited on API Reference Pages
You can only suggest edits to Markdown body content, but not to the API spec.