- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- 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-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-021 - Hardcoded Timeout
- 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
- 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
- ST-USG-028 - Restrict Invoke File Templates
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
- Variables
- Arguments
- Imported Namespaces
- Coded automations
- Trigger-based Attended Automation
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Citrix Technologies Automation
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Test Suite - Studio
- 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 VMware Horizon
- SAP Solution Manager plugin
- Excel Add-in
- Troubleshooting
Designing Automations
This page provides an overview of the design experience when creating projects based on the selected project compatibility.
The design experience differs depending on the activities you use in your project. Some activities use the design experience available in cross-platform projects (for example, Testing, IT Automation activities, and some System activities) and other activities use the design experience available in Windows - Legacy projects (for example, UIAutomation, Mail, and Excel activities).
In cross-platform projects and for some activities in projects with the Windows compatibility, various editors and builders are available for different data types. If the Show activity properties inline design setting is enabled, all activity properties are available in the activity cards in the Designer panel. Only key properties are visible by default, and if an activity has additional properties, you can configure them by selecting Show advanced options. If the Auto-generate Activity Outputs design setting is enabled, Studio automatically generates variables for activity outputs. To learn more, see Managing Variables.
Dedicated input controls, editors, and builders are available for the most common data types to help you configure activities without entering expressions. Depending on the data type, you can configure activity properties either directly from the activity card in the Designer panel, or by opening an editor or builder in a separate window. In the StudioX profile, the dedicated editor or builder is the default way in which to configure a property, while in the Studio profile, depending on the data type, the default is to enter an expression in the language of the project (VB or C#). Check the placeholder text in activity fields for hints on how to configure them.
To change how you configure a property, click the Plus button on the right side of most activity properties to open a menu containing options available for that property. You can either select the editor for the data type, open the advanced editor for expressions, select a variable, or clear the existing value.
For example, when the input for a string property is set to expressions, you can:
- Enter an expression directly in the activity property.
- Click to open the advanced Expression Editor.
- Select > Reset to Text Builder to enter text directly in the activity property.
- Select > Open Text Builder to open the advanced Text Builder.
-
Select > Use Variable to select a variable.
The variable selection window displays all the variables, arguments, and constants in the project, as well as properties specific to each data type. The window is accessible by selecting > Use Variable next to an input activity field or from inside other editors and builders (such as the Text Builder).
Inside the variable selection window, you can navigate to the desired property or use the search bar to find it. An icon next to each property indicates the type (for example, Tt for strings or 123 for numerical types).
Variables that are automatically generated by Studio for activity outputs are displayed under the activity where they were generated.
The following sections describe some of the available selectors, editors, and builders.
Expression Editor
The Expression Editor is available for most activity properties. It includes intelligent code completion for variables, arguments, methods, properties, classes, namespaces, constants, or keywords. Expressions can be written on multiples lines. You can create variables or arguments using the Ctrl + K and Ctrl + M shortcuts respectively. Use Ctrl + F inside the editor to open the search and replace capabilities.
Text Builder
Compose plain text with support for inputting text on multiple lines. To add a variable or argument to the text, select it from the Use Variables dropdown above the text box. Click Save to save the text. Available for properties that accept string input.
Date and time selector
Select a date from the calendar and a time of day (hour and minute, AM or PM). You can type values or use the up and down arrows to increase and decrease the value of the time selector. Available for properties that accept DateTime values. Examples of activities where available: Modify Date.
Duration editor
Specify a duration in hours, minutes, seconds, and milliseconds. You can type values or use the up and down arrows to increase and decrease them. Available for properties that accept TimeSpan values. Examples of activities where available: Delay.
Cloud storage browser
Browse through cloud storage folders and mailboxes from online applications and select items to use in the project. Examples of activities where available: activities that process emails, files, and folders from Office 365 and Google Workspace.
Connection selector
When you add an activity that interacts with an online application using an Integration Service connector, you must select the connection for the account to use in that activity. Depending on whether or not connections are already set up in the Integration Service for the connector, one of the following may occur:
- No connection exists - The text Add new connection is displayed in the activity. From the connection dropdown, select Add new connection to start the authentication process and enable the required permissions. For more information, see the Integration Service documentation for the connector you want to use.
- Connections already exist - Select a connection from the connection dropdown in the activity. The connection that is set as default is automatically selected. To add a new connection, select Add new connection from the dropdown.
-
A connection is selected but is invalid - If a connection is selected, but you are unable to configure the other properties in the activity, this indicates the connection is broken. From the connection dropdown, select Manage connections to go to the Integration Service and fix the connection.
Condition Builder
Define a true or false statement that an activity evaluates to determine how the automation should continue. Examples of activities where available: If and While.
To build a condition:
- Select a first value to compare from the field on the left, for example a variable from your project.
- Select an operator from the
dropdown in the middle to use for comparing the first value. There are multiple
operators you can choose from depending on the data type. Multiple operators are
available:
greater than
,greater than or equal
,less than
,less than or equal
,equal to
,not equal to
,is empty
,is not empty
,is true
,is false
,starts with
,ends with
,contains
,is numeric
,is not numeric
. -
For some operators, you must also select from the field on the right a second value with which to compare the first value.
All (AND)
if the statement is true when all the conditions are met, or Any
(OR)
if the statements is true when any of the conditions are met.
Collection Builder
Create a collection of items of the same type. Examples of activities where available: Build collection, Append item to collection, Upload files.
To build a collection, select the item, and then select Add entry for each entry you want to add.
Dictionary builder
Create a collection of key-value pairs where each key is unique. Example of activities where available: Add Log Field.
To build a dictionary, select the key, the type, and the value, and then select Add entry for each entry you want to add.
Filter builder
Create a complex filter with one or more conditions. Examples of activities where available: For Each Email activities.
To build a filter:
- Select the item to filter on from the field on the left. For example, when filtering emails, you can select an email field such as From or Body.
- Select an operator from the dropdown in the middle to use for comparing the item. There are multiple operators you can choose from depending on the data type. For example, when filtering emails by sender, you can select the operator contains or does not contain for the From field.
-
Select from the field on the right the value with which to compare the selected item.
You can configure how your automation will run by adding a trigger at design time. You can add one trigger activity per workflow file as the first activity in the workflow. A trigger activity can only be added in the main workflow or in workflows marked as entry points. If the main workflow file contains a trigger, you can only set another file as main if it also contains a trigger.
The following types of triggers are available:
- Manual trigger - The automation runs when you manually trigger it from Orchestrator or the Assistant.
- Time trigger - The automation runs at specified times according to a schedule (requires an unattended robot).
- Event trigger - The automation runs when a specified event occurs (requires an unattended robot). For example, you can configure the automation to start when a new item is added to an Orchestrator queue.
After you publish the project, you can manage the trigger from Orchestrator.
In Windows - Legacy projects and for some activities in projects with the Windows compatibility, you configure activities by entering expressions in the language of the project (VB or C#) either in the Designer or in the Properties panel. When you hover the mouse over an activity field, a Plus button is displayed on the right side of the field. Clicking this button opens a menu with options that enable you to configure the activity:
-
For the following types of activities, browse the associated resource and select data that matches the type of the property directly from this menu without having to enter expressions:
-
Excel automation - If the Modern Excel Design Experience is enabled, in child activities of the Use Excel File activity you can:
- Select cells, ranges, tables, sheets, or charts from the worksheet. You can also indicate the current row or current sheet in an iteration.
- Input based on cell and range references, table, chart, or sheet names using the Custom Input option.
- Switch to Excel to indicate data directly from the file using the Indicate in Excel option. This functionality requires the Excel Add-in to be installed.
- PowerPoint automation - In child activities of the Use PowerPoint Presentation activity, select slides, shapes, or layouts from the PowerPoint file.
- Mail automation - In child activities of the Use Outlook 365, Use Gmail, and Use Desktop Outlook App activities, select email data such as Outlook folders, Gmail labels, the current mail in an iteration, or specific message fields from the email account.
-
- Open in Advanced Editor - Open the Expression Editor.
- Create Variable - Create a variable.
- Clear Value - Clear an existing value.
-
Choose Duration - Select a time (hour, minute). This option is available for activities that accept TimeSpan values as input.