UiPath Documentation
apps
2022.4
false
  • Getting Started
    • Introduction
    • Apps Configuration Checklist
    • Building Your First App
    • Using App Studio
    • Importing an App
  • Before You Begin
    • Installing Automation Suite
    • Compatibility Matrix
  • How To
    • Use File Control
      • Upload a File Using the File Picker Control
      • Downloading a File Using the File Picker Control
      • Downloading a File Using a Link
      • Downloading a File Using an Image Control
    • Using Master Detail View
    • Include Star Ratings
    • Set External Context
    • Include MailTo Links
    • Including Excel Charts in Apps
      • Prerequisites
      • Procedure
      • Result
    • General User Experience Guidelines
    • Use Required Input Validation
    • Use the Send Interim Result Activity
  • Designing your App
    • Controls Overview
    • Layout and Styling
    • Sample App Layouts
    • Input Controls
      • Button
      • Checkbox
      • Date Picker
      • Dropdown
      • Multiselect Dropdown
      • File Picker
      • Slider
      • Switch
      • Text Area
      • Textbox
    • Container Controls
      • Differences Between Container Controls
      • Container Layout
      • Container
      • Page
      • Page Container
    • Display Controls
      • Custom List
      • Header
      • Label
      • Image
      • List
      • Table
      • Divider
      • Icons
      • Tabs
    • User Context References
    • Saving Your App
    • App Errors & Troubleshooting
  • Events and Rules
    • About Events and Rules
      • Rule: If-Then-Else
      • Rule: Open a Page
      • Rule: Open URL
      • Rule: Close Pop-Over/Bottom Sheet
      • Rule: Show Message
      • Rule: Show/Hide Spinner
      • Rule: Set Values
      • Rule: Start Process
      • Rule: Upload File to Storage Bucket
      • Rule: Get File From Storage Bucket
      • Rule: Create/Update Entity Record
      • Rule: Delete Entity Record
      • Rule: Add to Queue
    • About Expressions
      • Using Expressions
    • About Functions
      • Function: And, Or, Not
      • Function: Concat
      • Function: Contains
      • Function: Count
      • Function: EndsWith
      • Function: If
      • Function: IsBlank
      • Function: Length
      • Function: List
      • Function: StartsWith
      • Function: Sum
      • Function: Sort
      • Function: Now
      • Function: Today
      • Function: Time
      • Function: Year
      • Function: Month
      • Function: Day
      • Function: Hour
      • Function: Minute
  • Leveraging RPA in your App
    • Referencing a Process From Orchestrator
      • Send Interim Result Activity
    • Supported Process Argument Types
    • Referencing a Storage Bucket From Orchestrator
    • Configuring an On-Premise Orchestrator for Use by Apps
    • Orchestrator Permissions
    • Replacing a Process Referenced in an App
    • Data Flow Between UiPath Apps and Orchestrator
  • Leveraging Entities in Your App
    • Referencing an Entity in Your App
    • Replacing an Entity
    • About Data Context
      • Using Data Context
      • Using Choice Set
    • Using Apps With Data Service
  • Leveraging Queues in Your App
    • Referencing a Queue in Your App
    • Replacing a Queue
    • Using Apps With Queues
  • Application Lifecycle Management (ALM)
    • About ALM
      • General Settings
      • Permission Management
      • Publishing a New Version of an App
      • Packaging an App as a Client
  • Basic Troubleshooting Guide
    • Apps Troubleshooting and FAQs
    • Apps On-Prem Troubleshooting
UiPath logo, featuring letters U and I in white

Apps User Guide for Automation Suite

Last updated Apr 19, 2024

Configuring an On-Premise Orchestrator for Use by Apps

UiPath Apps can connect to an on-premise deployed version of UiPath Orchestrator (19.10 and later) to help leverage the power of RPA to help drive rich app experiences.

For more information on data flow between Apps and Orchestrator, see Hybrid data flow diagram.

Integration Workflow



  1. All connections to Orchestrator are made from a single place, the Apps Service application.
  2. All calls to Orchestrator are authenticated calls in line with the security model exposed by Orchestrator. Please see the section about Authenticating.
  3. Credential obtained from the user to talk to Orchestrator is used for all communication with Orchestrator both at design time when authoring the app as well as runtime when executing the app. The identity of the user who is designing or running the app itself has no bearing here.

    • After initially obtaining the credential from the app designer, the credential is stored in the Apps backend with encryption at rest to enable seamless and uninterrupted design and runtime experience for all users of the app
  4. Apps service sets up a secure webhook callback over https on process lifecycle events to help detect when processes start, stop, error out, etc. This follows the best practices mentioned in the About Webhooks page.
  5. No process-related data is stored on the Apps backend. The only information that is persisted is metadata around the identity of the process/es that are being used by a specific app.
  6. Apps can invoke both attended and unattended Orchestrator processes. An app designer can choose to run a process through the connected Orchestrator or directly on the local computer on which the app is running using UiPath RobotJS.
  • In the local robot scenario, process execution is invoked from the browser to the locally running robot and communication does not leave computer boundaries.
  • In the process execution via Orchestrator option, the complete lifecycle of the process is managed by Orchestrator, and UiPath Apps plays no role in the same other than listening to process lifecycle events using the webhook callback.

Allowing UiPath Apps to Access an On-Premise Orchestrator

The Apps service uses the outgoing IPs for all external communications:

  • 52.143.9.199

  • 51.138.105.185

  • 51.138.106.174

  • 40.127.151.216

  • 40.127.149.12

  • 52.188.217.113

  • 52.188.222.17

  • 52.143.77.133

  • 52.149.26.68

Traffic from this IPs needs to be allowed through the Organization DMZ firewall and any other intermediate firewalls including the firewall on the computer/s in which Orchestrator application is hosted.

Note: Please note that these IPs may change going forward as we continue to enhance the product.
  • The associated port on which Orchestrator application is hosted needs to be exposed through the DMZ on all relevant firewalls (see the previous point)
  • An orchestrator user who has read and execute access to relevant processes whose credential will be used from UiPath Apps to talk to Orchestrator
  • If using local robot process execution through Robotjs, please ensure Robotjs is properly configured using instructions provided at RobotJS.

Note:

Best practices:

  • Ensure that the On-Premise hosted Orchestrator is only accessible through a secure https channel
  • Create a low privilege user in Orchestrator that only has read and execute access to just the desired processes/folders and use that for the integration.

Validating the Configuration

Apps Designer says unable to connect to Orchestrator

  • Are the UiPath Apps outgoing IPs whitelisted?
  • Is the Orchestrator port whitelisted?
  • Is the correct URL with the port being used in the Orchestrator URL field?\
  • Has it been confirmed that the credentials provided when connecting to Orchestrator are correct?
  • Do the credentials provided have the permissions to list/run folders and processes?

Apps Designer shows no processes or wrong processes

  • Does the user whose credential was configured during App Design have read access to the folder in which the desired processes reside?

When previewing an App and/or running an app and invoking a process, there is an error

  • Are the UiPath Apps outgoing IPs still whitelisted?
  • Is the Orchestrator port still whitelisted?
  • Does the user whose credential was configured during App Design still exist?
  • Does the user whose credential was configured during App Design still have the same credentials?
  • Does the process and the exact version that is executed still exist in Orchestrator in the same folder or anything has changed?
  • If running processes locally, is Robotjs configured correctly, and is able to properly handshake with the robot?
  • Has the process being executed on the local robot been downloaded to the robot prior to executing the same through the app?
  • Does the user whose credential was configured during App Design have to execute access to the process?

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated