# Connecting SailPoint and Ceridian Dayforce HCM

To connect SailPoint with Ceridian Dayforce HCM, perform the following tasks:

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

> [!IMPORTANT]
>
> By default, the provisioning feature is **disabled**, and the connector only supports read-only operations. To support provisioning operations, you must manually enable the feature in the source configuration.

**To configure a new source:**

1. Sign in to SailPoint.
2. Go to **Admin \> Connections \> Sources**.
3. Select **Create New**.
4. Search for the connector by entering the name in the search box, and then select **Configure**.
5. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters.
6. 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.
7. 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](<https://documentation.sailpoint.com/saas/help/sources/index.html#assigning-a-source-owner>).
8. (Optional) Select a governance group to grant its members [source](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-sub-admin-user-level>) or [role](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-sub-admin-user-level>) sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html>).
9. 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](<https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html>).
10. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Continue to configure your connected source there.

## 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 unique name and description for the source.
2. In the **Source Owner** dropdown list, select the identity that owns this source.

   - To find a source owner, begin entering their name.
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, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](<https://documentation.sailpoint.com/connectors/help/credential_providers.html>).
4. Configure the authentication to allow SailPoint to connect to the source. Refer to [Connection Settings](<#connection-settings>) for more information.
5. (Optional) In the **Governance Group for Source Management** dropdown list, select a governance group to associate with this source. For more information about governance groups, refer to [Associating Governance Groups with a Source](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html#associating-a-governance-group-with-a-source>).
6. (Optional) Choose whether to enable or disable provisioning for the source. Provisioning is disabled by default.

   - **Enable Provisioning** - Set the toggle to **Enabled** to allow the source to create, update, and deactivate accounts in the connected source system.
   - **Disable Provisioning** - Set the toggle to **Disabled** to disable provisioning for the source. Disabling provisioning will prevent the creation, updating, or deactivating of accounts on this source.
7. Select **Save**.

## Connection Settings

The following information is required to connect and interact with Ceridian Dayforce HCM. **Basic Authentication Screenshot**

> [!NOTE]
>
> **Screenshot**
>
> [![Basic Authentication Screenshot](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Conn.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Conn.png>)

**Token Based Authorization Screenshot**

> [!NOTE]
>
> **Screenshot**
>
> [![Token Based Authorization Screenshot](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/ConnTBA.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/ConnTBA.png>)

1. Enter the Base URL or Generic Base URL for the Ceridian Dayforce HCM source. For example:

   - Base URL: `https://<hostname>.dayforcehcm.com/api`
   - Generic Base URL:

     - `https://www.dayforcehcm.com/api` (Production)
     - `https://test.dayforcehcm.com/api` (Sandbox)

   > **Note**
   >
   > When you use a Generic Base URL, the connector automatically resolves it to the correct versioned endpoint. You do not need to update the URL when Dayforce changes hostnames.
2. Select an **Authentication Method**. You can select **Basic** or **Token Based Authentication**.

   If you select Token Based Authentication for your authentication method. Enter the **Dayforce Identity Server URL** that is used to retrieve the authentication token from the Ceridian Dayforce identity servers.
3. Enter the **Username** and **Password** of the Ceridian Dayforce service user dedicated to web service calls.
4. Enter the **Client Name** that uniquely identifies the client's Ceridian Dayforce instance.
5. Select **Save**.

## Aggregation Settings

Provide the information the source uses to manage and filter Ceridian Dayforce HCM employees.

For more information about aggregation, refer to [Loading Account Data](<https://documentation.sailpoint.com/saas/help/accounts/loading_data.html>).

> [!NOTE]
>
> **Screenshot**
>
> [![Aggregation Settings](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Agg_new.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Agg_new.png>)

> [!NOTE]
>
> **Screenshot**
>
> [![Aggregation Settings](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/additional_1.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/additional_1.png>)

> [!NOTE]
>
> **Screenshot**
>
> [![Aggregation Settings](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Agg1.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Agg1.png>)

> [!NOTE]
>
> **Screenshot**
>
> [![Aggregation Settings](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Agg2.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/Agg2.png>)

### Aggregate Employee Statuses

By default, the connector only aggregates Active employees. You can add additional custom employee status values to include in account aggregation processes.

To add additional custom employee statuses in account aggregation:

1. In the **Aggregate Employee Statuses** field, enter the name of a custom employee status.

   > **Important**
   >
   > The **Active** status is the default aggregation status. It should not be removed.
2. Press Enter on your keyboard to add the employee status name to a growing list.
3. Select **Save**.

### Aggregate Terminated Employees

You can include terminated employees within a defined time period to account aggregation processes.

To include terminated employees and configure the time period:

1. Enable **Aggregate Terminated Employees** to include terminated employees in account aggregation processes.
2. In the **Past Termination Offset in Days** field that displays, enter the number of days in the past you want to aggregate terminated employees. You can also enter a specific date range.

   > **Note**
   >
   > If the **Past Termination Offset in Days** field entry is null, the connector aggregates all terminated employees.
3. Select **Save**.

### Aggregate Inactive Employees

Enable **Aggregate Inactive Employees** to include inactive employees in account aggregation processes.

### Aggregate Prestart Employees

Enable **Aggregate Prestart Employees** to include employees whose Employment Status is `Prestart` in account aggregation processes.

### Configure Account Aggregation Filters

Define the scope of accounts to aggregate based on query parameters.

To configure account aggregation filters:

1. In the **Account Aggregation Filters** field, enter a **Field Name** and an associated **Field Value**.

   For example:

   **Field Name**: `filterOriginalHireStartDatea`

   **Field Value**: `2017-01-01T13:24:56`
2. Press Enter on your keyboard to add the filter to the rolling list of account aggregation filters. Repeat as necessary for additional account aggregation filters.
3. Select **Save**.

### Define Employee Statuses for Enabled Accounts

Define the account statuses that indicate which employee accounts are enabled in the managed system.

To define enabled employee account statuses:

1. In the **Enabled Employee Statuses** field, enter the name of an account status which indicates that the employee account is enabled.

   > **Important**
   >
   > The **Active** status is the default enabled account status. It should not be removed.
2. Press Enter on your keyboard to added the status to a growing list.
3. Select **Save**.

### Aggregate Primary Employment

Enable **Aggregate Primary Employment** to include the primary employment attributes in employee aggregation. If this option is disabled, the source aggregates the most recent employment attributes.

### Delta Aggregation

Enable **Delta Aggregation** to aggregate new accounts or accounts that have changed since the last aggregation.

## Connector Configuration Attributes

Use the following source configuration attributes when you manage the Ceridian Dayforce HCM connector.

### `attributeMapping`

Use this attribute to map additional attributes from `EmployeeProperties`.

- **Key:** The SailPoint schema attribute name.
- **Value:** The JSON path in `EmployeeProperties`.

**Example:**

```json
"attributeMapping": {
    "Long Term Absence": "EmployeeProperties.Items[3].BitValue",
    "Microsoft License": "EmployeeProperties.Items[4].OptionValue.ShortName"
}
```

### `numericMappedAttributesAsString`

Use this attribute to list attribute names.

- **Purpose:** Avoid type-cast errors when a target attribute is numeric but should be treated as a string during aggregation.
- **Behavior:** The connector converts each listed custom attribute to a string.

**Example:**

`numericMappedAttributesAsString: ['xxNormalWeeklyHours', 'attributeName2']`

## Provisioning Settings

Configure optional settings related to provisioning operations. The configurations made in the provisioning settings tab apply to all provisioning operations. The provisioning tab provides options for you to enter the API country code settings. For information on the available provisioning policy attributes, refer to [Provisioning](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/provisioning.html>).

> [!NOTE]
>
> **Screenshot**
>
> [![Provisioning Settings](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/provisioning.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/provisioning.png>)

To configure provisioning settings, complete the following:

1. Enter the **Business Phone Country Code** as required to update the employees' phone details. For example, enter `CAN` for Canada or `IND` for India. The default country code configured is `USA`.
2. Select **Save**.

## Additional Settings

Configure additional settings related to connector operations.

### Retry Configuration

Configure how the connector retries failed aggregation events. You can specify which error messages will prompt a retry, and then limit the number of times the connector should retry an operation before terminating it.

> [!NOTE]
>
> **Screenshot**
>
> [![Additional Settings](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/additional_settings_1.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/additional_settings_1.png>)

> [!NOTE]
>
> **Screenshot**
>
> [![Additional Settings](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/additional_settings_2.png>)](<https://documentation.sailpoint.com/connectors/ceridian_dayforce_hcm/saas/help/img/additional_settings_2.png>)

To configure operation retries:

1. In the **Retry Error List** field, specify the errors which should prompt the connector to retry a failed aggregation process. Press Enter to add the errors to a growing list. For example, you can enter `Internal Server Error`.

   By default, the connector retries the following errors (defined by the `defaultRetryList` parameter):

   - `Bad Gateway`
   - `Service Unavailable`
   - `Gateway Timeout`
   - `socket hang up`
   - `ECONNRESET`
   - `TimeoutError`
   - `ConnectionRefusedError`
   - `connection timeouts`
2. In the **Maximum Number of Retries** field, specify the maximum number of times the system should retry aggregation processes before terminating the process. You can enter from `0` to `10`. The default value is `3`.
3. In the **Delay Between Retry Attempts in Seconds** field, enter the duration of time the connector waits between retry attempts. You can enter from `0` to `10` seconds. The default value is `2`.
4. Select **Save**.

## 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](<https://documentation.sailpoint.com/saas/help/ai/app_onboarding/index.html>) in the SailPoint SaaS documentation.
