- 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-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-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
- Trigger-based Attended Automation
- Recording
- UI Elements
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Citrix Technologies Automation
- RDP Automation
- VMware Horizon Automation
- Salesforce Automation
- SAP Automation
- macOS UI Automation
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- 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
- Test Suite - Studio
- Troubleshooting
Studio User Guide
About Libraries
A library is a project which contains one or more workflows that can be reused as activities in other projects. Libraries are saved as NUPKG files when published and can be installed as dependencies from the Package Manager.
For example, you could create a library that collects data from an Excel spreadsheet and appends it to another, as explained in the Creating a Basic Library page. Next, the library can be packaged and used in other processes as an activity.
You can extract any process or test automation project as a library to be reused in other projects. For example, you can convert a test automation project to use its templates in other automation projects.
Arguments you define in the library become activity properties in the projects where the library is installed as a dependency.
To configure the look and the behavior of an activity when it is used in a project, right-click the workflow file in the library Project panel, and then select Activity Layout. The activity properties window is displayed with different options depending on the library compatibility (Windows - Legacy, Windows, or cross-platform).
Select Activity Properties in the left-side menu, and enter the following:
- Display name - The activity's name displayed in the Activities panel.
- Tooltip - The tooltip that is visible when you hover over the activity in the Activities and Designer panels in projects where the library is installed.
- Help Link - The help link that opens when you select the activity in the Designer panel and press F1 on your keyboard.
- SVG Icon - The SVG icon to display next to the activity name.
- Color - The highlight color displayed for the activity in the Designer panel.
The arguments defined in the workflow file are listed under Activity Properties in the left-side menu.
-
To customize the generated property, select it and configure the following:
- Display name - The label that appears in the activity for the property.
- Tooltip - The tooltip that is visible when you hover over the activity property.
-
Input Type - The type of input for the property. You can use the default input for the property type or select an input option depending on the type:
- Boolean - Use Default, Toggle (default), Condition Builder, Radio Button.
- Numeric (int, double, decimal, long, short, sbyte, byte, ulong, ushort, unit, float) - Use Default, Number Editor, Dropdown. For Dropdown, in the Values field, input each separate value by pressing Enter on your keyboard.
- String - Use Default, Text Composer (default), Rich Text Composer, Dropdown, Autocomplete, Radio Button. For Dropdown, Autocomplete, and Radio Button, in the Values field, input each separate value by pressing Enter on your keyboard.
- String[] - Use Default, String Array.
- Date Time - Use Default, Date Time.
- Time Span - Use Default, Time Span.
- Dictionary - Use Default, Dictionary.
- All other types - Use Default, Input.
- Placeholder - The placeholder text to display for the input when no value is selected.
- Required - Whether the property is required.
- Advanced Only - Whether the property should only be displayed in the advanced options section of the activity. Properties from the advanced options section can also be organized in categories.
- To add a category under which to group multiple related properties, select New Category in the lower-left side of the window. Categories are available only in the advanced options section of the generated activity and can be expanded or collapsed. If a category is empty, it is removed when you click Save to close the window.
-
To change the order of properties and categories, or add properties to categories, drag-and-drop the items in the list.
- If your library includes Integration Service activities or
invokes workflows containing Integration Service activities, connections used in
these activities, as well as other activity properties appear as separate
entities when configuring the activity layout. You can reorder and categorize
Integration Service connections and properties, as well as edit a property’s
Display name and Tooltip.
Note:
- Configuring connections and properties may not work when invoking workflows that invoke coded workflows.
-
In processes that include a library activity that uses connections, if an activity which is not part of that library and which utilizes the same connection is added to the process, the second activity will overwrite the library activity’s settings.
Select Activity Properties in the left-side menu and enter the following:
- Tooltip - The tooltip that is visible when you hover over the activity in the Activities and Designer panels in projects where the library is installed.
- Help Link - The help link that opens when you select the activity in the Designer panel and press F1 on your keyboard.
The arguments defined in the workflow file are displayed under Activity Properties in the left-side menu.
-
To customize the generated property, select it and configure the following:
- Display name - The label that appears in the activity for the property.
- Tooltip - The tooltip that is visible when you hover over the activity property.
- Required - Whether the property is required.
- Advanced Only - Whether the property should be displayed only in the Properties panel. If selected, the property is not displayed in the Designer panel for the generated activity.
-
To change the order in which the properties are displayed in the activity, drag-and-drop them in the list.
Note:- In the case of
libraries, it is recommended to use
Nothing
to assign a null value to a variable, rather than""
. This is done to avoid any inconsistencies when using the packaged library as a dependency to a project. - The
ImplementationVersion property of the
System.Activities.ActivityBuilder
object is not supported. Setting a value for this property results in arguments not being saved. This object is displayed in the Properties panel when you select the blank area of the Designer panel.
- In the case of
libraries, it is recommended to use
To configure the settings of a library project, open the Project Settings window by clicking Settings in the Project panel.
The following options are available in the General tab:
- Name - edit the name of the project.
- Description - edit the description of the project.
- 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 more information, see About Automation Projects.
- 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 an
ico
,jpeg
,jpg
, orpng
file up to 1MB in size.After the project is published, the icon is displayed next to the package in the Manage Packages window in Studio.
- Compile activities expressions - set to Yes to compile and package all activities expressions with the library. This results in an improved execution time. Available for Windows - Legacy libraries only.
- Ready to Run - set to Yes to optimize the generated assemblies for faster JIT compilation at runtime. Available for Windows - Legacy libraries only.
- Separate Runtime Dependencies - To increase Robot performance and reduce the size of published packages, libraries are separated into design and runtime packages. The design package is used by Studio and the slimmer execution package is used by the Robot.
- Include Sources - Set to Yes to package all
.xaml
sources within the published package, including workflows that were previously made private. For Windows - Legacy libraries, the files are saved in the generated assembly file and in thelib\net45
folder in the.nupkg
file. For Windows and cross-platform libraries and processes, the files are saved in thecontent
folder in the.nupkg
file.
- Because of the separation between design time and runtime packages, custom libraries published in Studio 2023.4 are not guaranteed to be compatible with earlier Studio versions.
- You can install only the design time package in a project, since it is replaced by the runtime package when publishing. Installing only the runtime package will cause unexpected issues in Studio.
- Starting with Studio 2023.10.0, the separation between design time and runtime
packages occurs only if:
- A
ViewModels.dll
file is generated during the compilation process. TheViewModels.dll
file is generated for Windows and cross-platform libraries when configuring viewmodel activity properties for at least one workflow file inside the library. - The Separate Runtime Dependencies option is enabled.
- A
When using libraries, take into account the following limitations:
-
Due to NuGet limitations:
- You cannot publish libraries to locations that contain user-restricted subfolders using Windows environment path variables.
- Release notes for published libraries are visible only in Orchestrator.
- Libraries
with special characters in the names of
.xaml
files they contain may not be successfully published. - If a library
contains a
.xaml
file and an argument that have the same name, the library cannot be published. - Library projects with the Windows - Legacy compatibility cannot be published if they contain Invoke Workflow File activities with the Isolated option selected. An error message is displayed in the Output panel when you try to publish. This limitation does not apply to libraries that use the Windows or cross-platform compatibility.
- When using Invoke Workflow File activity, make sure the invoked file is located in the same folder as the library project.
- The Launch Workflow Interactive activity is not supported for libraries.
- Using Invoke Workflow File inside a library to reference the library itself is not supported.
-
If a library contains an activity that accepts a file path as input, to ensure the path is resolved correctly in projects where the library is installed, add the UiPath.Constants.Project.Location global constant when referencing the path (use this exact capitalization). This disables changing
Environment.CurrentDirectory
to the library folder at the start of execution for a library activity and uses the constant instead.For example, if a file named Employee.txt located in the InputData subfolder in the library project is used inside a Read File activity, provide the path as follows:
UiPath.Constants.Project.Location+"InputData\Employee.txt"
Note: The constant must not be used in Invoke Workflow File activities inside libraries. - To reference a location from the project folder where a library is installed, pass the path to the library as an argument.
- Open or create a new project.
- Under the All Packages category, pick the feed under which the library is saved and install the package.
- Select OK and the package is added to the project definition.
- The activity is found in the custom category of the Activities panel.
Considerations for installing libraries in projects
- Libraries with the cross-platform compatibility can be installed in cross-platform and Windows projects. Windows - Legacy and Windows libraries can only be installed in processes that have the same compatibility.
- Errors may occur when you run a project that contains custom activities from a library that was created in a Studio version prior to 2019.10.1 and published from Studio 2019.10.1 or later. In this scenario, you must recreate and republish the library.
- When using Import Workflows to add a workflow that contains a library in a library project, the dependencies referenced in the library are not imported.
- When importing two versions of the same custom library in a project, the extra custom activities contained only in the second library are not visible in the Activities panel unless you remove the first imported library.
-
Using periods (
.
) in the library name separates the library into nested groups when viewing it in the Activities panel.