UiPath Studio allows you to create two types of standalone automation projects: process or library. Processes can incorporate all types of workflows, sequence, flowchart, state machine and global exception handler, while the latter isn't available for libraries. Moreover, libraries can be added as dependencies to automation processes.
When you start a new process in Studio, a folder is created with your custom name to the selected location. Projects are saved in the
%USERPROFILE%\Documents\UiPath directory by default, unless this location is manually changed.
This folder includes:
Main.xamlfile is automatically created, which should hold your main workflow.
- all other automation .xaml files included in the project. Please note that these files have to be linked to the
Main.xaml(the default entry point) through the Invoke Workflow File activity, because only the
Main.xamlfile is executed when you run a job.
.screenshotsfolder, if you are dealing with UI automation.
project.jsonfile that contains information about your automation project.
Projects created with newer versions of Studio might not work with older Studio versions. Read more about Backward and Forward Compatibilty.
Projects created in the Studio and StudioX profiles use the VB.NET language for expressions.
In the Studio Pro profile, when you create a new project, you can choose 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. Please note that C# projects can only be opened from the Studio Pro profile.
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.
When creating a new process or library, the default version scheme is semantic. It can be changed from the Publish window by simply adding an extra digit to the version number. The project’s semantic version can be modified from the
project.json file too. The patch number 0 is automatically added to projects with version number
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.
The major and minor versions can be edited in the
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.
Copy and paste files from File Explorer directly into the Project panel. The same can be done using drag and drop on one or multiple files, including
.xaml workflows. Using Ctrl + C and Ctrl + V shortcuts you can also copy a file and duplicate it anywhere in the tree.
Expands all nodes in the automation project.
Collapses all nodes in the automation project.
Refreshes the project.
Show All Files
Shows all files belonging to the automation project, including the
Opens the project's location on the machine.
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.
Open Project Folder
Opens the local folder containing the project.
Opens the Project Settings window for adjusting project preferences.
Opens the File Explorer window for importing various files into your project.
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.
Opens the selected files using the default program.
Open File Location
Opens the local folder containing the file.
Enables you to rename the selected file or folder, and opens the Rename Item window. The item is renamed in all occurrences.
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.
Finds all references to the file in the project. The results are displayed in the Find References panel.
Debugs the selected
Set as Main
Sets the selected
Open the library’s Properties window for adding a tooltip and Help Link.
Set as Global Handler
Removes the Global Exception Handler tag from the
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.
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.
Ignore from Publish
Marks one or more selected files as excluded from publishing.
Set as Publishable
Marks one or more selected files that are excluded from publishing as publishable.
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.
Right-click a file or project node in the Project panel to open the GIT-specific context menu for Managing Projects with GIT.
Commits current changes to the local GIT repository.
Pushes the current version onto the remote repository.
Pulls remote files and rebases the current branch.
Opens the GIT window with options for managing currently added branches.
Opens the File Diff window for comparing changes between the local version and the remote version of the file.
Opens the Show History window for comparing two versions of the same file.
Opens the Undo Pending Changes window if the file was not committed or pushed to the remote repository.
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.
Opens the selected
Enables you to rename the selected file or folder, and opens the Rename Item window. When checking in the renamed
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.
Checks in the
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.
Opens the File Diff to compare changes between the versioned file and the one mapped locally.
Displays the Check In Changes window and enables you to upload the selected item to the server as the newest version. The
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.
Runs the selected workflow, even if it's not checked out or added to the repository.
Set as Main
Sets the selected
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.
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.
Change the project description. This field accepts up to 500 characters.
Optionally, define a custom icon for the project. You can browse to and select a file, or enter a path or public URL to an
After the project is published, the icon is displayed as follows:
Enable or prevent users from pausing processes in the Robot tray. Set to Yes if pausing the process during execution would result in crashing it. For example, if an activity in your workflow uses the
Starts in Background
Set to Yes to turn the project in a Background Process and allow it to run in the background concurrently with other processes, as long as it does not use UI interaction.
Set to Yes to turn the project in an Orchestration Process.
Set to Yes to indicate that the project was tested using Picture in Picture. If set to No, when the process is run in PiP from the Assistant, a dialog informs the user it was not tested using this feature and prompts for confirmation before proceeding.
Starts in PiP
Set to Yes to indicate that the process should be run by default using the Picture in Picture feature.
Modern Design Experience
Set to Yes to enable a modern experience of working with UI Automation, including new and improved activities, recorders, and wizards, as well as the Object Repository.
Click OK and the changes are made visible in the Project panel and
Check out the Configuring Activity Project Settings page to read about how to adjust activity properties at project level.
Please take into consideration that whenever you wish to copy a large number of activities from one sequence to another, it is recommended to scroll down to the bottom of the Designer panel beforehand. This is due to a Windows Workflow Foundation limitation.
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.
Updated 21 days ago