# SailPoint UiPath SaaS Connector Documentation > UiPath SaaS Connector Documentation # Documentation # Connecting SailPoint and UiPath SaaS To connect SailPoint with UiPath, perform the following tasks: ## Adding the Source in SailPoint To connect to SailPoint, perform the following steps. Once the connection is made, you can configure it to meet your company's needs. 1. Sign in to SailPoint. 2. Go to **Admin \> Connections \> Sources**. 3. Select **Create New**. 4. Search for the connector by entering the name in the search box, and then select **Actions**. 5. In the **Actions** dropdown list, select the setup method: - [**Express Setup**](<#configuring-a-source-using-express-setup>) - Quickly create a read-only connection to your target system by providing minimal configurations and authentication. On completion, aggregation is automatically started. > **Note** > > Express Setup supports Credential Providers. For information on supported credential providers and configuration, refer to [Credential Providers](). For more information, contact your SailPoint Customer Service Manager. - [**Standard Setup**](<#configuring-a-source-using-standard-setup>) - Provide detailed basic configuration to create the source. Once the source is created, continue with source setup. ### Configuring a Source Using Express Setup Express Setup minimizes the initial configuration process so you can quickly connect the application and immediately begin aggregating user account and entitlement data. 1. Review the directions and select **Start Express Setup**. 2. Review the pre-populated **Source Name**, **Source Owner**, and **Description**. To update, select **Edit**. > **Note** > > The source name must be unique. You can change these settings later in the source configuration. 3. (Optional) If enabled for your organization, select the **Use a Credential Provider** checkbox to manage the source's authentication using a credential provider. > **Note** > > To add a Credential Provider in SailPoint, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](). 4. Configure the authentication to allow SailPoint to connect to the source. For more information, refer to the **Connection Settings** section. 5. Select **Finish**. After a successful test connection, the system creates your source and prompts you to run an aggregation. - If you want to aggregate now, select **Aggregate**. - To see the latest account aggregation history, go to **Account Management \> Account Aggregation**. - To see the list of aggregated source accounts, go to **Account Management \> Accounts**. - If you want to aggregate later, select **Exit**. This returns you to the **Sources** page. Your new source is listed, but contains no accounts or aggregation history yet. ### Configuring a Source Using Standard Setup Use Standard Setup to configure the connector for full feature support. 1. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters. 2. In the **Description** field, provide additional details about the source to help distinguish it from similar sources. This field allows a maximum of 2,000 characters. 3. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two or more letters. For more information, refer to [Assigning a Source Owner](). 4. (Optional) Select a governance group to grant its members [source]() or [role]() sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](). 5. If this source represents a primary system containing your organization's personnel records, select the **Authoritative Source** checkbox. For more information, refer to [Creating Identity Profiles](). 6. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Continue to configure your connected source there. ## Base Configuration Provide the base configuration parameters. Information you entered in the Create New Source dialog is automatically entered into the fields in the Base Configuration page. You can edit this information if necessary. 1. Enter a unique name and description for the source. 2. In the **Source Owner** dropdown list, select the identity that owns this source. - To find a source owner, begin entering their name. 3. (Optional) If enabled for your organization, select the **Use a Credential Provider** checkbox to manage the source's authentication using a credential provider. > **Note** > > To add a credential provider, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](). 4. Configure the authentication to allow SailPoint to connect to the source. Refer to [Connection Settings](<#connection-settings>) for more information. 5. (Optional) In the **Governance Group for Source Management** dropdown list, select a governance group to associate with this source. For more information about governance groups, refer to [Associating Governance Groups with a Source](). 6. (Optional) Select **Create Manual Work Items** to allow the connector to create manual work items for certain operations. You can also enable this option so the source supports additional source management features such as creating accounts and access profile management. > **Important** > > Once you enable this feature, you cannot disable it. For more information on manual work items in SailPoint, refer to [Work Items](). For more information on SailPoint features, refer to [SailPoint Identity Services](). 7. Select **Save**. ## Connection Settings Configure a secure direct connection to the UiPath. > [!NOTE] > > **Screenshot** > > [![Connection Settings]()]() 1. Go to **Connection Settings**. 2. Enter the fully qualified **Base URL** (without service paths) to the UiPath. For example: `https://cloud.uipath.com//identity_` 3. Enter the **Partition Global ID**. For more information, refer to [Organization ID (partitionGlobalId)](). 4. Select an authentication type from the drop-down menu: - [Personal Access Token (PAT)](<#personal-access-token-pat>) - [OAuth 2.0](<#oauth-20>) ### Personal Access Token (PAT) Configure Personal Access Token authentication: > [!NOTE] > > **Screenshot** > > [![Personal Access Token connection settings]()]() 1. In the **Connection** settings, select **Personal Access Token** from the **Authentication Type** drop-down. 2. Enter the token into the **Personal Access Token** field. For more information, refer to [Personal Access Token (PAT)](). 3. Select **Save**. ### OAuth 2.0 Configure OAuth 2.0 authentication: > [!NOTE] > > **Screenshot** > > [![OAuth 2.0 connection settings]()]() 1. In the **Connection** settings, select **OAuth 2.0** from the **Authentication Type** drop-down. 2. Confirm that **Client Credentials** is selected under **Grant Type**. 3. Enter the **OAuth 2.0 Token URL** for generating an access token. For example: `https://cloud.uipath.com/identity_/connect/token`. 4. Enter the external application client ID in **Client ID** field for OAuth 2.0 authentication. 5. Enter the external application client secret in **Client Secret** field for OAuth 2.0 authentication. For more information, refer to [Client ID and Client Secret](). 6. (Optional) Enter the **Scopes** as a space-separated list to request in token calls. 7. Select **Save**. ## Aggregation Settings ### Robot Accounts Aggregation Use Robot Accounts aggregation settings to control how the connector collects Robot accounts. > [!NOTE] > > **Screenshot** > > [![Aggregation Settings showing Robot Filter and Page Size fields]()]() 1. Go to **Aggregation Settings**. 2. (Optional) Enter optional query parameters in the **Robot Filter** field for the UiPath Get All Robot Accounts API. Supported parameters include `searchTerm`, `sortBy`, and `sortOrder`. For example: `searchTerm=bot&sortBy=name&sortOrder=asc` 3. Enter the number of robot accounts to fetch per API call (maps to UiPath `top`) in the **Page Size** field. You can set a value from 1 to 1,000. The default is 500. 4. Select **Save**. > [!IMPORTANT] > > Do not include `top` or `skip` in the Robot Filter. The connector uses **Page Size** for `top`, and the connector runtime handles offset pagination. ### Groups Aggregation Group APIs aggregate UiPath groups as entitlements. > [!NOTE] > > - Dedicated group filter settings are not available. > - The UiPath `Get All Groups` endpoint does not use query filters during group aggregation. ## Review and Test Perform a test to confirm the connection to SailPoint. 1. Go to **Review and Test**. 2. Confirm that the entries in each field are correct. If you note any mistakes, return to the section and make corrections. 3. Select **Test Connection**. ## SailPoint Application Onboarding SailPoint application onboarding enables you to easily onboard new applications and create sources following the successful onboarding of a discovery source. To use this feature, continue to **Discovered Applications** in the SailPoint user interface. For more information, refer to [Application Onboarding]() in the SailPoint SaaS documentation. # Dataset Management Dataset Management lets you review the object types a source collects and control how the source aggregates those objects into SailPoint. Use Dataset Management to view and manage resource attributes, datasets and their resources, enable dataset aggregation schedules, perform manual aggregation, and view aggregation history. > [!NOTE] > > Datasets are also available in SailPoint Agentic Fabric. Contact your Customer Success team and refer to [SailPoint Agentic Fabric]() for more information. For more information, refer to [Managing Datasets and Resources]() for datasets, resources, owner correlation, and aggregation. ## Datasets A *dataset* is a named group of one or more related resources that the source aggregates together. When aggregation runs for a dataset, the source collects all resources in that dataset from the managed system in one aggregation job. Activate or deactivate aggregation at the dataset level, not for individual resources. > [!NOTE] > > Each resource belongs to exactly one dataset for that source. The source defines which resources belong to each dataset. You can enable aggregation and review associated resources, but you cannot create or delete datasets or move resources between them. ### Dataset Aggregation Configure aggregation on the **Dataset Aggregations** tab for each dataset. Configure each dataset separately. During aggregation, your owner correlation rules are automatically applied to link machine identities to their human owners. For more information, refer to [Configuring Dataset Aggregations](). ## Resources A resource defines an object type from the managed system. It specifies the kind of object, the attributes the source collects, and how the source identifies and displays each object. Resources form the building blocks of the data model. In the UI, each resource appears under **Dataset Management** \> **Resources** with its schema. A resource does not run aggregation by itself. The dataset that owns the resource collects it during aggregation. For more information, refer to [Managing Resources](). ### Owner Correlation Configure owner correlation on each resource to link aggregated objects to human owners. If you do not configure owner correlation, or if the mapping produces no match, an owner is not assigned. For more information, refer to [Configuring Owner Correlation](). ## Supported Datasets Go to **Dataset Management \> Datasets** on your UiPath SaaS source to view the datasets the connector aggregates. Select a dataset to review its associated resources and configure aggregation. > [!NOTE] > > Configure aggregation for each dataset separately. For more information, refer to [Dataset Aggregation](). UiPath Robot accounts are collected as part of the Robot Accounts dataset. | Dataset Name | Associated Resources | | --- | --- | | Robot Accounts | Robot Accounts | For resource attribute definitions, refer to [Robot Account Attributes](<#robot-account-attributes>). ## Supported Resources Go to **Dataset Management** \> **Resources** on your UiPath source to view each object type the connector aggregates. Select a resource to review its schema on the **Schema** tab. For more information, refer to [Managing Resources](). > [!NOTE] > > When you enable dataset aggregation for a selected dataset, all resources in that dataset are collected at once. Activate or deactivate aggregation at the dataset level, not for individual resources. The UiPath connector supports governance of UiPath Robot Accounts as follows: | Resource Name | Resource Type | Resource ID | | --- | --- | --- | | Robot Accounts | Account | `uipath:robot-account` | For attribute definitions, refer to [Robot Account Attributes](<#robot-account-attributes>). ## Robot Account Attributes The following table lists the Robot account attributes for this connector. | Attribute Name | Type | Description | Entitlement | Multi-Valued | | --- | --- | --- | --- | --- | | id | string | Unique, immutable identifier of the robot account, assigned by UiPath when the account is created. | | | | name | string | The robot account's name (login). Set at creation and immutable; cannot be changed via Update Robot Account. | | | | displayName | string | Human-readable display name of the robot account. Can be updated after creation. | | | | classification | string | Account classification for std:account. UiPath Robot accounts are expected to be machine. | | | | creationTime | string | Timestamp (ISO 8601) when the robot account was created. | | | | lastLoginTime | string | Timestamp (ISO 8601) of the robot account's most recent login. Null if the account has never logged in. | | | | groupIds | string | List of group IDs the robot account belongs to. Membership can be changed via group assignment during account create/update operations. | True | True | # Integrating SailPoint with UiPath SaaS UiPath Automation Cloud is a cloud-based enterprise SaaS platform offered by UiPath. The SailPoint UiPath connector uses the Automation Cloud APIs to aggregate UiPath objects into SailPoint for governance and certifications. The connector currently supports: - UiPath groups as entitlements. - UiPath Robot accounts as machine identities. > [!NOTE] > > To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes]() page. ## Supported Features ### Test Connection Validates connectivity and authentication to UiPath Identity APIs. ### Non-Human Identity Discovery Aggregates UiPath Robot accounts as machine identities through dataset aggregation. Refer to Dataset Management for more information. Refer to [Discovering Potential Non-Human Accounts]() for more information. ### Entitlement Aggregation Aggregates UiPath groups as entitlements. > [!NOTE] > > There are no provisioning operations in this connector. ## Prerequisites This section describes the information you need to configure a connection. ### Organization ID (partitionGlobalId) It uniquely identifies the organization you're managing. You can locate your `partitionGlobalId` in the URL when you are signed in to the portal. For example, in the URL: `https://baseURL/tenant/portal_/cloudrpa?organizationId=xxxxxx&ecommerceRedirect=false&isAuth0=true`, `partitionGlobalId` is `xxxxxx`. ### Personal Access Token (PAT) If you are using Personal Access Token (PAT) as Authentication, you must create a token. Creating a Personal Access Token: 1. Sign in to the UiPath console. 2. Select the user icon in the top-right corner of the window. 3. Select **Preferences**. 4. Select **Personal Access Tokens** from the left-hand menu. 5. Select **Generate new token**. Set the appropriate permissions (Scopes) for your token mentioned in [Required Permissions](<#required-permissions>). > **Note** > > Maximum expiry 360 days. ### Client ID and Client Secret If you are using OAuth 2.0 as Authentication, you must register a new application to generate a Client ID and Client Secret. 1. Go to **Admin \> External Applications \> OAuth apps**. 2. Add the application with appropriate permissions (Scopes) for your token mentioned in [Required Permissions](<#required-permissions>). 3. After the application is created, copy the **App ID** and the **App Secret**. - Use the **App ID** as the **Client ID** for the connector configuration. - Use the **App Secret** as the **Client Secret** for the connector configuration. > [!IMPORTANT] > > Resources Links > > - [Retrieving partitionGlobalId for API use]() > - [Personal Access Tokens]() > - [External Applications (OAuth)]() ## Required Permissions While creating the Personal Access Token (PAT) or OAuth application, select **Platform Management API Access** as the resource. ### Scope-based access (Recommended) To perform all required actions, select the following scopes: - `PM.RobotAccount.Read` - `PM.Group.Read` ### Permission-level access If you configure access at a granular permission level, ensure Read permissions are granted for: - Robot Account APIs - Group APIs # Schema Reference Refer to [Robot Account Attributes]() for Robot account resource schema attributes. ## Default Entitlement Attributes Entitlement attributes define the entitlements, such as groups or roles, that can be assigned to the managed system's user accounts. Refer to [Managing Entitlements]() for more information. > [!CAUTION] > > Changing the attribute marked as the Entitlement ID after aggregating accounts or entitlements can result in duplicate entitlements being created, or access profiles and roles breaking. To avoid this, edit the entitlement schema before performing any aggregations. | Attribute Name | Description | | --- | --- | | id | Unique, immutable identifier of the UiPath group. | | name | System name of the group. For built-in groups, this is predefined by UiPath. | | displayName | Human-readable display name of the group. | | type | Group type: `0` = built-in system group (for example Everyone, Administrators, Automation Developers), `1` = local/custom group created within the organization. | | creationTime | Timestamp (ISO 8601) when the group was created. | | lastModificationTime | Timestamp (ISO 8601) when the group was last modified. | # Troubleshooting If you encounter any of the following issues or errors, SailPoint recommends that you follow the guidance provided below to resolve the error before contacting SailPoint Support. For issues or errors that are not addressed in this connector guide, refer to the following resources for troubleshooting information: - [SailPoint Identity Services Documentation]() - [SailPoint Support Knowledge Base]() - [SailPoint Developer Community]() ## Debug Logs For information about managing additional source settings, including debug logging and downloading connector logs, refer to [Managing Additional Settings](). ## InvalidRequestException You might receive the following error message if the service URL format is incorrect: ```text [ InvalidRequestException ] [ Error details ] Invalid request received to UiPath System. Status: 400, Output: ServiceType is not onboarded onto decoupled standard url routing. ``` **Resolution**: Verify that the Base URL uses the correct format: `https://cloud.uipath.com//identity_` ## InvalidConfigurationException You might receive the following error message: ```text [ InvalidConfigurationException ] [ Possible suggestions ] Ensure that URL resource configuration details are correct. [ Error details ] Requested resource could not be found. Status: 404 , Output: Service: identity not found in Organization: dummy-org Tenant: ``` **Resolution**: Verify that the organization exists in UiPath and that the organization segment in the Base URL is correct. ## InsufficientPermissionException You might receive the following error message: ```text [ InsufficientPermissionException ] [ Possible suggestions ] Assign appropriate permissions to the user. [ Error details ] Insufficient privileges detected. Status: 403, Output: ``` **Resolution**: Do the following: 1. Verify that the Partition Global ID (`partitionGlobalId`) is correct and formatted as a valid UUID. 2. Ensure that you have granted the required read permissions for the Robot Account and Group APIs. Refer to [Required Permissions]() for more information. > [!NOTE] > > If scheduled refreshes are configured for groups (entitlements) and robot accounts (datasets), allow up to the full refresh interval for changes made in UiPath to sync with SailPoint.