# Aggregating Additional SuccessFactors Attributes

Configure additional account schema attributes for the SuccessFactors connector.

## Aggregating Additional Schema Attributes Using SFAPI

This connector supports the aggregation of additional schema attributes.

In the SuccessFactors managed system, on the **Additional Attribute Mapping** panel, in the **Schema Attribute** field, enter the name of the additional attribute. In the **Navigation Path (SFAPI Path)** field, enter the navigation path of the attribute as defined in SFAPI (SuccessFactors Data API). For example:

```text
/person/employment_information/job_information/pay
```

> [!NOTE]
>
> The SFAPI is SuccessFactors Data API. It is a SOAP Web Service designed for importing and exporting data to and from your SuccessFactors SaaS instance.

To aggregate the value of the additional schema attributes for an account:

1. Add the entry key of the schema attribute and its respective path. For the navigation path, perform the following steps:

   - On the SuccessFactors managed system, go to **Admin Centre \> SFAPI Data Dictionary**.
   - Search for **CompoundEmployee** in the list.
   - Expand the **CompoundEmployee** entity that displays the attribute fields with their respective information.
   - Search for the attribute you want to add. Its path will be displayed in the **Name** field.

   For example:

   **Label**: `Nationality`

   **Path**: `/person/personal_information/nationality`

   This is the SFAPI path that must be copied and entered in the **Navigation Path (SFAPI Path)** field in the source UI.
2. Add the same attribute name entry in the source account schema. For more information on adding account schema attribute, refer to [Adding Attributes to a Source Schema](<https://documentation.sailpoint.com/saas/help/accounts/schema.html#editing-an-account-schema>).

> [!NOTE]
>
> - Ensure that the names of additional attributes and details are added in both the source account schema and the source UI fields, respectively.
> - This would aggregate the attributes that are returned from the Compound Employee API from the following entities:
>
>   - person
>   - personal\_information
>   - address\_information
>   - email\_information
>   - phone\_information
>   - employment\_information
>   - job\_information

### Additional Information

To aggregate additional information types associated with supported entities such as `personal_information`, `address_information`, `email_information`, or `phone_information`, you can configure a path in the attribute mapping.

For example, there are two address information types in the following node. The first is type `home` and second is type `Payroll`.

```xml
<address_information>
    <address_type>home</address_type>
    <country>ARG</country>
</address_information>

<address_information>
      <address_type>Payroll</address_type>
      <country>AUS</country>
</address_information>
```

If you want to fetch the country for `Payroll`, then set the navigation path / SFAPI path as follows:

```text
/person/address_information[address_type= "Payroll"]/country
```

This connector aggregates the `PrimaryEmailAddress`. To aggregate a different type of email address, set the navigation path as follows:

```text
/person/email_information[email_type="O"]/email_address
```

where `O` indicates the `Office` email address type.

### Additional Attributes with XPath

This connector supports the SFAPI path value in XPath 2.0 format to aggregate additional attributes.

The supported additional attributes are part of following entities:

| Entity | Employees | Users |
| --- | --- | --- |
| User | No | Yes |
| Compound Employee API sub-structures | Yes | Yes |

To aggregate the value of additional account schema attributes for Compound Employee API sub-structures, you must add the attribute name to the account schema and the corresponding navigational path. The following Compound Employee API substructures are standard:

- person
- personal\_information
- address\_information
- phone\_information
- email\_information
- person\_relation
- employment\_information
- job\_information
- compensation\_information
- paycompensation\_recurring
- paycompensation\_non\_recurring
- payment\_information
- accompanying\_dependent
- alternative\_cost\_distribution
- job\_relation
- direct\_deposit
- national\_id\_card
- deduction\_recurring
- deduction\_non\_recurring
- global\_assignment\_information
- ItDeclaration
- dependent\_information
- personal\_documents\_information
- EmployeeDataReplicationElement
- associated\_employee\_information
- emergency\_contact\_primary
- DRTMPurgeStatusOverview

You can include additional sub-structures by providing the sub-structure name in the **Include Compound Employee API Entities** field on the SuccessFactors managed system. To add multiple entities, separate the names with commas. For example: WorkOrder, SecondaryAssignments.

This connector can aggregate additional account schema attributes for user management. These attributes belong to the user entity whose `Navigation Target` property is blank.

User attributes must use the `user` prefix. For example, `user.city`.

To include additional attributes in aggregation processes using XPath:

1. On the SuccessFactors managed system, go to **Admin Center**.
2. Search for and select **SFAPI Data Dictionary**.

   The SFAPI Data Dictionary page displays.
3. Search for and expand the **CompoundEmployee** entity to display the attribute fields.
4. Find the required attribute and the path displayed under the Name field and copy the path. For example:

   **Label**: `Nationality`

   **Name (Path)**: `/person/personal_information/nationality`

   The Name path is the required field value for Navigation Path (SFAPI Path).
5. On the SuccessFactors managed system, in the **Additional Attribute Mapping** sub-panel, set the following:

   | Attributes | Description |
   | --- | --- |
   | Include Compound Employee API Entities | Enter the name of Compound Employee API extended sub-structures/Entities (separated by comma) to query for additional attributes. |
   | Attribute Mapping | Define the schema attribute name along with navigation path that connector will aggregate from the SuccessFactors managed system. |

### Specifying Values from Multiple Sub-Structures

By default, this connector aggregates the values without applying logic. It fetches the value that matches the specified SFAPI path. If an attribute value includes multiple sub-structures and you want to aggregate the data from a specific entity, you can provide the XPath 2.0 value.

**Use Case 1:**

You want to aggregate the country value for `address_type`, but `address_type` has multiple values, such as `home` or `payroll`. To specify the payroll address, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/address_information[address_type= "Payroll"]/country
```

**Use Case 2:**

By default, this connector aggregates the `PrimaryEmailAddress`. If you want to return specific email addresses, such as the `Office` type email address, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/email_information[email_type="O"]/email_address
```

where `O` represents that the email address is an **Office** type.

**Use Case 3:**

An employee is being promoted and you want to aggregate information based on the future position to trigger approvals by the future manager. In this use case, the employee has two sets of job information - the current and future. To fetch the future manager information, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/employment_information/job_information[xs:date(start_date) ge current-date()]/manager_person_id_external
```

**Use Case 4:**

A user has concurrent assignments and you want aggregate the primary position. To aggregate only the primary position, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/employment_information[not(SecondaryAssignmentPeriod)]/job_information[xs:date(start_date) le current-date() and xs:date(end_date) ge current-date()]/position
```

## Future Actions

The Future Actions attribute stores information about Future Actions in the following JSON format:

```text
{"Actions": [{"ActionType" : "<ActionCode>","ActionReason" : "<Action Reason value>","ActionStartDate" : "<Start date>","ActionEndDate" : "<End date>"}]}
```

For example, you can use the following:

```text
{"Actions": [{"ActionType" : "SCWK","ActionReason" : "Start CWK","ActionStartDate" : "2018-08-26","ActionEndDate" : "2018-09-08"}]}
```

> [!NOTE]
>
> The Future Actions attribute aggregates future employment actions only.

## Adding Custom Attributes From SFAPI Data Dictionary

This connector can aggregate additional schema attributes.

In the SuccessFactors source UI, on the **Additional Attribute Mapping** panel, in the **Schema Attribute** field, enter the name of the additional attribute. In the **Navigation Path (SFAPI Path)** field, enter the navigation path of the attribute as defined in SFAPI (SuccessFactors Data API). For example:

```text
/person/employment_information/job_information/pay
```

> [!NOTE]
>
> SFAPI is short for SuccessFactors Data API. It is a SOAP Web Service designed for importing and exporting data to and from your SuccessFactors SaaS instance.

To aggregate the value of the additional schema attributes for an account:

1. Add the entry key of schema attribute and its respective path. For the navigation path, perform the following steps:

   - On the SuccessFactors managed system, navigate to **Admin Centre \> SFAPI Data Dictionary**.
   - Search the **CompoundEmployee** in the list.
   - Expand the **CompoundEmployee** entity that displays the attribute fields with their respective information.
   - Search for the attribute you want to add. Its path will be displayed in the **Name** field.

   For example:

   **Label**: `Nationality`

   **Path**: `/person/personal_information/nationality`

   This is the SFAPI path that must be copied and entered in the **Navigation Path (SFAPI Path)** field in the source UI.
2. Add the same attribute name entry in the SuccessFactors source account schema. For more information on adding account schema attribute, refer to [Adding Attributes to a Source Schema](<https://documentation.sailpoint.com/saas/help/accounts/schema.html#editing-an-account-schema>).

> [!NOTE]
>
> Ensure that the names of additional attributes and details are added in both the source account schema and the source UI fields, respectively. Doing so aggregates the attributes that are returned using the Compound Employee API from the following entities:
>
> - person
> - personal\_information
> - address\_information
> - email\_information
> - phone\_information
> - employment\_information
> - job\_information

### Additional Information

If there are multiple information types associated with supported entities like `personal_information`, `address_information`, `email_information`, `phone_information`, then to aggregate the data from the specific type of information, you can configure a path in the attribute mapping.

For example, there are two address information types in the following node. The first is "home" and second is "Payroll".

```xml
<address_information>
    <address_type>home</address_type>
    <country>ARG</country>
</address_information>

<address_information>
      <address_type>Payroll</address_type>
      <country>AUS</country>
</address_information>
```

If you want to fetch the country from `Payroll`, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/address_information[address_type= "Payroll"]/country
```

This connector aggregates the "PrimaryEmailAddress". To aggregate different type of email address, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/email_information[email_type="O"]/email_address
```

where `O` indicates the email address for `Office`.

### Additional Attributes with XPath

This connector supports the SFAPI path value in XPath 2.0 format to aggregate the additional attributes.

The supported additional attributes are part of following entity:

To aggregate the value of additional account schema attributes for Compound Employee API sub-structures, you must add the attribute name to the account schema and the corresponding navigational path. The following Compound Employee API substructures are standard:

- person
- personal\_information
- address\_information
- phone\_information
- email\_information
- person\_relation
- employment\_information
- job\_information
- compensation\_information
- paycompensation\_recurring
- paycompensation\_non\_recurring
- payment\_information
- accompanying\_dependent
- alternative\_cost\_distribution
- job\_relation
- direct\_deposit
- national\_id\_card
- deduction\_recurring
- deduction\_non\_recurring
- global\_assignment\_information
- ItDeclaration
- dependent\_information
- personal\_documents\_information
- EmployeeDataReplicationElement
- associated\_employee\_information
- emergency\_contact\_primary
- DRTMPurgeStatusOverview

You can include additional sub-structures by providing the sub-structure name in the **Include Compound Employee API Entities** field on the SuccessFactors source UI. To add multiple entities, separate the names with commas. For example: WorkOrder, SecondaryAssignments.

The SuccessFactors SaaS connector provides support for the aggregation of additional account schema attributes for user management that belongs to the user entity with Navigation Target property as blank.

User attributes must use the user prefix. For example, user.city.

On the SuccessFactors managed system:

1. Go to **Admin Center**.
2. Search for and select **SFAPI Data Dictionary**. The SFAPI Data Dictionary page is displayed.
3. Search for and expand the CompoundEmployee entity to display the attribute fields.
4. Find the required attribute and the path displayed under the Name field and copy the path. For example:

   **Label**: `Nationality`

   **Name (Path)**: `/person/personal_information/nationality`

   The name path is the required field value for Navigation Path (SFAPI Path).
5. On the SuccessFactors source UI, in the **Additional Attribute Mapping** sub-panel, set the following:

   | Attributes | Description |
   | --- | --- |
   | Include Compound Employee API Entities | Enter the name of Compound Employee API extended sub-structures/Entities (separated by comma) to query for additional attributes. |
   | Attribute Mapping | Define the schema attribute name along with navigation path that connector will aggregate from the SuccessFactors managed system. |

### Specifying Values from Multiple Sub-Structures

By default, the SuccessFactors SaaS connector aggregates the values without applying logic. It fetches the value that matches the specified SFAPI path. If an attribute value is including multiple sub-structures and you want to aggregate the data from a specific entity, you can provide the XPath 2.0 value.

**Use Case 1:**

If you want to aggregate the country value for `address_type` but `address_type` could have multiple values such as home or payroll. To specify the payroll address, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/address_information[address_type= "Payroll"]/country
```

**Use Case 2:**

By default, this connector aggregates the `PrimaryEmailAddress`. If you want to return specific email addresses, such as the `Office` type email address, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/email_information[email_type="O"]/email_address
```

where `O` represents that the email address is for `Office`.

**Use Case 3:**

An employee is being promoted and you want to aggregate information based on the future position to trigger approvals by the future manager. In this use case, the employee has two sets of job information - the current and future. To fetch the future manager information, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/employment_information/job_information[xs:date(start_date) ge current-date()]/manager_person_id_external
```

**Use Case 4:**

A user has concurrent assignments and you want aggregate the primary position. To aggregate the primary position, set the **Navigation Path (SFAPI Path)** as follows:

```text
/person/employment_information[not(SecondaryAssignmentPeriod)]/job_information[xs:date(start_date) le current-date() and xs:date(end_date) ge current-date()]/position
```

## Adding Attributes From ODATA API Data Dictionary

The SuccessFactors SaaS connector can aggregate additional account schema attributes to manage users that belong to the user entity. The connector can aggregate additional account schema attributes for user and employee data using the `/User`, `/EmpJob`, and `/EmpEmployment` ODATA APIs.

> [!NOTE]
>
> - This feature supports `employee` and `user` types.
> - `User` attributes must use the `User` prefix. For example, `User.city`.
> - `EmpJob` attributes must use the `EmpJob` prefix. For example, `EmpJob.managerId`.
> - `EmpEmployment` attributes must use the `EmpEmployment` prefix. For example, `EmpEmployment.isContingentWorker`.
> - The connector can aggregate nested ODATA attributes. For example, `User.city.pincode`.

Find the supported attributes you want to add:

1. In SuccessFactors, go to **Admin Center**.
2. Search for and select **ODATA API DATA Dictionary**.
3. Search for **User**, **EmpJob**, or **EmpEmployment**. This displays the list of supported attributes.
4. Copy the attribute name.

   > **Note**
   >
   > In the ODATA API Dictionary, the attribute must be configured as `sap:visible true` to be included in aggregation.

Add the attribute name to the account schema:

1. In SailPoint, go to **Connections \> Sources** and then select **SuccessFactors SaaS** from the list.
2. Go to **Import Data** and then select **Account Schema**.
3. Select **Add New Attribute**.
4. In the **Name**, add the name of the attribute copied from SuccessFactors.
5. Select **Save**.
