# SailPoint Pipefy Connector Documentation > Pipefy Connector Documentation # Documentation # Connecting SailPoint and Pipefy To connect SailPoint to the source, perform the following tasks: ## Adding and Configuring 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. Go to **Admin \> Connections \> Sources**. 2. Select **Create New**. 3. Search for a source type and select **Actions**. 4. In the **Actions** dropdown, select the setup method: - **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** - Provide detailed basic configuration to create the source. Once the source is created, continue with source setup. ### Express Setup 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** > > Source name must be unique. 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** page. 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. ### Standard Setup Configure more detailed settings relative to Express Setup. 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. Here, continue to configure your connected source. ## 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 descriptive **Source Name** for the connection. 2. Enter the **Source Description** that provides details necessary to distinguish it from similar connection sources. 3. In **Source Owner**, begin typing the name of the source owner. 4. (Optional) Select the appropriate **Governance Group for Source Management** from the dropdown list. For more information about governance groups, refer to [Associating Governance Groups with a Source](). 5. Select **Create Manual Work Items** to enable the source to support additional source management features such as creating accounts and access profile management. > **Important** > > Once you enable this feature, it can't be disabled. For more information on manual work items, refer to [Work Items](). For more information on SailPoint features, refer to [SailPoint Identity Services](). 6. Select **Save**. ## Connection Settings Configure a secured, direct connection to the source. 1. Select **OAuth 2.0 Client Credentials** as the authentication type. 2. Enter the Pipefy GraphQL API endpoint as **Base URL**. For example, `https://api.pipefy.com/graphql`. 3. Enter the OAuth 2.0 token endpoint as **Token URL**. For example, `https://app.pipefy.com/oauth/token`. 4. Enter the **Client ID** from the Pipefy Service Account. 5. Enter the **Client Secret** from the Pipefy Service Account. 6. Enter the numeric **Organization ID** from the Pipefy organization URL. 7. Select **Save**. > [!NOTE] > > The connector uses OAuth 2.0 Client Credentials to obtain a Bearer token and sends it on GraphQL requests as `Authorization: Bearer `. > [!NOTE] > > A successful connection test confirms that SailPoint can obtain a Bearer token with the Service Account Client Credentials and query organization members for the supplied Organization ID. ## 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. # Integrating SailPoint with Pipefy Pipefy is a cloud workflow and process management platform used to manage organizations, members, roles, pipes, and related operational work. This document provides the instructions required to configure a new direct connection between SailPoint and Pipefy for Quick Compliance use cases. For a reference to the terminology specific to SailPoint products, refer to [Source and Connector Definitions](). > [!NOTE] > > To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes]() page. ## Supported Features The Pipefy connector supports the following: ### Account Management - Aggregate Organization Members ### Entitlement Management - Aggregate Organization Roles > [!NOTE] > > This connector is read-only. It supports account aggregation and entitlement aggregation for Quick Compliance. Provisioning, de-provisioning, and write operations are not supported in this release. > [!IMPORTANT] > > Quick Compliance connectors have the following manual aggregation limits within a 24-hour period: > > - **Organization Admins**: Limited to 3 manual account or entitlement aggregations per day per source. This limit is cumulative across all admins in the organization. > - **Regular Users**: Limited to 1 manual account or entitlement aggregation per day per source. > > These limits ensure that individual compliance statuses are kept up to date while maintaining continuous compliance monitoring. If you need to run additional aggregations beyond these limits, contact SailPoint Support. ## Prerequisites Before configuring the Pipefy connector, create a Service Account in Pipefy. You must be a **Super Admin** in the organization to complete these steps. 1. Sign in to the Pipefy application. 2. Select the **name of your company** or your **profile image** at the top of the page, then select **Members and Permissions**. 3. Open the **Service Accounts** tab and select **Create Service Account**. 4. Enter an **Account Name** (up to 20 characters). This value is used to create the service account email. Optionally add a description (up to 140 characters). 5. Assign an organization role that can access the members list. Use **Super Admin** or **Admin**. Members, company guests, and external guests cannot access the members menu. 6. Set the token expiration. The minimum is 5 minutes and the maximum is 30 days. This value cannot be changed after the service account is created. Create a new service account if a different expiration is required. 7. Open the new service account and copy the **Client ID**, **Client Secret**, and **token endpoint**. Treat these values as sensitive credentials. 8. Record the **Organization ID**. Open the organization home page and copy the numeric ID from the URL, for example `https://app.pipefy.com/organizations/123456789`. The Organization ID is the number after `/organizations/`. 9. Record the following values for SailPoint configuration: - **Base URL** (`https://api.pipefy.com/graphql`) - **Token URL** (`https://app.pipefy.com/oauth/token`) - **Client ID** - **Client Secret** - **Organization ID** > [!NOTE] > > Store the Client Secret securely. Pipefy Service Accounts use the Client Credentials grant to generate a Bearer token. As long as the current token is valid, Pipefy returns the same token and issues a new one only after it expires. ## Required Permissions ### Role-Based Access This connector authenticates with a Pipefy Service Account. The permissions available to SailPoint are the permissions granted by the **organization role** assigned to that service account. Creating a Service Account requires a **Super Admin**. For aggregation, the service account must be able to read organization members and roles through the GraphQL API. In Pipefy, predefined company / organization roles are: - **Super Admin** (`super_admin`) - full administrative access, including members and permissions - **Admin** (`admin`) - administrative access, including the members menu - **Member** (`normal`) - standard user access; cannot access the members menu - **Company guest** (`company_guest`) - limited access for company members - **External guest** (`external_guest`) - limited access for external users Paid plans (Business, Enterprise, and Unlimited) can also include custom roles. Freemium organizations typically expose only `admin` and `super_admin`. Pipefy company-level permissions relevant to this connector: | Permission | Super admin | Admin | Member | Company guest | External guest | | --- | --- | --- | --- | --- | --- | | Access the members' menu | Yes | Yes | No | No | No | | Invite people | Yes | Yes | No | No | No | | Remove people | Yes | Yes | No | No | No | | Access the admin dashboard | Yes | Yes | No | No | No | **Recommendation:** Create a dedicated Service Account with the **Super Admin** or **Admin** role. Pipe-level and database-level permissions are not required for this connector. ## Key Implementation Notes - Uses **OAuth 2.0 Client Credentials** with a Pipefy **Service Account**. Personal Access Tokens are deprecated and not used. - Creating a Service Account requires a Pipefy **Super Admin**. Assign the service account the **Super Admin** or **Admin** role to allow access to the members list. - Set token expiration when creating the Service Account (5 minutes to 30 days); it cannot be changed later. - The **Organization ID** is the numeric ID from `https://app.pipefy.com/organizations/{id}`, not the organization UUID. - Accounts use `UUID` as the identity attribute, `Name` as the display attribute, and `Email` as the correlation attribute. - Aggregate role entitlements from organization roles, including predefined and custom roles on paid plans. - This read-only release supports Quick Compliance only. Pipefy pipes, databases, cards, and write operations are not aggregated or provisioned. ## References For more information, refer to the following resources: - [Pipefy GraphQL API reference]() - [Pipefy Service Accounts]() - [Pipefy authentication]() > [!NOTE] > > The linked document is not maintained by SailPoint and is subject to change without notice. # Schema Reference The application schema is used to configure the objects returned from a connector. > [!NOTE] > > - The **Account Schema** tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as **Entitlement** or **Multi-Valued**. Refer to [Managing Source Account Schemas]() for more information. > - The schema attributes that are not present by [default](<#default-account-schema>) must be defined as strings if not specified. The Pipefy connector uses the following default correlation and object configurations. ## Default Account Schema Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location. The set of account attributes each source stores and how they're organized is known as the account's *schema*. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to [Managing Source Account Schemas]() for more information. ### Default Account ID SailPoint requires that certain attributes remain in your configuration. These attributes are referred to as *account IDs*. > [!CAUTION] > > Changing the attribute marked as the account ID after aggregating accounts can result in duplicate accounts being created. To avoid this, either reset the accounts on this source before editing the account ID attribute or edit the account ID attribute before aggregating accounts. > > To resolve issues caused by changing account IDs, reconfigure them to their default values. The following table lists the default account IDs for this connector: | Account ID | Schema Object Type | | --- | --- | | UUID | Account | ### Default Account Attributes The Pipefy connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified. Accounts are aggregated from organization members using the Pipefy `organization` query and the `orgMembers` connection. Results are paginated with `first`, `after`, and `pageInfo` (`endCursor`, `hasNextPage`). | Attribute Name | Description | | --- | --- | | ID | Unique identifier for the organization member | | UUID | UUID of the organization member, used as the account identity attribute | | Name | Full name of the organization member, used as the account display attribute | | Email | Email address of the organization member, used for account correlation | | Invitation Accepted | Whether the user has accepted the organization invitation | | OTP Required For Login | Whether a one-time password (MFA) is required to sign in | | Role | Current organization role assigned to the member, aggregated as a Role entitlement | | Avatar Url | Link to the user's profile picture | | Can Be Removed | Whether this member can be removed from the organization | | Available Roles | Roles that can be assigned to this member | > [!NOTE] > > `UUID` is the account identity attribute because it uniquely identifies the organization member. `ID` is also collected, but it is not used as the account identity attribute. `Name` is the account display attribute. | Identity Attribute | Operation | Account Attribute | | --- | --- | --- | | email | EQ | Email | ## 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. This connector aggregates **Role** as the entitlement type associated with accounts. | Attribute Name | Description | | --- | --- | | ID | Unique identifier for the role | | UUID | UUID of the role | | Name | Role name used as the entitlement identity attribute, such as super\_admin, admin, or a custom role name | | Title | Display title of the role, used as the entitlement display attribute | | Description | Description of what the role allows | | Is Custom | Whether this is a custom role | | Member Count | Number of members assigned to this role | | Created By | Who created this role | | Updated By | Who last updated this role | > [!NOTE] > > Role Name is used as the identity attribute because the organization member schema includes only the role name.