UiPath Studio

The UiPath Studio Guide

About Publishing Automation Projects

Publishing an automation project means archiving the project folder so that it can be sent to Robots and then executed.

By default, all the files in the project folder are published. If you want to prevent a specific file from being included in the published package, right-click it in the Project panel, and then select Ignore from Publish. In the case of libraries, ignoring a workflow file from publish prevents it from appearing as a reusable component in the Activities panel when the published library is installed in a project.

You can publish automation projects to Orchestrator, a custom NuGet feed, or locally. After publishing to Orchestrator, the archived project is displayed on the Packages page and you can create a process to be distributed to Robots. When you publish an automation process to the Orchestrator Personal Workspace or you publish test cases, a process is created automatically if one does not already exist, and existing processes are automatically updated to the latest published version.

Additionally, automation projects may be published to a custom NuGet feed, with the option to also add an API key if the feed requires authentication.

Publishing projects locally requires you to provide a path on the local machine, different than the location where process packages are published. From here, you can later manually send the packages to the Robots, so they can be executed. The default local publish location is %ProgramData%\\UiPath\\Packages.

This can be easily done by using the Publish button on the Design ribbon tab. Please note that automation projects cannot be published if the project.json file is located in a read-only location.



You can also publish from the command line using the command UiPath.Studio.CommandLine.exe publish. For more information, see Mass Update Command Line Parameters.

To publish an automation project:

  1. In Studio, create a new project.
  2. In the Design ribbon tab, click Publish. The Publish window opens. Notice that the window's title bar changes depending on the context:
    • Publish Process when publishing a process;
    • Publish Library when publishing a library project;
    • Publish UI Library when publishing a UI library project;
    • Publish Test Cases when publishing test cases.
    • Publish Templates when publishing templates.
  3. In the Package Properties tab:
    • Enter a name for the package. The drop-down list contains up to 5 of the most recent names of packages that you previously published.
    • In the Version section, review the Current Version of your project, and type a New Version if needed. Check the Is Prerelease box to mark the version as alpha. Please note that this automatically changes the project’s version schema to semantic. When publishing a new version of the file locally, make sure that the custom location does not already include a file with the same proposed version number. For more details about project versioning, check the About Automation Projects page.
    • Optionally, use the Project Icon option to 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, or png file up to 1MB in size.
      After the project is published, the icon is displayed as follows:
      • For processes, in the Assistant next to the process name, making it easier to identify it in the list of processes.
      • For templates, next to the template in Home (Studio Backstage View) > Templates.
      • For libraries, next to the package in the Manage Packages window in Studio.
        :information-source: The icon is not visible in Manage Packages if a local file is used for a library published to Orchestrator or to a feed that does not support embedded icons, In this case, specify the icon using a URL.
    • In the Release Notes text box, enter details about the version and other relevant information. Release notes for published projects are visible in the Packages section in Orchestrator. Please note that the Release Notes field accepts a maximum of 10,000 characters.
  1. Click Next.
    If you are publishing a template, the Template info tab opens next (step 5). Otherwise, proceed to step 6.
  2. (For templates only) In the Template info tab, provide the following information, and then click Next:
    • Name - The name of the template.
    • Description - The template description in the Templates tab.
    • Default Project Name - The default project name when creating a new project using this template.
    • Default Project Description - The default description when creating a new project using this template.
  1. In the Publish options tab, select where to publish the project. The available options depend on the type of project you are publishing:

    • For processes (including StudioX projects):
      • Orchestrator Tenant Processes Feed, Orchestrator Personal Workspace Feed and, if a first-level folder with a separate package feed or one if its subfolders is selected from the folders menu in the Studio status bar, the feed for that folder hierarchy. These options are available if Studio is connected to Orchestrator. The Orchestrator Personal Workspace Feed is available only if your user has the Personal Workspace feature enabled in Orchestrator.
        If the Personal Workspace or a folder from a hierarchy with a separate package feed is selected in Studio, the feed for that folder is the default option. Otherwise, the tenant feed is the default option.
      • Assistant (Robot Defaults) - the default package location for the Robot and Assistant, C:\ProgramData\UiPath\Packages. Projects published here automatically appear in the Assistant. The option is not available if Studio is connected to Orchestrator.
      • Custom - either a custom NuGet feed URL or local folder. Adding an API Key is optional.
    • For test cases:
      • The same options that are available for processes, with the exception of Orchestrator Personal Workspace Feed.
    • For libraries and UI libraries:
      • Orchestrator Tenant Libraries Feed or Orchestrator Shared Libraries Feed - available if Studio is connected to Orchestrator. The available option depends on whether the tenant libraries feed is enabled in Orchestrator.
      • Custom - either a custom NuGet feed URL or local folder. Adding an API Key is optional.
    • For templates:
      • Orchestrator Tenant Libraries Feed or Orchestrator Shared Libraries Feed - available if Studio is connected to Orchestrator. The available option depends on whether the tenant libraries feed is enabled in Orchestrator.
      • Local - the location for publishing templates locally, by default: C:\Users\User\Documents\UiPath\.templates.
      • Custom - either a custom NuGet feed URL or local folder. Adding an API Key is optional.

    If you are publishing a library, additional settings are available in the Publish options tab under Library Settings:

    • Activities Root Category - enter a name for the category under which the reusable component will be listed in the Activities panel.
    • Include Sources - select this option to package all .xaml sources within the generated assembly file, including workflows that were previously made private. This is helpful during debugging workflows.
    • Compile activities expressions - select this option to compile and package all activities expressions with the library. This results in an improved execution time.
      :information-source: Note: To find out what might prevent a library from being published successfully, read about the limitations when publishing libraries.
  1. Click Next to advance to the Certificate signing tab, or Publish to publish your project.
  2. (Optional) In the Certificate Signing tab, add a local Certificate Path next to the Certificate box. Furthermore, add the Certificate Password and an optional certificate Timestamper if needed. For more details, check out the Signing Packages page.



Currently .pfx and .p12 certificate extensions are accepted for signing projects.

  1. Click Publish. The entire project folder is archived into a .nupkg file, and uploaded to Orchestrator, the custom NuGet feed or saved in the local directory.
  2. If the project is published successfully, the Info dialog box is displayed and the project is copied to the NuGet location set in the NuGetServerUrl parameter, in the UiPath.settings file.

The Info dialog box displays:

  • The name under which the package was published.
  • The version number under which the package was published;
  • The location where the project was published if the project was published locally or in the Robot's Default. Click the path to go to the package, except if the publish location was Orchestrator.
  • The Details option which expands a list containing the names of project files that were published.
  • The Copy to Clipboard option.

Information added during publishing, like the publish location is persisted in the window, so it can be used for subsequent publish actions performed for the same type of project. Each time you click Publish, a new version of the project is created and sent to the packages feed. Publishing to a secure feed can be authenticated either through the Robot Key, Orchestrator credentials, Windows authentication, or API key.



Published projects must not be unpackaged. To make any changes, please open the initial .xaml file in Studio, perform the changes, and then publish the project again.

Updated 18 days ago

About Publishing Automation Projects

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.