Integrating SailPoint with Oracle HCM Cloud SaaS
Connecting SailPoint to your Oracle HCM system allows you to seamlessly automate your Joiner, Mover, and Leaver functions. This guide provides the information you need to configure the Oracle HCM Cloud SaaS connector in SailPoint as a source of identity data.
Note
To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the SaaS Release Notes page.
Supported Features
SailPoint's Oracle HCM Cloud SaaS supports the following features:
- Full Account Aggregation
- Single Account Aggregation
- Delta Aggregation
- Discover Schema
- Update Account
Note
The Oracle HCM Cloud connector aggregates the attributes associated with the primary work relationship, identified by workRelationships.PrimaryFlag=true, and its corresponding assignment whose workRelationships.assignments.EffectiveStartDate is closest to the aggregation date.
An exception applies to Pending Workers. If Oracle marks a currently effective, active Pending Worker work relationship as nonprimary, the connector can select that relationship instead of an inactive or terminated primary Employee work relationship.
To change this behavior, refer to JSON Path Mapping.
Update Account Operation
Note
- In order for the update operation to work, the source must have attribute synchronization configured. For more information, refer to Synchronizing Attributes.
- To update
USER_NAMEandWORK_EMAIL, the worker must have an Oracle HCM account on the Oracle tenant.
The Update Account operation is only supported for the following attributes:
- USER_NAME
- WORK_EMAIL
Note
The following delta aggregation support applies when you use the ATOM Feeds API. Delta aggregation via Worker CSV Extractor (HCM Extract) works differently and returns all changed records as configured in the Oracle HCM Extract change-only mode. For more information about supported ATOM feeds, refer to Delta Aggregation via ATOM Feeds.
Supported Use Cases
| Category | Example | Supported in Full Aggregation and Delta Aggregation via CSV Extracts | Supported in Delta Aggregation [Atom Feeds API] |
|---|---|---|---|
| Joiner | A new person who is joining the organization. | Yes | Yes |
| Joiner /Rehire use case | A person who was a contractor in the past and is getting rehired as a full time employee. | Yes | Yes |
| Joiner /Rehire use case/Conversion use case | A person who has a primary workrelationship as a contractor and a secondary workrelationship assigned as an employee at the time of full aggregation as contractor. During the employee lifecycle contractor workrelationship, the person is getting terminated. |
Yes | No |
| Mover use case | The person has a single workrelationship and a single assignment, and now there is a change to that in terms of events, such as the person being promoted, demoted, location changed, etc. | Yes | Yes |
| Mover use case | The person has multiple workrelationships with each having multiple assignments, and now there is a change to that in terms of events, such as the person being promoted, demoted, location changed, etc. The end user is interested in pulling data specific to a particular workrelationship and its associated assignment. |
Yes | Partially supported. The Oracle Atom Feeds API has a restriction of not returning the relationship of assignment and its parent work relationship. |
| Mover use case | The person is getting promoted with a change in both workrelationship and assignment. | Yes | Yes |
| Mover use case | The person has multiple work relationships and assignments with one being primary and the other being secondary. The end user has a requirement to fetch the primary relationship, and during the employee lifecycle event the primary relationship is getting changed to a secondary relationship, or vice versa. |
Yes | No |
| Mover use case | The person's manager is getting changed. | Yes | Partially supported. Only line manager changes are supported. |
| Leaver use Case | The person is leaving the organization. | Yes | Yes |
| Accounts Attribute | Support for fetching the below Information associated with the person: Name details, Address Details, Phone Details, WorkRelationship Details, Assignment details | Yes | Partially supported. Limited attributes are supported in the Oracle Atom Feeds API. For the list of attributes, refer to Oracle's documentation: REST API for Oracle Fusion Cloud HCM - Employees Attributes REST API for Oracle Fusion Cloud HCM - Assignment Attributes Note: The Oracle links provided correspond to the Oracle Fusion HCM 24 D release, and are the latest links as per the Oracle guide. |
| All supported scenarios for a non-worker. For example, joiner, mover and leaver, and account update. | A non-worker is joining the organization. A non-worker is getting promoted. A non-workers is getting terminated. A non-workers person details (such as, first name, email, etc) is getting changed. | Yes | No. The Oracle Atom Feeds API does not support non-workers. |
| Back-dated joiner, mover, leaver and account update. | An employee is being terminated with the effective date in the past. An employee is being hired with the effective date in the past. An employee's details (such as, first name, email, etc) is being changed with the effective date in the past. An employee is being promoted with the effective date in the past. | Yes | Partially supported. Changes related to employment (such as hiring, termination, etc) will be captured. |
Prerequisites
To connect SailPoint to your Oracle HCM system for aggregation, you need to export the HCM data in three separate files. For more information, refer to the following:
Create HCM Export Files for Account Aggregation
To support proper account aggregation with the Oracle HCM source, you must first export the account data into three CSV files. These files should then be saved into an FTP server that both the source and the connector can access. These files and the FTP server they reside in serve as the middleware required for entitlement management in the Oracle HCM system.
The data in these three files enables the connector to differentiate between new hires and rehires. It also enables the source to populate data points which enable it to trigger the Joiner, Mover, and Leaver workflows more effectively.
For more information, refer to Fusion Cloud HCM Integration with External Entitlement Management Systems in the Oracle documentation.
Note
The linked document is not maintained by SailPoint and is subject to change without notice.
You need to export HCM account data into the following three files, depending on the account type:
- Active Workers File - Includes an export of all the active person details from the HCM system.
- Terminated Workers File - Includes terminated person details that are within the Past Termination Offset setting. For more information, refer to Aggregation Settings.
- Future Workers File - Includes an export of all the future hires and active person future employment details that are within the Future Offset setting. For more information, refer to Aggregation Settings.
Important
The export files must be saved to an FTP server in which the connector has read/write permissions.
Export File Requirements
This section lists specific requirements that each generated aggregation file must meet to support account aggregation operations. If any of the requirements aren't met, you may experience unexpected results during account aggregation or the aggregation process may fail.
- All three generated files must be in CSV format with a comma delimiter (
,). - If a value in any of the three CSV files is a special character, such as a comma (
,), enclose it with double quotes ("). - All three files must be PGP encrypted and signed using a separate public and private key. SailPoint recommends that you have FIPS compliant algorithms enabled on an SFTP server.
- All three files must use UTF-8 encoding.
-
All three files must include the following attributes listed as headers.
Caution
The following schema attributes are case-sensitive, and must contain only capital letters. Lower-case letters are not accepted.
Warning
Do not edit or delete any of the default schema attributes listed below from any file. Removing or editing these fields will cause aggregation processes to fail.
Sr. No Schema Attribute Name 1 PERSON_NUMBER2 HIRE_DATE3 TERMINATION_DATE4 PERIOD_OF_SERVICE_ID5 WORKER_TYPE6 WORKRELATIONSHIP_PRIMARY_FLAG7 ASSIGNMENT_ACTION_CODE8 ASSIGNMENT_EFFECTIVE_START_DATE9 ASSIGNMENT_EFFECTIVE_END_DATE10 ASSIGNMENT_PRIMARY_FLAG11 ASSIGNMENT_STATUS12 WORK_EMAILAdditionally, the
WORKER_TYPEattribute must be mapped to include the following possible values:Caution
The configured attribute value is case-sensitive, and it must use capital letters. Lower-case letter values are not accepted.
Attribute Value Definition EEmployees PPending Workers CContingent Workers NNon-workers For example:
Example Use Cases
These examples are used to describe how additional attributes are fetched by the connector. For more information on additional attributes, refer to Additional Account Attributes.
Case 1
File content - The Terminated Workers File will include the entry of current employment information, and the Future Workers File will include the entry of future employment information.
Aggregation behavior - The person will be aggregated as a terminated contractor with the following additional attributes:
| Attribute | Value |
|---|---|
FUTURE_WORKRELATIONSHIP_START_DATE |
Future Hire date will be fetched |
FUTURE_ASSIGNMENT_ACTION |
The future action of the person becomes “Rehire” |
Case 2
A worker is active, but their employment is scheduled to terminate in the future.
File content - The Active Workers File will include current active employment information, and the Future Workers File will include the contract end date.
Aggregation behavior - The person will be aggregated as an active employee with the following additional attributes:
| Attribute | Value |
|---|---|
FUTURE_WORKRELATIONSHIP_START_DATE |
Future terminated date will be fetched |
FUTURE_ASSIGNMENT_ACTION |
The future action of the person becomes “Termination” |
Note
In both of the example FUTURE_WORKRELATIONSHIP_START_DATE and FUTURE_ASSIGNMENT_ACTION can act as data points which can be configured to trigger Joiner, Leaver, and Mover workflows.
Configuration for Delta Aggregation
The following steps must be followed in the Oracle Fusion HCM system to enable the ATOM feeds API:
-
Go to Setup and Maintenance > Manage HCM Atom Feeds.
- Select the Person's Assignment Changed Atom feed.
- Click the Other Events tab.
- Review and select the events “Trigger on New Hire Event”.
- Save the changes.
-
Go to Setup and Maintenance > Manage Administrator Profile Value.
- Search for the ORA_HRC_ATOM_OTHER_EVENTS_IN_ASG profile option using the profile option code.
- Set the profile value to "Y" to make the configuration effective.
- Save the changes.
Required Permissions
The following minimum permissions are required to access the SFTP server:
| Operation | Required Permission |
|---|---|
| Test Connection | The service account must have the read permission for the file on the SFTP server |
| Account Aggregation | The service account must have the read permission for the file on the SFTP server |
Select an approach to view the minimum permissions required to perform operations:
Approach 1 - Role-Based Configuration
The following minimum permissions are required to perform operations
Note
These permissions do not aggregate the ManagerAssignmentId attribute. Refer to Approach 2 - Using the Integration Specialist Role for those permissions.
Step 1: Create an HCM Duty Role
- Go to Tools > Security Console > Roles > Create Role.
- Set the Role Category to HCM - Duty Roles.
-
Under Function Security Policies, add the permissions listed in the following table:
Operation Required Permission Single Account Aggregation Use REST Service - Collective Agreements List of Values
Use REST Service - Identity Integration
Use REST Service - Workers
View Person
View User AccountsUpdate Account Use REST Service - Workers
Use REST Service - Collective Agreements List of Values
View User Account
Use REST Service - Identity IntegrationDelta Aggregation Use Atom Feed - Employees Workspace
Note
The View Person and View User Accounts permissions are required to fetch the USER_NAME attribute.
Step 2: Create an HCM Job Role
- Go to Tools > Security Console > Roles > Create Role.
- Set the Role Category to HCM - Job Roles.
- Under Data Security Policies, create the policies listed in the following table:
| Policy Name | Data Resource | Privilege (Actions) | Condition |
| Address | Person Address for Table PER_ADDRESSES | Manage Person | Access the person for table PER_ADDRESSES for people and assignments in their person and assignment security profile |
| Choose Business Unit Organization | Organization for Table HR_ALL_ORGANIZATION_UNITS_F | Choose Business Unit Organization | Access the business unit for table HR_ALL_ORGANIZATION_UNITS_F for business units in their organization security profile |
| Choose Business Unit Organization | Organization for Table HR_ORG_UNIT_CLASSIFICATIONS_F | Choose Business Unit Organization | Access the business unit for table HR_ORG_UNIT_CLASSIFICATIONS_F for business units in their organization security profile |
| Choose Department | Organization for Table HR_ALL_ORGANIZATION_UNITS_F | Choose Department | Access the business unit for table HR_ALL_ORGANIZATION_UNITS_F for business units in their organization security profile |
| Choose Department | Organization for Table HR_ORG_UNIT_CLASSIFICATIONS_F | Choose Department | Access the business unit for table HR_ORG_UNIT_CLASSIFICATIONS_F for business units in their organization security profile |
| Choose Legal Employer | Organization Detail for Table HR_ORGANIZATION_INFORMATIO_EFC | Choose Legal Employer | Access the legal employer for table HR_ORGANIZATION_INFORMATIO_EFC for legal employers in their organization security profile |
| Choose Legal Employer | Organization for Table HR_ALL_ORGANIZATION_UNITS_F | Choose Legal Employer | Access the business unit for table HR_ALL_ORGANIZATION_UNITS_F for business units in their organization security profile |
| Choose Legal Employer | Organization for Table HR_ORG_UNIT_CLASSIFICATIONS_F | Choose Legal Employer | Access the business unit for table HR_ORG_UNIT_CLASSIFICATIONS_F for business units in their organization security profile |
| Choose Legal Employer | Organization for Table HR_ORG_UNIT_CLASSIFICATIONS_F | Choose Legal Employer | Access the business unit for table HR_ORG_UNIT_CLASSIFICATIONS_F for business units in their organization security profile |
| Choose Person Type | Person Type for Table PER_PERSON_TYPES | Choose Person Type | Access the person type for table PER_PERSON_TYPES for any person type |
| FND_TERRITORIES_B | FND_TERRITORIES_B | Read | Access the application reference territory for table FND_TERRITORIES_B for countries in their country security profile |
| PER_ALL_ASSIGNMENTS_M | Person Work Terms Assignment | Manage Direct Reports; View Assignment Summary; Report Assignment; Manage Person Assignment; View Work Relationship | Access the person assignment for table PER_ALL_ASSIGNMENTS_M for people and assignments in their person and assignment security profile |
| Person Detail | Person Detail | View Person Assignment; Choose Person; View Person Address; View Person Communication Method; View Person Contact; View Person Number; Search Person Live Data | Access the person for table PER_ALL_PEOPLE_F for people and assignments in their person and assignment security profile |
| Person Extra Information | Person Extra Information | View Person | ORA_PER(300000000324293):HCM:PER:PER_PEOPLE_EXTRA_INFO_F:View All Workers |
| Person Name | Person Name | View Person Name | All values |
| Person National Identifier | Person National Identifier | View Person National Identifier | All values |
| Person Phone | Person Phone | View Person Phone | All values |
| Public Assignment | Public Assignment | Choose Public Person | Access the public assignment for table PER_ASSIGNMENTS_V for people and assignments in their public person and assignment security profile |
| Public Person | Public Person | Choose Public Person | Access the public person for table PER_PERSONS for persons and assignments in their person and assignment security profile |
| View Position | Position for Table HR_ALL_POSITIONS_F | Choose Position; View Position | Access the position for table HR_ALL_POSITIONS_F for positions in their position security profile |
| Work Relationship | Work Relationship | Choose Worker; View Work Relationship; View Employment Information Summary; View Employment Termination; Search Worker; | All values |
| person work term | Person Work Terms Assignment | View Employment Information Summary; View Work Relationship; View Person Extra Information; View Future Assignment Changes; View Worker Availability; View Employment Termination; View Person Assignment | All values |
| View Position | Position for Table HR_ALL_POSITIONS_F | Choose Position; View Position | Access the position for table HR_ALL_POSITIONS_F for positions in their position security profile |
| Work Relationship | Work Relationship | Choose Worker; View Work Relationship; View Employment Information Summary; View Employment Termination; Search Worker | All values |
| Person Work Term | Person Work Terms Assignment | View Employment Information Summary; View Work Relationship; View Person Extra Information; View Future Assignment Changes; View Worker Availability; View Employment Termination; View Person Assignment | All values |
- Under Role Hierarchy, include the HCM Duty Role you created in step 1.
- Select Next, then Submit.
- Go to Tools > Scheduled Processes > Retrieve Latest LDAP Changes and Send Pending LDAP Requests to execute the processes.
Step 3: Create an HCM Data Role
- Go to My Client Groups > Workforce Structures > Data Roles and Security Profiles.
- Select Create, and assign a name as required.
- In Inherited Job Role, select the HCM Job Role you created in step 2.
-
Set the following:
- Country Security Profile: View All Countries
- Organization Security Profile: View All Organizations
- Position Security Profile: View All Positions
- Person Security Profile: View All People
- Public Person Security Profile: View All People
-
Select Submit.
- Go to Tools > Scheduled Processes > Retrieve Latest LDAP Changes and Send Pending LDAP Requests to execute the processes.
Step 4: Create a User and Assign the HCM Data Role
- Go to Tools > Security Console > Users > Add User Account, then enter the user information.
- Select Add Role, and assign the HCM Data Role you created.
- Go to Tools > Scheduled Processes > Retrieve Latest LDAP Changes and Send Pending LDAP Requests to execute the processes.
Approach 2 - Using the Integration Specialist Role
Create a service account with the following required permissions:
- Go to the Security Console, search for the Human Capital Management Integration Specialist job role and use Copy Role to create a custom job role.
-
In the Function Security Policies tab, assign the following policies:
- Use REST Service - Workers
- Use ATOM Feed - Employees Workspace
- Use REST Service - Identity Integration (ASE_REST_SERVICE_ACCESS_IDENTITY_INTEGRATION_PRIV)
- View User Account (ASE_VIEW_USER_ACCOUNT_PRIV)
Note
The last two permissions are required only for the Get and Update functionality of the User Name and Email.
-
In the Data Security Policies section, select Create Data Security Policy to add data security policies to the role.
-
Add the following data policy attributes:
- Name: Choose Person
- Database Resource: Person Detail
- Start Date: System date
- Data Set: Select by instance set
- Condition Name: Access the person for the PER_ALL_PEOPLE_F table for people in the Person and Assignment Security profile.
- Actions: Choose Person
-
Select OK.
-
In Create Data Security Policy add the following data policy attributes:
- Name: Choose Application Reference Territory
- Database Resource: FND_TERRITORIES_B
- Start Date: System date
- Data Set: Select by instance set
- Condition Name: Access the application reference territory for table FND_TERRITORIES_B for countries in the country security profile.
- Actions: Choose Application Reference Territory
-
Select OK, and confirm that the newly created data policies have been assigned to the application role.
- On the Summary and Impact Report section, select Save and Close.
- Execute the Retrieve Latest LDAP Changes process.
- Create a new Data Role from the Manage Data Role and Security Profiles page, which holds only the new custom Job role. Add the security policies as needed.
- Go to View > Security Profiles > View All to view security criteria and set it as per your requirement.
- Repeat the steps for the rest of the security criteria. Select Next, and then Submit.
- Create the user account and assign the newly created role to this user account.
- Execute the Retrieve Latest LDAP Changes and Send Pending LDAP Requests processes.
- For a new user, assign the new Data Role that has been created.
- Re-execute the Retrieve Latest LDAP Changes and Send Pending LDAP Requests processes.
Documentation Feedback
Feedback is provided as an informational resource only and does not form part of SailPoint’s official product documentation. SailPoint does not warrant or make any guarantees about the feedback (including without limitation as to its accuracy, relevance, or reliability). All feedback is subject to the terms set forth at https://developer.sailpoint.com/discuss/tos.