# Provisioning

## Provisioning Employee Attributes

The UKG Pro Core HCM SaaS connector can provision the employee attributes listed on this page.

> [!CAUTION]
>
> The UKG Pro Import API writes data to the UKG workflow tables, not the UKG production tables. This means that even if the provisioning transaction is successful, the fields will be updated into workflow tables in the source. So, if you then immediately run a task that depends on the production tables being updated, it might return older data which doesn't reflect the recent changes.
>
> UKG Pro recommends that you call the API for employee data aggregation eight (8) times daily and no more frequently than three (3) hours between calls. For more details, refer to [Changes By Date](<https://developer.ukg.com/hcm/reference/employeechanges_get_all>) in the UKG documentation.
>
> Note that SailPoint does not maintain this document, and it is subject to change without notice.

> [!IMPORTANT]
>
> Employee data updates occur for the home company or the component company where the employee is actively employed. The connector fetches the employee's component company code internally then passes it to the UKG Pro Import API. If the employee has active employment in multiple component companies at a time, the most current recent employment component company data will be updated.

| Attribute Name | Description |
| --- | --- |
| firstName | String. The employee's first name |
| lastName | String. The employee's last name |
| middleName | String. The employee's middle name |
| preferredName | String. The employee's preferred name |
| workPhone | String. The employee's work phone number. In order to update the employee's work phone, the work phone country code is required. The work phone country code can be provided as part of the provisioning plan or configured directly from the [Provisioning Settings](<https://documentation.sailpoint.com/connectors/ukg_pro_core_hcm/saas/help/connecting.html#provisioning-settings>) tab. |
| homePhone | String. The employee's home phone number. In order to update the employee's home phone, the home phone country code is required. The home phone country code can be provided as part of the provisioning plan or configured directly from the [Provisioning Settings](<https://documentation.sailpoint.com/connectors/ukg_pro_core_hcm/saas/help/connecting.html#provisioning-settings>) tab. |
| suffix | String. The employee's name suffix |
| prefix | String. The employee's name prefix |
| emailAddress | String. The employee's email address |
| alternateEmailAddress | String. The employee's alternative email address |
| personnelUDF.\\\<XYZ\> | String. The employee's Personnel User-Defined Field (UDF). Replace `<XYZ>` with the respective field name. For example, `personnelUDF.Participated in Health Screening`. For more information, refer to [Aggregate User-Defined Fields](<https://documentation.sailpoint.com/connectors/ukg_pro_core_hcm/saas/help/schema.html#aggregate-user-defined-fields>). |
| companyUDF.\\\<XYZ\> | String. The employee's Company User-Defined Field (UDF). Replace `<XYZ>` with the respective field name. For example, `companyUDF.Retention Score`. For more information, refer to [Aggregate User-Defined Fields](<https://documentation.sailpoint.com/connectors/ukg_pro_core_hcm/saas/help/schema.html#aggregate-user-defined-fields>). |
| internationalUDF.\\\<XYZ\> | String. The employee's International User-Defined Field (UDF). Replace `<XYZ>` with the respective field name. For example, `internationalUDF.country`. For more information, refer to [Aggregate User-Defined Fields](<https://documentation.sailpoint.com/connectors/ukg_pro_core_hcm/saas/help/schema.html#aggregate-user-defined-fields>). |

## Attribute Synchronization and Target Mapping

You must get the source ID before synchronizing attributes. The source ID is displayed at the end of the source's URL in your browser. The source ID is also known as the source's front-end ID for a source. For more information, refer to [Best Practices: Attribute Sync](<https://community.sailpoint.com/knowledge/Best-Practices-Attribute-Sync>).

> [!IMPORTANT]
>
> Ensure that the attribute you are going to add for synchronization is added on the source schema attribute list. Additionally, ensure that the proper identity attribute is mapped with it.

### Get and Set the Attribute Synchronization Mapping

Use the [Update Attribute Sync Config](<https://developer.sailpoint.com/docs/api/put-source-attr-sync-config-v-1/>) API to set the attribute.

1. Make a GET request with the following command:

   ```text
   GET <url>/sources/<source_ID>/attribute-sync-config
   ```
2. Set the target value with the following command:

   ```text
   PUT <url>/sources/<sourceID>/attribute-sync-config
   ```

The following is an example body for the supported attribute:

```json
{
"attributes":
 [
 {
        "enabled": true,
        "displayName": "att_email",
        "name": "email",
        "target": "emailAddress"
},
 {
        "enabled": true,
        "displayName": "UKGLastName",
        "name": "ukglastname",
        "target": "lastName"
    },
    {
        "enabled": true,
        "displayName": "UKGFIRSTNAME",
        "name": "ukgfirstname",
        "target": "firstName"
    },
    {
        "enabled": true,
        "displayName": "MiddleName",
        "name": "middlename",
        "target": "middleName"
    },
    {
        "enabled": true,
        "displayName": "preferredName",
        "name": "preferredname",
        "target": "preferredName"
    },
    {
        "enabled": true,
        "displayName": "suffix",
        "name": "suffix",
        "target": "suffix"
    },
    {
        "enabled": true,
        "displayName": "prefix",
        "name": "prefix",
        "target": "prefix"
    },
    {
        "enabled": true,
        "displayName": "ukgalternateEmailAddress",
        "name": "ukgalternateemailaddress",
        "target": "alternateEmailAddress"
    }

],
"source": {
    "type": "SOURCE",
    "id": "ee2c32b5fa794cd98f702122ac649d9d",
    "name": null
}
}
```
