- 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-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
- 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
- Troubleshooting
- About troubleshooting
- 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
- Automating Applications Running Under a Different Windows User
- Validation of large Windows-legacy projects takes longer than expected
About Automation Projects
UiPath Studio enables you to create the following types of projects:
- Process - Design an automation process and publish it so that it can be executed by robots.
- Library - Design workflows as reusable components and publish the project as a library that can be added as a dependency to multiple processes. For more information, see About Libraries.
- Test Automation - Design a test automation project. For more information about test automation, see the Test Suite section.
- Template - Design a process and publish it as a template that other processes which share common characteristics can then be based on. For more information, see Project Templates.
To create a new blank project, go to Home (Studio Backstage View) > Start and select the type of project to create under New Project. Alternatively, you can start from one of the default templates available under New from Template or go to the Templates tab to browse for more templates from various sources.
In the new project window, configure the following for each project:
- Enter a name for the new project (up to 128 characters) and a description that summaries what you are aiming to do with this automation project (up to 500 characters).
- Select the location where to create the
project. The default location where projects are created is
%USERPROFILE%\Documents\UiPath
. -
Select the compatibility and language.
Note: The compatibility and language cannot be changed after you create a project. However, you can convert your Windows - Legacy projects to the Windows compatibility.
By default, the project folder includes the following files and subfolders:
-
Files
Main.xaml
- Created by default to hold your main workflow. In addition, all the other automation XAML files you add to the project are stored in the project folder. Optionally, you can set a different file as main. All the files must be linked through the Invoke Workflow File activity to the file set as main or to a file marked as an entry point to the project. For test automation projects, aTestCase.xaml
file is created by default instead ofMain.xaml
.Note:- You cannot run Windows projects
that contain a XAML file named
Init.xaml
. - A XAML file placed in the root folder of a project cannot have the same name as a subfolder which contains other XAML files.
- You cannot run Windows projects
that contain a XAML file named
project.json
- Contains information about your automation project.
-
Subfolders
.entities
- Contains data about entities imported from the Data Service, if any are used in the project.-
.local
- Contains data cached locally for the project.Note:- The
.local
folder is hidden. You can enable viewing hidden items from the Windows File Explorer settings. - The
.local
folder should not be shared across projects.
- The
.objects
- Contains data related to items added to the Object Repository, if any are used in the project..project
- Contains tags added to the project..screenshots
- Contains informative screenshots generated in UI automation activities, if any are used in the project..settings
- Contains activity project settings used at runtime..templates
- Contains file templates added to the project.-
.tmh
- Contains data related to test cases, if any are used in the project.Note: Projects created with newer versions of Studio might not work with older Studio versions. Read more about Backward and Forward Compatibilty.You cannot use the following characters in file names:", <, >, |, :, *, ?, \, /,;
. These characters come from Microsoft Windows restrictions and from other special character restrictions.
When you create a new project, select the compatibility based on the environment on which the project will run:
- Windows - Uses .NET 6 with Windows support. This is the default option.
- Cross-platform - Uses .NET 6 with cross-platform support.
-
Windows - Legacy - Uses .NET Framework 4.6.1. the compatibility used in releases prior to 2021.10.
Important:- Windows and Cross-platform processes require Orchestrator 2021.10 and newer to run.
- The Windows - Legacy option will no longer be available for new projects in the near future. We recommend selecting Windows or Cross-platform when creating a new project. You can convert your Windows - Legacy projects to the Windows compatibility.
To learn about the differences between compatibilities, see the following table. To find out more about the design experience in each compatibility, see Designing Automations.
Windows - Legacy |
Windows |
Cross-platform | |
---|---|---|---|
Process execution |
32-bit |
64-bit |
64-bit |
Supported platforms for execution |
Windows (64-bit) |
Windows (64-bit) |
Windows, Linux, and macOS (64-bit) |
Processes are compiled when published |
No. Published packages contain the project source files. |
Yes. Published packages contain compiled DLL files. |
Yes. Published packages contain compiled DLL files. |
Only the activities packages that support the selected compatibility can be installed from the package manager.
The compatibility of each project is displayed on the right side of the Studio status bar and in the Project panel > Dependencies node. The compatibility is also displayed in the entry of each project in the Open Recent list in Home (Studio Backstage View) > Start tab.
Cross-platform projects enable you to create automations that don't require user interaction, and web browser automations using Chrome. Cross-platform automations can be executed on Windows and Unix-like operating systems such as Linux and macOS.
To create unattended projects with cross-platform support:
- In Studio, create a new project and select the Cross-platform compatibility option. This option is available for all project types. For processes that use VB language for expressions, you have the option to work in both Studio and Studio Web.
-
Design the automation. Please note that not all activities packages are compatible with cross-platform projects, so only a selection of packages is available in the package manager. Find out more about the design experience in cross-platform projects.
The default dependencies for a cross-platform project are:
- In the Studio profile: UiPath.System.Activities, UiPath.Testing.Activities, UiPath.WebApi.Activities, and UiPath.UIAutomation.Activities.
- In the StudioX profile: UiPath.System.Activities, Microsoft Office 365, Google Workspace, and UiPath.UIAutomation.Activities.
- Test the automation. We recommend testing automations on the machines where they will run using remote debugging which works with Windows, Linux robots, and macOS robots.
-
After testing the automation, publish the project to Orchestrator. The procedure for running unattended jobs is the same for Windows, macOS, and Linux.
Important: This version of Studio is not compatible with older cross-platform activity package versions that were available in Studio 2022.4 or earlier. If you created cross-platform projects in Studio versions prior to 2022.10, before you edit them in Studio 2022.10 or later, update the installed packages to the latest versions. Some properties may no longer be available for editing.
Opening a Project in Studio Web
If you want to design your cross-platform projects on the go from any device, straight from your browser, you can add projects to the cloud and edit them in Studio Web, the automation designer in UiPath Automation Cloud. When you add a project to the cloud, changes are always synced, allowing you to seamlessly switch between desktop and web and pick up where you left off.
When a Studio project is compatible with Studio Web, the label Cloud Compatible is displayed on the right side of the Studio status bar. To make the project available in Studio Web, select Cloud Compatible > Save to Cloud.
Managing a cloud project in Studio
To be compatible with Studio Web, a cross-platform project must meet the following requirements:
- The project type is process.
- The language for expressions is VB.
- The project contains a single workflow file.
After a project is saved to Studio Web, the label in the status bar changes to Cloud Project. Click the label to open a dropdown menu with options that enable you to manage the project:
- Save to Cloud - Save the latest changes you made in Studio Desktop to the project in Studio Web. If the remote project has changes, you must first confirm that you want to overwrite them. You cannot save to cloud if the project is locked by Studio Web.
- Open in Studio Web - Open the project in Studio Web. If the project is locked by Studio Web, an error is displayed and the project is opened in a new tab in read-only mode.
- Save a Copy - Save the current project locally as a new project. You can edit the name, select where to save, and enter a project description.
-
Get Latest Version - Get the latest changes you made in Studio Web. If there are differences between the remote project and the local project, you must first confirm that you want to overwrite the local version.
Similarly, when you create a project in Studio Web, you have the option to continue working in Studio. From the Projects page in Studio Web, open the menu on the right side of a project, and then select Open in Studio Desktop.
How changes are synced between Studio and Studio Web
When you save and close a cloud project in Studio, the changes are also saved in the remote project if the project is not locked by Studio Web. When you then open the project in Studio Web, the project is updated with any changes you saved to cloud in Studio.
When you open a cloud project in Studio, the project is updated with any changes you made in Studio Web. To update a project that is already open in Studio with the latest changes from Studio Web, select Cloud Project > Get Latest Version in the Studio status bar.
In both cases, if there are differences between the local project and the remote project, you are prompted to confirm before proceeding.
When you create a new project in the Studio profile, you can select which language to use for expressions, either VB or C#. VB is the language selected by default, but you can set C# as the default language for new projects by going to Home (Studio Backstage View) > Settings > Design. Projects created in the StudioX profile use the VB.NET language for expressions.
The use of both VB and C# expressions in the same project is not supported. Neither is the use of VB expressions in C# workflows and vice versa. When you copy and paste activities from other projects, invoke or import workflows, make sure they use the same language as your project.
You can install C# libraries as dependencies in VB projects and vice versa. However, default values defined for arguments in the library project using language-specific expressions cannot be accessed from the project where the library is installed.
- The current C# implementation is based on the C# compiler that uses C# version 5, therefore access to newer features like coalescing assignment, null-conditional operator, null-coalescing operator, string interpolation and others is limited.
- Projects containing expressions with increments are invalid.
- Expressions containing the
nameof()
operator are marked as invalid and are not allowed with the current implementation of C#. - Expressions containing calls to methods with optional arguments must include values for the optional arguments.
- Design time and runtime performance of C# projects is lower when compared to VB.NET. When runtime performance is essential, we recommend using VB.NET instead of C#.
The semantic versioning scheme has the format Major.Minor.Patch[-Suffix], where:
- Major is the major version.
- Minor is the minor version.
- Patch is the patch version.
- -Suffix (optional) is a hyphen followed by a series of dot separated identifiers immediately following the patch version. This denotes a prerelease version.
Identifiers must comprise only of ASCII alphanumeric characters and hyphen, and they must not be empty. Numeric identifiers must not include leading zeroes. In addition, build metadata may be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version, for example 1.0.0-alpha+1.
project.json
file too. The patch number 0 is automatically added to projects with version number major.minor
.
The legacy version number generated for the project has the format M.m.bbbb.rrrrr, where:
- M is the major version.
- m is the minor version.
- bbbb is the build version.
- rrrrr is the revision version.
project.json
file also, while the build and revision versions are generated according to an algorithm - the build value is the number
of days that elapsed since 01.01.2000. The revision value is the number of seconds which elapsed since the current day, until
the moment of the release. The result is divided by 2, so that the maximum revision number does not exceed 65535.
The suggested version number in the Publish window is generated based on the project’s previous versioning scheme, while the current date and timestamp are taken into account for projects using the 4-digit versioning scheme.
The Project panel enables you to view the contents of the current project, add folders, open the file location, manage dependencies, and adjust project settings.
.xaml
workflows. You can also use the Ctrl + C and Ctrl + V shortcuts or Copy and Paste options in the context menu to copy and duplicate files or folders inside the panel.
You can double-click TXT, CS, VB, JSON (excluding the project.json file), and XML files smaller than 10 MB to edit them inside Studio in a text editor with syntax highlighting.
Option |
Description |
---|---|
Expand All |
Expands all nodes in the automation project. |
Collapse All |
Collapses all nodes in the automation project. |
Refresh |
Refreshes the project. |
Show All Files |
Shows all files belonging to the automation project, including the
project.json .
|
File Explorer |
Opens the project's location on the machine. |
Project Settings |
Opens the Project Settings window for processes or libraries. |
Right-click anywhere in the Project panel to open the context menu with options described in the following table. A different subset of options is available depending on where in the panel you right-click, the type of project, and whether the project is added to source control.
Option |
Description |
---|---|
Open Project Folder |
Opens the local folder containing the project. |
Project Settings |
Opens the Project Settings window for adjusting project preferences. |
Add |
Opens a list of items that can be added to the project: folder, sequence, flowchart, state machine, global handler, workflow, or, in test automation projects, test case. Use workflow to create a workflow file based on built-in templates (sequence, flowchart, state machine) or local file templates. |
Import Files |
Opens the File Explorer window to import files into your project.
By default, the
*.xaml filter is applied to list only workflow
files, but you can change it to all files to import other file types.
Imported is added to the imported file name if it coincides with the name
of a workflow from the current project.
You can only import workflow files that use the same language for expressions as the current project. When you import a workflow file, the dependencies of the current project are compared to the ones in the source project file, if one is available. If there are any discrepancies, the Import Workflow window is displayed with information about changes needed to avoid unresolved activities. Available dependency updates are selected by default and are installed when you select Import.
Optionally, you can indicate a project.json file to use as a reference and select whether to search in prerelease package versions. |
Convert to Windows |
In a Windows - Legacy project, opens the Convert to Windows window where you can convert the project to the Windows compatibility. |
Extract as Library |
Extracts a process or test automation project as a library. |
Add to Source Control |
Adds the current project to source control using Git Init, Copy to Git, Add to TFS, or Add to SVN options. Please note that this option is only visible when right-clicking the project node. When a project is added to source control, additional options are available in the context menu. See the options for GIT and the options for SVN and TFS. |
Open |
Opens the selected files using the default program. |
Open File Location |
Opens the local folder containing the file. |
Rename |
Enables you to rename the selected file or folder, and opens the Rename Item window. The item is renamed in all occurrences. Note: The full path of the new file must not exceed 258 characters. |
Copy |
Copies the selected files or folders to the clipboard. You can then paste them in the project panel or in the Windows file explorer. |
Paste |
Pastes files or folders that were copied to the clipboard. |
Delete |
Deletes the selected item only from your local machine. |
Select for Compare |
Selects the current file for comparison. |
Compare with Selected |
Compares the current file with the previously selected file using Compare Files. |
Find References |
Finds all references to the file in the project. The results are displayed in the Find References panel. |
Open in Text Editor |
Opens the selected text file in a text editor inside Studio in read-only mode. To open a text file in edit mode, double-click it. You can double-click TXT, CS, VB, JSON (excluding the project.json file), and XML files smaller than 10 MB to edit them inside Studio in a text editor with syntax highlighting. |
Debug File |
Debugs the selected
.xaml file.
|
Set as Main |
Sets the selected
.xaml file as Main in
the project definition, meaning that the project execution starts with that file.
There can only be one Main project file. The name of the file set as main
appears in bold in the Project panel.
|
Activity Layout |
Open the Properties window for files in library projects, where you can customize the design of the generated activity. |
Set as Global Handler |
Sets the
.xaml file as the Global Exception
Handler for the project. This is applicable to one workflow per
project/process.
|
Remove Handler |
Removes the Global Exception Handler tag from the
.xaml file.
|
Enable Entry Point |
Marks the selected workflow file as an entry point for the process, making it possible to select it as the workflow to run first when using the Invoke Process and Run Parallel Process activities in other processes, or when starting a job from Orchestrator. Note:
|
Disable Entry Point |
No longer marks the selected workflow file as an entry point for the process. This option is not available for the workflow file that is set as Main. |
Extract as Template |
Saves the selected workflow or test case as a template on which you can then base other files in the project. Using a file template allows you to save time when you need to create multiple files with the same structure. When you add a new workflow or test case, you have the option to base it on any template of the same type that exists in the Templates project folder. |
Ignore from Publish / Set as Publishable |
Marks one or more selected files as excluded from publishing or publishable. Note:
|
Make Private / Make Public |
Marks one or more selected files in a library project as private or public, A private workflow file is included in the published package, but no reusable component is created and made available in the Activities panel in projects where the library is installed as a dependency. Note:
|
Create Test Case |
Creates a test case that invokes the selected workflow file. |
Convert to Test Case / Convert to Workflow |
Converts the selected workflows to test cases or the selected test cases to workflows. |
Import Test Cases |
Imports test cases into the project as draft test cases. |
Add Test Data |
Opens the Import Data Variation Source window that enables you to add test data to the project. This option is only available for test cases. |
Link to Test Manager |
Opens the Link to Test Manager window that enables you to link the selected test cases to Test Manager. |
Run Test Cases / Debug Test Cases |
Runs or debugs multiple selected test cases. |
Context Menu Options for GIT
In projects added to GIT repositories, an icon is displayed next to each file in the Project panel to indicate the file status:
The file is synced with the repository.
The file has been modified.
The file has been added.
The file has been removed.
Right-click a file or project node in the Project panel to open the GIT-specific context menu for Managing Projects with GIT.
Option |
Description |
---|---|
Commit |
Commits current changes to the local GIT repository. |
Push |
Pushes the current version onto the remote repository. |
Pull (rebase) |
Pulls remote files and rebases the current branch. |
Manage Branches |
Opens the GIT window with options for managing currently added branches. |
Show Changes |
Opens the File Diff window for comparing changes between the local version and the remote version of the file. |
Show History |
Opens the Show History window for comparing two versions of the same file. |
Undo |
Opens the Undo Pending Changes window if the file was not committed or pushed to the remote repository. |
Copy Repository URL |
Copies the repository URL of the project to the clipboard. |
Context Menu Options for SVN and TFS
In projects added to SVN or TFS repositories, an icon is displayed next to each file in the Project panel to indicate the file status:
The file is not checked out for editing.
The file has been checked out for editing.
The file has been edited.
The file has been added.
Right-click a file or project node in the Project panel to open the context menu with options specific to managing projects with TFS or SVN.
Option |
Description |
---|---|
Open |
Opens the selected
.xaml file in the
Designer panel, in read-only mode if it was not checked out for edit from
the TFS/SVN repository.
|
Rename |
Enables you to rename the selected file or folder, and opens
the Rename Item window. When checking in the renamed
.xaml
file, the previously modified version must also be checked in.
|
Delete |
Deletes the selected item only from your local machine. The latest checked in version of the file is still available in the TFS/SVN repository. |
Check Out For Edit |
Marks the selected file or folder as locked for editing. Checking out a file locks it on the server so that no one else can edit it. |
Finish Editing |
Checks in the
project.json file in the
respository, together with changes and a commit message.
|
Add |
Uploads the selected item to the TFS/SVN server. This option is not available, if the item was previously uploaded to the server. |
Get Latest Version |
Downloads the latest version of the selected item from the TFS/SVN repository. |
Show changes... |
Opens the File Diff to compare changes between the versioned file and the one mapped locally. |
Check In |
Displays the Check In Changes window and enables you to
upload the selected item to the server as the newest version. The
.xaml file must be saved before uploading it. After it’s
checked in, the file becomes read-only in Studio.
|
Undo |
Displays the Undo Pending Changes window and enables you to Revert the changes done to the project, either revert modified files to previous or unversioned states, or retrieve files which were deleted from the local machine. Changes cannot be reverted after the file was checked in. |
Run |
Runs the selected workflow, even if it's not checked out or added to the repository. |
Set as Main |
Sets the selected
.xaml file as Main in the
project. The first created .xaml is set as Main by default.
|
Copy Repository URL |
Copies the repository URL of the project to the clipboard. |
A set of individual settings can be established for each automation project that you’re working on. Such settings are available in the Project Settings window, which can be opened by clicking the in the Project panel.
Field Description for the Settings Window
The following table describes the project settings for process, test automation, and template projects. For information about the settings available for libraries, see About Libraries.
Field |
Description |
---|---|
Name |
Change the name of the project. Such names may contain whitespace characters. When naming projects, keep in mind that whitespace characters are removed at publish time. This field accepts up to 128 characters. |
Description |
Change the project description. This field accepts up to 500 characters. |
Project tags |
You can add one or more tags to the project, either by creating new ones or by reusing tags already defined in Orchestrator.
There are two types of tags: labels and properties (key-value pairs). Tags are included in the published package and they help describe and categorize projects. For example,
they can refer to the automated application (an
Excel label) or the department (a department:accounting key-value property).
When you start typing, possible matches are suggested from already defined tags, and you can reuse one by selecting it from
the list of matches. For a property match, the key followed by the
: (colon) character is displayed first, and the associated values are displayed after you select the key,
To add a new tag, after you enter the name, click the entry with the plus sign next to the name. Separating strings with the
: (colon) character enables you to add properties, while entries that don't contain a : add labels.
Labels and key-value properties are limited to 256 characters. Tag names can't contain these characters:
< , > , % , & , \ , ? , / , : .
Project tags can be automatically applied to processes in Orchestrator. For more information about using tags, see Organizing resources with tags in the Orchestrator guide. |
Automation Hub URL |
URL of an Automation Hub idea linked to the project. For more information, see Linking a Project to an Idea in Automation Hub. |
Package Icon |
Optionally, define a custom icon for the project. You can browse to and select a file, or enter a path or public URL to a
jpeg , jpg , or png file up to 1MB in size.
After the project is published, the icon is displayed as follows:
Note: The icon is not visible in Manage Packages if a local file is used for a library published to Orchestrator or a feed that
does not support embedded icons, In this case, specify the icon using a URL.
|
Disable Pause |
Enable or prevent users from pausing execution from the UiPath Assistant. Set to Yes if pausing the process during execution would result in crashing it. For example, if an activity in your workflow uses the
Timeout property, pausing the execution might cause the timeout to expire, thus breaking the execution.
|
Attended Automation |
Set to Yes to indicate that the project should only be executed in an attended context. Use this setting for projects that include UI Automation activities or other activities that require user interaction. |
Starts in Background |
Set to Yes to turn the project into a Background Process and allow it to run in the background concurrently with other processes, as long as it does not use UI interaction. |
Supports Persistence |
Set to Yes to turn the project into an Orchestration Process. |
PiP Options |
Indicate whether the project was tested using Picture in Picture (PiP) and whether it should start in PiP by default.
|
PiP Type |
Select how to isolate the automation from the user session when running the project in PiP: New Session (child session on the machine) or New Desktop (virtual desktop in the user session). |
project.json
file.
Check out the Configuring Activity Project Settings page to read about how to adjust activity properties at project level.
Unnecessary resources can make projects more difficult to understand and can impact performance, To avoid this problem, remove unused resources from your projects by clicking Remove Unused in the Studio ribbon, and then selecting what to remove:
- Workflows - Remove workflow files that are not referenced in the project.
- Variables - Remove variables that are not used in the currently open file.
- Arguments - Remove arguments that are not used in the currently open file.
- Dependencies - Remove installed activities packages from which no activities are used in the project.
- Imports - Remove imported namespaces that are not used in currently open file.
- Screenshots - Remove informative screenshots that are not used in any activity in the project.