# 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 Profit.co 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 |
| --- | --- |
| employeeId | Account |

### Default Account Attributes

The Profit.co connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.

| Attribute Name | Description |
| --- | --- |
| firstName | First name of the employee |
| lastName | Last name of the employee |
| fullName | Full name of the employee |
| employeeNumber | Employee number assigned by the profit.co |
| effectiveStartDate | Start date for an employee (assigned by the organization) |
| loginEnabled | Indicates if login is enabled for the employee (Y/N) |
| enabled | Employee account is enabled (Y/N) |
| personStatus | Type of person (e.g. employee for employees) |
| status | Status of employee (active/terminated) |
| emailId | Email address of the employee |
| userId | User ID associated with the employee account (system generated) |
| employeeCurrentStatus | Current online status |
| firmId | Unique identifier of firm |
| okrScoreId | ID of the employee's OKR score category |
| okrScoreName | Name of the employee's OKR score category |
| createdBy | userId of admin who created the current employee object |
| lastUpdatedBy | userId of admin who last updated the current employee object |
| createdByName | Name of admin who created the current employee object |
| lastUpdatedByName | Name of admin who last updated the current employee object |
| creationDate | Employee account creation date |
| lastUpdateDate | Last update date for current employee |
| managerId | employeeId of manager for the employee |
| managerName | Name of manager for employee |
| departmentId | ID of the department the employee belongs to |
| departmentName | Name of the department the employee belongs to |
| jobTitleId | ID of the employee's job title |
| jobTitleName | Name of the employee's job title |
| workShiftId | Work shift ID for the employee |
| workShiftName | Name of work shit the employee belongs to |
| roles.roleId | Role IDs of roles assigned to employee |
| secondaryReviewer | Secondary reviewer for employee |
| matrixManager | Matrix managers for Employee |
| hrBusinessPartner | HR Business Partner |
| impersonators | Proxy users for employee |
| roles.roleName | Name of all the roles employee have |

## 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.

### Default Group Attributes

The Profit.co connector also supports groups. The following attributes must be configured on the managed system and in the SailPoint source schema to manage groups.

| Role Object | Description |
| --- | --- |
| roleId | Unique identifier for a role |
| name | Placeholder name of the role |
| description | Description of the role |
| roleName | Display name of a role |
| editable | Editable (Y/N) |
| rolePrivileges.privilegeId | Defines the privilegeIds for all privileges associated with the role |
