# 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](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) 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](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) 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](<https://documentation.sailpoint.com/saas/help/access/entitlements.html>) 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.
