- 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 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 - Toggle (default), Condition builder, Radio button.
- Numeric (int, double, decimal, long, short, sbyte, byte, ulong, ushort, unit, float) - Number editor.
- String - Text composer (default), Rich Text composer.
- String[] - String array.
- Date Time - Date Time selector.
- Time Span - Duration selector.
- Dictionary - Dictionary builder.
- All other types - Input (expression editor).
- 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.
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.
- 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.
-
Project 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.
- 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.
Publishing libraries is similar to publishing processes. For more information, see About Publishing Automation Projects.
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.