Chat now with support
Chat with Support

Starling Connect Hosted - One Identity Manager Administration Guide

About this guide One Identity Starling Connect overview One Identity Starling Supported cloud applications Working with connectors Connector versions Salesforce Facebook Workplace SAP Cloud Platform JIRA Server RSA Archer SuccessFactors AWS IAM ServiceNow Dropbox Crowd Atlassian JIRA Confluence Trello Box Pipedrive SuccessFactors HR NutShell Insightly Egnyte SugarCRM Oracle IDCS Statuspage Zendesk Sell Workbooks DocuSign Citrix ShareFile Zendesk Azure AD Google Workspace Concur Tableau GoToMeeting Coupa AWS Cognito Okta DataDog Hideez Opsgenie Informatica Cloud Services AppDynamics Marketo Workday HR OneLogin PingOne Aha! SAP Litmos HackerRank Slack ActiveCampaign Webex Apigee Databricks Hive PagerDuty Dayforce Smartsheet Pingboard SAP Cloud for Customer Azure Infrastructure Oracle Fusion Cloud Majesco LuccaHR OpenText JFrog Artifactory xMatters Discourse Testrail ChipSoft PingOne Platform Azure DevOps UKG PRO Atlassian Cloud Appendix: Creating a service account in Google Workspace Appendix: Setting a trial account on Salesforce Registering the application, providing necessary permissions, retrieving Client Id and Client Secret from the Azure AD tenant Generating a private key for service account in GoToMeeting Configuring AWS IAM connector to support entitlements for User and Group Configuring Box connector to support additional email IDs for users One Identity Manager E2E integration needs for Hideez connector Configuring custom attributes for ServiceNow v.1.0 Configuring custom attributes for Coupa v.1.0 Configuring custom attributes in connectors Disabling attributes Configuring a connector that uses the consent feature Synchronization and integration of Roles object type with One Identity Manager Synchronization and integration of Workspaces object type with One Identity Manager Synchronization and integration of Products object type with One Identity Manager User centric membership Creating multi-valued custom fields in One Identity Manager Synchronization and assignment of PermissionSets to Users with One Identity Manager Connectors that support password attribute in User object Connectors that do not support special characters in the object ID Creating an app for using SCIM on Slack Enterprise Grid Organization Creating a Webex integration application, providing necessary scopes, retrieving Client Id and Client Secret Retrieving the API key from Facebook Workplace Outbound IP addresses Values for customer-specific configuration parameters in Workday HR connector Initiate an OAuth connection to SuccessFactors Creating custom editable/upsertable attributes in Successfactors employee central Custom Foundation Objects in Successfactors HR connector Configuring additional datetime offset in connectors How to Create custom attribute for Users in SuccessFactors portal SAP Cloud for Customer - Steps to add custom fields at One Identity Manager attributes Creating a Service Principal for the Azure Infrastructure Connector Workday permissions needed to integrate via the Starling Connector Configuring integration application in DocuSign Creating integration Connect Client in Coupa Retrieving Azure DevOps Personal Access Token (PAT) Setup integration system and field override service in Workday Retrieving Atlassian Cloud API Key and Directory ID

Mappings

SuccessFactors HR is an integrated human-resources platform. It offers users tools for onboarding, social business, and collaboration along with tools for learning management, performance management, recruiting, applicant tracking, succession planning, talent management, and HR analytics. It is also cloud-based.

Supervisor configuration parameters

To configure the connector, following parameters are required:

  • Connector Name
  • Username (Format: <userId (not the value for username) of the SuccessFactors service account>@<company_id>)
  • Password (needed till v.5.0)
  • SuccessFactors HR instance URL (https://apps.support.sap.com/sap/support/knowledge/public/en/2215682).

  • Private key (v.6.0 onwards)

  • Client Id (v.6.0 onwards)

  • Custom Object Types (v9.0 onwards)

  • Instance DateTime Offset (refer Configuring additional datetime offset in connectors for more details)

  • Minimal Attributes (in v1.0 and v2.0)

    NOTE: The default value is false. When the value is set to true, only the minimal set of attributes for all the objects will be queried from the SuccessFactors HR system.

  • Fetch Effective Dated Records Only (v3.0 onwards)

    NOTE: The default value is false. When the value is set to true, only the effective dated employees will be queried from the SuccessFactorsHR system.

  • Activate Custom Attributes With Full Name (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, then custom attributes would be prefixed with the full name of the navigational attributes.

  • Separate Effective And FutureDated Employees Endpoints (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would be separated into two endpoints - the effective dated and future dated.

  • Retry Server Call

    IMPORTANT:

    • Retry Server Call is used to make a retry request to the SuccessFactorsHR system in-case of failures related with an unreachable instance at a given point in time.

    • By default the value is set to false. The customer can enable it in-case such failures are encountered.

  • loginMethod (v9.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would have loginMethod attribute in the response.

  • Use base 64 encoded id in synchronization (on v10.1)

    NOTE: The default value is false. Set this to true if the id contains special characters and needs the base 64 encoding to support the synchronization.

Table 78: Minimal set of attributes for the objects

SuccessFactors HR

Attributes

BusinessUnit

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Company

externalCode, name, description, status, createdOn, lastModifiedOn

CostCenter

name, description, externalCode, status, startDate, createdOn, lastModifiedOn

Division

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Department name, description, externalCode, status, startDate, createdOn, lastModifiedOn

EmpEmployment

userID, startDate, createdOn, lastModifiedOn

Employee

EmpJob attributes: userId, businessUnit, company, costCenter, createdOn, division, event, eventReason, jobTitle, location, managerId, emplStatus, startDate, jobCode, position

User attributes: dateOfBirth, userId, username, defaultFullName, hireDate, lastModified, status, department, location, firstName, lastName, mi, suffix, email, addressLine1, state, city, zipCode, country, businessPhone, cellPhone

EventReason

externalCode, name, status, event, createdOn, lastModifiedOn

JobCode

externalCode, name, description, status, createdOn, lastModifiedOn

Location externalCode, name, description, status, geozoneFlx, createdOn, lastModifiedOn

PerPersonal

personIdExternal, firstName, lastName, preferredName, createdOn, lastModifiedOn

PerPhone

personIdExternal, phoneNumber, phoneType, createdOn, lastModifiedOn

PicklistLabel

id,externalCode, status

PicklistOption

id,externalCode, status

Position code, description, jobTitle, effectiveStatus, jobCode, businessUnit, company, department, externalName_defaultValue, createdDate, lastModifiedDate

NOTE: For consuming Starling Connect HR connectors (for example, SuccessFactors HR) into the One Identity Manager Synchronization Client, the One Identity Manager CHS module has to be installed and configured. You can download the appropriate CHS module from the One Identity Manager Support site.

Supported objects and operations

Employees

Table 79: Supported operations for Employees

Operation

VERB

Get Employee

GET

Get All Employees with Pagination

GET

Update Employees

PUT

Companies

Table 80: Supported operations for Companies

Operation

VERB

Get Company GET

Get All Company With Pagination

GET

BusinessUnits

Table 81: Supported operations for BusinessUnits

Operation

VERB

Get BusinessUnit GET

Get All Business Units with Pagination

GET

Departments

Table 82: Supported operations for Departments

Operation

VERB

Get Department GET

Get All Departments with Pagination

GET

Locations

Table 83: Supported operations for Locations

Operation

VERB

Get Location GET

Get All Locations with Pagination

GET

Divisions

Table 84: Supported operations for Divisions

Operation

VERB

Get Division GET

Get All Division With Pagination

GET

CostCenters

Table 85: Supported operations for CostCenters

Operation

VERB

Get CostCenter GET

Get All CostCenter with Pagination

GET

JobCodes

Table 86: Supported operations for JobCodes

Operation

VERB

Get JobCode GET
Get All JobCodeWith Pagination GET

Positions

Table 87: Supported operations for Positions

Operation

VERB

Get Position GET
Get All Position With Pagination GET

EmpEmployments

Table 88: Supported operations for EmpEmployments

Operation

VERB

Get EmpEmployment GET
Get All EmpEmployment With Pagination GET

PerPersonals

Table 89: Supported operations for PerPersonals

Operation

VERB

Get PerPersonal GET
Get All PerPersonal With Pagination GET

PerPhones

Table 90: Supported operations for PerPhones

Operation

VERB

Get PerPhone GET
Get All PerPhone With Pagination GET

Create PerPhone

POST

Update PerPhone

PUT

EventReasons

Table 91: Supported operations for EventReasons

Operation

VERB

Get EventReason GET
Get All EventReason With Pagination GET

PicklistLabels

Table 92: Supported operations for PicklistLabels

Operation

VERB

Get PicklistLabel GET
Get All PicklistLabel With Pagination GET

PerEmails

Table 93: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

PerEmails

Table 94: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

FutureDatedEmployees (in v5.0 and above)

Table 95: Supported operations for FutureDatedEmployees

Operation

VERB

Get Employees GET
Get All Employees with Pagination GET

Update Employees

PUT

EmpJobRelationship (in v10.0 and above)

Table 96: Supported operations for EmpJobRelationship

Operation

VERB

Get EmpJobRelationship GET
Get EmpJobRelationship With Pagination GET

Mandatory Fields

This section lists the mandatory fields required to CREATE/UPDATE, Employees, PerEmails, PerPhones, and FutureDatedEmployees:

Employee

  • userId
  • username

PerEmail

  • personIdExternal

  • emailType

PerPhone

  • personIdExternal

  • phoneType

  • phoneNumber

FutureDatedEmployees

  • userId

  • username

NOTE: Employees and FutureDatedEmployees endpoints support UPDATE operation only.

Endpoints mapping

Table 97: Target system objects mapping
SCIM endpoints Target system objects
Employees EmpJob
BusinessUnits FOBusinessUnit
Departments FODepartment
CostCenters FOCostCenter
Locations FOLocation

Divisions

Divisions

Companies

FOCompany

JobCodes

FOJobCode

Positions

Position

EmpEmployments

EmpEmployment

PerPersonals

PerPersonal

PerPhones

PerPhone

PicklistLabels

PicklistLabel

PicklistOptions

PicklistOption

PerEmails

PerEmail

EventReasons

EventReason

Attributes mapping

Different mappings associated with this connector are listed in the tables below.

Table 98: Employee mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

FutureDatedEmployees

EmpJob

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

loginMethod

userNav/loginMethod

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 99: FutureDatedEmployees mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 100: Departments mapping
SCIM parameter SuccessFactors HR parameter
costCenter costCenter
createdBy createdBy

createdOn

createdOn

description description

endDate

endDate

externalCode externalCode
headOfUnit headOfUnit
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

parent

parent

startDate

startDate

status

status

Table 101: Locations mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

description description

endDate

endDate

externalCode externalCode
geozoneFlx geozoneFlx
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

locationGroup locationGroup
locationGroupFlx locationGroupFlx

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

standardHours

standardHours

startDate

startDate

status

status

timezone timezone
Table 102: BusinessUnits mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdOn

createdOn

description description

description_de_DE

description_de_DE

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

name_de_DE

name_de_DE

startDate startDate
status status
Table 103: Custom object type mapping
SCIM parameter SuccessFactors HR parameter
Id Base 64 encoded Composite Key or Simple Key of the object

Meta.Created

createdDateTime

meta.lastModified lastModifiedDateTime
All other non-navigational attribute will have same names at both sides
Table 104: Mapping for V10.1
SCIM parameter SuccessFactors HR parameter
Id Base64encoded(id)
targetId

id

NOTE: Applicable for all object types.

Table 105: Divisions mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdDateTime

createdDateTime

createdOn createdOn
description description

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime lastModifiedDateTime
lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name
parent parent
startDate startDate
status status

 

Table 106: CostCenters mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
createdBy createdBy
externalCode externalCode

costcenterManager

costcenterManager

status status
startDate startDate

endDate

endDate

parent parent
lastModifiedOn lastModifiedOn
createdOn createdOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

 

Table 107: Companies mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

defaultLocation defaultLocation
country country
standardHours standardHours
defaultPayGroup defaultPayGroup
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 108: JobCodes mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

lastModifiedOn lastModifiedOn
lastModifiedBy lastModifiedBy
createdBy createdBy
createdOn createdOn

parentJobCode

parentJobCode

supervisorLevel

supervisorLevel

defaultSupervisorLevel

defaultSupervisorLevel

standardHours

standardHours

workerCompCode

workerCompCode

grade

grade

isFulltimeEmployee

isFulltimeEmployee

jobFunction

jobFunction

regularTemporary

regularTemporary

employeeClass

employeeClass

defaultJobLevel

defaultJobLevel

isRegular

isRegular

jobLevel

jobLevel

defaultEmployeeClass

defaultEmployeeClass

Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 109: Positions mapping
SCIM parameter SuccessFactors HR parameter
Id code
code code
description description
effectiveStartDate effectiveStartDate
effectiveEndDate effectiveEndDate
effectiveStatus effectiveStatus
standardHours standardHours
department department
businessUnit businessUnit
division division
location location
costCenter costCenter
createdBy createdBy
jobTitle jobTitle
employeeClass employeeClass
jobCode jobCode
company company
payGrade payGrade
comment comment
createdDate createdDate
jobLevel jobLevel
lastModifiedBy lastModifiedBy
lastModifiedDate lastModifiedDate
positionTitle positionTitle
vacant vacant
regularTemporary regularTemporary

payRange

payRange

Meta.LastModified lastModifiedDate

Meta.Created

createdDate

lastModifiedDateTime

lastModifiedDateTime

NOTE: Disable the lastModifiedDate or lastModifiedDateTime attribute based on the availability in the instance. Disabling both at the same time may introduce performance issues.

 

Table 110: EmpEmployments mapping
SCIM parameter SuccessFactors HR parameter
Id userId
userId userId
personIdExternal personIdExternal
startDate startDate
createdBy createdBy
createdOn createdOn
firstDateWorked firstDateWorked
lastDateWorked lastDateWorked
lastModifiedBy lastModifiedBy
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

Table 111: PerPersonals mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy
createdOn createdOn

emails[].displayName

personNav/emailNav/result[].emailAddress

emails[].emailType

personNav/emailNav/result[].emailType

emails[].primary

personNav/emailNav/result[].isPrimary

emails[].value

personNav/emailNav/result[].personIdExternal,personNav/emailNav/result[].emailType

firstName firstName
gender gender
Id personIdExternal

lastModifiedBy

lastModifiedBy

lastName lastName

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

preferredName

preferredName

startDate startDate
Table 112: PerPhones mapping
SCIM parameter SuccessFactors HR parameter
areaCode areaCode
countryCode countryCode
createdBy createdBy
createdOn createdOn

Id

personIdExternal,phoneType

isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal
phoneNumber phoneNumber
phoneType phoneType
NOTE: The PerPhones table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and phoneType.
Table 113: EventReasons mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
externalCode externalCode
name name
status status
event_ event_
emplStatus emplStatus
description description
startDate startDate
createdOn createdOn
createdBy createdBy
lastModifiedOn lastModifiedOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

Table 114: PicklistOptions mapping
SCIM parameter SuccessFactors HR parameter
externalCode externalCode
Id id
status status

 

Table 115: PicklistLabels mapping
SCIM parameter SuccessFactors HR parameter
Id optionId
id_ id

label

label

locale

locale

optionId optionId

 

Table 116: PerEmails mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

createdOn

createdOn

emailAddress

emailAddress

emailType emailType
Id personIdExternal,emailType
isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

NOTE: The PerEmails table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and emailType.

Table 117: EmpJobRelationship mapping
SCIM parameter SuccessFactors HR parameter

Id

base 64 encoded (userId+startDate+relationshipType)

originalId

userId+startDate+relationshipType

relationshipType

relationshipType

userId

userId

relUserId relUserId
startDate startDate
endDate endDate

createdBy

createdBy

lastModifiedBy

lastModifiedBy

meta.LastModified lastModifiedOn
meta.CreatedOn createdOn

Connector limitations

  • DELETE operation is supported only by the PerEmails endpoint.

  • Except for PerEmails and PerPhones, CREATE operation is also not supported by any other endpoints.

  • UPDATE operation is supported by two endpoints on selected attributes as listed below:

    • Employees - username, cellPhone, businessPhone, and email

    • PerEmails - emailAddress, emailType.

    • PerPhones - phoneNumber, phoneType, areaCode, countryCode, and isPrimary.

  • If there are multiple records with same 'startDate' coming in at a later point, then it would not be handled since 'startDate' doesn't have a time stamp.

  • 'startDate' is in servertime. Hence, it can't be converted into UTC as the timezone information of the SAP server is unavailable.

  • PerPhones and PerEmails endpoints do not support filters on "id" attribute of SCIM response.

Connector versions and features

The following subsections describe the different connector version(s) and features available with them.

Features available exclusively in SuccessFactors HR v.2.0

Following are the features that are available exclusively in SuccessFactors HR v.2.0:

  • For the Employees object, the Get Employee operation has been modified to get both active and inactive Employees.

    NOTE: To insert only Active Members in One Identity Manager, the synchronization workflow configuration must be modified to have a filter based on status attribute in the insert step.

  • Employees endpoint is enhanced to return the Future Hires of the HR system.

Features available exclusively in SuccessFactors HR v.3.0

Following are the features that are available exclusively in SuccessFactors HR v.3.0:

  • The attributes of all object schemas can be disabled or enabled while configuring the connector based on your requirements.

    NOTE:

    • Mandatory attributes cannot be disabled.
    • For more information about how to disable attributes, see Disabling attributes

  • You can configure custom attributes for the SuccessFactors HR v.3.0 SCIM connector in Starling Connect for all objects.

    NOTE:

  • The connector supports new PerEmails endpoint that allows you to browse and synchronize the data. It also allows you to update and create email records in the PerEmail table.

  • Fetching of future-dated employees/updates can be prevented by enabling the Fetch effective dated records only flag.

Features available exclusively in SuccessFactors HR v4.0

Following are the features that are available exclusively in SuccessFactors HR v.4.0:

  • The naming convention for all the custom attributes has been enhanced that belongs to a navigational object class.

  • Support for UTC date time.

  • Support for multi-level navigational custom attributes.

Features available exclusively in SuccessFactors HR v5.0

  • The Employees endpoint is enhanced to consider lastModified date of both EmpJob and User table.

  • Added a flag 'Separate Effective And FutureDated Employees Endpoints' which when enabled, makes the Employees endpoint to return effective dated employees only and provides a new endpoint 'FutureDatedEmployees' to return future dated records only.

  • Added a flag 'Activate Custom Attributes With Full Name' which when enabled, the naming convention for all the custom attributes will not be prefixed with the navigational attribute names.

  • Support for multi-level navigational custom attributes with the flag "Activate Custom Attributes with full name" ON.

Features available exclusively in SuccessFactors HR v6.0

  • All the features are available which is supported in v.5.0.

  • v.6.0 has no feature change only addition is that it supports OAuth Authentication.

  • For detailed explanation on setting up the OAuth authentication, refer SetUp OAuth.

Features available exclusively in SuccessFactors HR v7.0

  • v.7.0 has consistent names for all resource types in ResourceTypes endpoint as well as in individual resource endpoints.

Features available exclusively in SuccessFactors HR v8.0

  • The FutureDatedEmployees endpoint is modified to return the next effective record.

Features available exclusively in SuccessFactors HR v9.0

  • READ operations on Custom Foundation Objects are supported. (Refer Custom Foundation Objects in Successfactors HR connector)

  • Update operation on Custom attribute supported. (Refer Creating custom editable/upsertable attributes in Successfactors employee central)

    NOTE:Supported under Employees, EmpEmployments and PerPersonals.

  • PickListLables "id" attribute value changes to "optionId,locale".

  • Support for loginMethod attributes with the flag "loginMethod" ON.

  • Two additional attributes employmentStartDate and employmentEndDate are supported in Employees and FutureDatedEmployees. Even though these attributes can have null value in the target, the Starling Connector currently converts null to 0001-01-01T00:00:00.

Features available exclusively in SuccessFactors HR v10.0

  • Positions Endpoint return FutureDated positions using query parameter(?futureDated=true).

  • PerPersonal Endpoint return FutureDated PerPersonal using query parameter(?futureDated=true).

     

  • Supports new endpoints FutureDatedPerPersonals and FutureDatedPositions to handle the PerPersonal and Position records respectively which are having future effective dates.

  • Supports new endpoint EmpJobRelationships.

Features available exclusively in SuccessFactors HR v10.1

  • Added a flag ”Use base 64 encoded id in synchronization” which when enabled, makes all the endpoints to return one new attribute “targetId”.

  • The "id" in the SCIM response will be base 64 encoded.

Features available exclusively in SuccessFactors HR v10.2

  • In v10.2 onwards, the id of all resources (except custom objects) containin single quote (') in the id will be bypassed using another the single quote for correct usage in the SuccessFactors API requests. For example, id "test'd" will be changed as "test''d".

Features available exclusively in SuccessFactors HR v10.3

  • Added EmpGlobalAssignments endpoint, which supports Get EmpGlobalAssignment by Id and Get All        EmpGlobalAssignments.

Support for Filter Condition

SuccessFactorsHR connector supports the filter condition for all the objects (i.e., endpoints). We could apply the filter condition and take the filtered records from SuccessFactorsHR target system.

  • The connector supports filter conditions for all the objects.

  • The connector supports filter condition in all the Versions.

  • Supports only AND, OR, and NOT logical operators.

  • Supports only parenthesis () for grouping the condition.

  • The connector supports only single quotes (‘) with filter condition value (ex: phoneType co '10101')

  • Filter conditions should be applied on those attributes that can be filtered. For more information, refer List of Attributes for Filter Condition.

  • Complex attributes are not supported in the filter condition (example: name, email). Only sub-attributes are supported. (email.value, name.familyName)

  • Filter condition should follow the syntax

    For example: 

    1. <attribute_name><space><operator><space>'<string_value or date_value>'

    2.<attribute_name><space><operators><space><int_value or bool_value>

  • Filter condition values should NOT have single quotes or percentage with the filter condition value example: (userName co 'O'Malley') or (userName co 'O%Malley%')

  • Filter condition is NOT supported by the connector for Custom attributes.

  • Supports the following operators to filter the values with example should apply in OneIM.

    S.No Operators OneIM System filters OneIM Select Objects
    1 eq → equal to phoneType eq '00000' phoneType = '00000'
    2 ne → not equal to phoneType ne '00000' phoneType <> '00000'
    3 co → contains phoneType co '00000' phoneType like '%00000%'
    4 sw → starts with phoneType sw '00000' phoneType like '00000%'
    5 ew → ends with phoneType ew '00000' phoneType like '%00000'
    6 gt → greater than phoneType gt 100 phoneType > 100
    7 lt → less than phoneType lt 100 phoneType < 100
    8 ge → greater than or equal to phoneType ge 500 phoneType >= 500
    9 le → less than or equal to phoneType le 500 phoneType <= 500

Some of the example filter conditions (Should be applied at OneIM):

  • phoneType co '1'

  • phoneType eq '00000'

  • emails.value co 'someone.may' or emails.value co 'test.user'

  • not areaCode co '1' and not ((not countryCode sw '1' or phoneType ew '6') and is Primary eq true)

List of Attributes for Filter Condition

The endpoints exposed by the SuccessFactorsHR connector supports filtering of target system data from One Identity Manager. Here is the detailed list of endpoints with both Filterable and non-filterable attributes, used in filter conditions.

Table 118: Employees
Section Attributes
Table EmpJob
Filterable userId, timezone, department, businessUnit, division, location, costCenter, company, startDate, seqNumber, workingTimeDirective, emplStatus, event, eventReason, endDate, timeTypeProfileCode, timeRecordingVariant, employmentType, workscheduleCode, regularTemp, payScaleGroup, probationPeriodEndDate, payScaleType, managerId, jobCode, createdBy, position, retired, employeeClass, familyRelationshipWithEmployer, isCompetitionClauseActive, standardHours, jobTitle, countryOfCompany, hazard, travelDistance, isSideLineJobAllowed, payScaleArea, holidayCalendarCode, contractType, payGrade, workLocation, workingDaysPerWeek, empRelationship, isFulltimeEmployee, laborProtection, pensionProtection, payScaleLevel, workerCategory

Non filterable

NONE

Table 119: BusinessUnits
Section Attributes
Table FOBusinessUnit
Filterable externalCode, name, description, createdBy, status, createdOn, lastModifiedBy, startDate, endDate, headOfUnit, description_de_DE, name_de_DE, lastModifiedOn

Non filterable

NONE

Table 120: Companies
Section Attributes
Table FOCompany
Filterable externalCode, name, description, currency, createdBy, status, startDate, endDate, defaultLocation, country, standardHours, defaultPayGroup, createdOn, lastModifiedOn

Non filterable

NONE

Table 121: Department
Section Attributes
Table FODepartment
Filterable externalCode, name, description, createdBy, costCenter, headOfUnit, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

NONE

Table 122: Locations
Section Attributes
Table FOLocation
Filterable externalCode, name, createdBy, createdOn, createdDateTime, lastModifiedBy, lastModifiedOn, lastModifiedDateTime, startDate, endDate, status

Non filterable

description, timezone, geozoneFlx, locationGroup, locationGroupFlx, standardHours

Table 123: CostCenters
Section Attributes
Table FOCostCenter
Filterable externalCode, name, description, createdBy, costcenterManager, startDate, endDate, createdOn, lastModifiedBy, parent, status, lastModifiedOn

Non filterable

NONE

Table 124: Divisions
Section Attributes
Table FODivision
Filterable externalCode, name, description, createdBy, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, createdDateTime, headOfUnit, lastModifiedOn

Non filterable

NONE

Table 125: EmpEmployments
Section Attributes
Table EmpEmployment
Filterable personIdExternal, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

firstDateWorked, lastDateWorked
Table 126: EventReasons
Section Attributes
Table FOEventReason
Filterable externalCode, name, status, startDate, lastModifiedBy, createdBy, createdOn, lastModifiedOn

Non filterable

event emplStatus, description
Table 127: JobCodes
Section Attributes
Table JobCode
Filterable externalCode, name, status, description, startDate, endDate, lastModifiedBy, createdBy, createdOn, parentJobCode, supervisorLevel, defaultSupervisorLevel, standardHours, workerCompCode, grade, isFulltimeEmployee, jobFunction, regularTemporary, employeeClass, defaultJobLevel, isRegular, jobLevel, defaultEmployeeClass, lastModifiedOn

Non filterable

NONE
Table 128: PerEmails
Section Attributes
Table PerEmail
Filterable personIdExternal, emailAddress, emailType, lastModifiedDateTime, createdBy, isPrimary, lastModifiedBy, createdDateTime, createdOn, lastModifiedOn

Non filterable

NONE
Table 129: PerPersonals
Section Attributes
Table PerPersonal
Filterable personIdExternal, firstName, lastName, gender, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

preferredName
Table 130: PerPhones
Section Attributes
Table PerPhone
Filterable personIdExternal, phoneNumber, phoneType, createdBy, createdOn, areaCode, countryCode, isPrimary, lastModifiedBy, lastModifiedOn

Non filterable

NONE
Table 131: PicklistLabels
Section Attributes
Table PicklistLabel
Filterable id, locale, label, optionId

Non filterable

NONE
Table 132: PicklistOptions
Section Attributes
Table PicklistOption
Filterable id, status, externalCode

Non filterable

NONE
Table 133: Positions
Section Attributes
Table Position
Filterable code, description, effectiveStartDate, effectiveEndDate, effectiveStatus, standardHours, department, businessUnit, division, location, costCenter, jobTitle, employeeClass, jobCode, company, payGrade, jobLevel, positionTitle, vacant, regularTemporary, createdBy, createdDate, lastModifiedBy, lastModifiedDate, lastModifiedDateTime, externalName_defaultValue

Non filterable

payRange

Configuring changes in One Identity Manager to support filter conditions

  1. Open the Synchronization Editor tool.

  2. Select SCIM connector and the Target system

  3. Navigate to Schema Classes.

  4. Add a new schema class for the perphone.

  5. Add the System filter and Select Object condition. Click Commit to Database.

  6. In PerPhones mappings, edit the Target system schema class with the recently created schema and click Commit to Database.

  7. Run the synchronization.

    The Filter conditions will be created.

Conditions on "Fetch Effective Dated Records Only" & "Separate Effective And Future Dated Employees Endpoints" flags based on different use cases (for version v.5.0 and above)

  • Use Case #1: Get effective or future dated(if effective record does not exist) employee records in the employees endpoint response

    • "Fetch Effective Dated Records Only" - OFF

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #2: Get only effective employee records in the employees endpoint response and no separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #3: Get only effective employee records in the employees endpoint response and get a separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - ON

Connector limitations

SuccessFactors HR is an integrated human-resources platform. It offers users tools for onboarding, social business, and collaboration along with tools for learning management, performance management, recruiting, applicant tracking, succession planning, talent management, and HR analytics. It is also cloud-based.

Supervisor configuration parameters

To configure the connector, following parameters are required:

  • Connector Name
  • Username (Format: <userId (not the value for username) of the SuccessFactors service account>@<company_id>)
  • Password (needed till v.5.0)
  • SuccessFactors HR instance URL (https://apps.support.sap.com/sap/support/knowledge/public/en/2215682).

  • Private key (v.6.0 onwards)

  • Client Id (v.6.0 onwards)

  • Custom Object Types (v9.0 onwards)

  • Instance DateTime Offset (refer Configuring additional datetime offset in connectors for more details)

  • Minimal Attributes (in v1.0 and v2.0)

    NOTE: The default value is false. When the value is set to true, only the minimal set of attributes for all the objects will be queried from the SuccessFactors HR system.

  • Fetch Effective Dated Records Only (v3.0 onwards)

    NOTE: The default value is false. When the value is set to true, only the effective dated employees will be queried from the SuccessFactorsHR system.

  • Activate Custom Attributes With Full Name (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, then custom attributes would be prefixed with the full name of the navigational attributes.

  • Separate Effective And FutureDated Employees Endpoints (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would be separated into two endpoints - the effective dated and future dated.

  • Retry Server Call

    IMPORTANT:

    • Retry Server Call is used to make a retry request to the SuccessFactorsHR system in-case of failures related with an unreachable instance at a given point in time.

    • By default the value is set to false. The customer can enable it in-case such failures are encountered.

  • loginMethod (v9.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would have loginMethod attribute in the response.

  • Use base 64 encoded id in synchronization (on v10.1)

    NOTE: The default value is false. Set this to true if the id contains special characters and needs the base 64 encoding to support the synchronization.

Table 78: Minimal set of attributes for the objects

SuccessFactors HR

Attributes

BusinessUnit

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Company

externalCode, name, description, status, createdOn, lastModifiedOn

CostCenter

name, description, externalCode, status, startDate, createdOn, lastModifiedOn

Division

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Department name, description, externalCode, status, startDate, createdOn, lastModifiedOn

EmpEmployment

userID, startDate, createdOn, lastModifiedOn

Employee

EmpJob attributes: userId, businessUnit, company, costCenter, createdOn, division, event, eventReason, jobTitle, location, managerId, emplStatus, startDate, jobCode, position

User attributes: dateOfBirth, userId, username, defaultFullName, hireDate, lastModified, status, department, location, firstName, lastName, mi, suffix, email, addressLine1, state, city, zipCode, country, businessPhone, cellPhone

EventReason

externalCode, name, status, event, createdOn, lastModifiedOn

JobCode

externalCode, name, description, status, createdOn, lastModifiedOn

Location externalCode, name, description, status, geozoneFlx, createdOn, lastModifiedOn

PerPersonal

personIdExternal, firstName, lastName, preferredName, createdOn, lastModifiedOn

PerPhone

personIdExternal, phoneNumber, phoneType, createdOn, lastModifiedOn

PicklistLabel

id,externalCode, status

PicklistOption

id,externalCode, status

Position code, description, jobTitle, effectiveStatus, jobCode, businessUnit, company, department, externalName_defaultValue, createdDate, lastModifiedDate

NOTE: For consuming Starling Connect HR connectors (for example, SuccessFactors HR) into the One Identity Manager Synchronization Client, the One Identity Manager CHS module has to be installed and configured. You can download the appropriate CHS module from the One Identity Manager Support site.

Supported objects and operations

Employees

Table 79: Supported operations for Employees

Operation

VERB

Get Employee

GET

Get All Employees with Pagination

GET

Update Employees

PUT

Companies

Table 80: Supported operations for Companies

Operation

VERB

Get Company GET

Get All Company With Pagination

GET

BusinessUnits

Table 81: Supported operations for BusinessUnits

Operation

VERB

Get BusinessUnit GET

Get All Business Units with Pagination

GET

Departments

Table 82: Supported operations for Departments

Operation

VERB

Get Department GET

Get All Departments with Pagination

GET

Locations

Table 83: Supported operations for Locations

Operation

VERB

Get Location GET

Get All Locations with Pagination

GET

Divisions

Table 84: Supported operations for Divisions

Operation

VERB

Get Division GET

Get All Division With Pagination

GET

CostCenters

Table 85: Supported operations for CostCenters

Operation

VERB

Get CostCenter GET

Get All CostCenter with Pagination

GET

JobCodes

Table 86: Supported operations for JobCodes

Operation

VERB

Get JobCode GET
Get All JobCodeWith Pagination GET

Positions

Table 87: Supported operations for Positions

Operation

VERB

Get Position GET
Get All Position With Pagination GET

EmpEmployments

Table 88: Supported operations for EmpEmployments

Operation

VERB

Get EmpEmployment GET
Get All EmpEmployment With Pagination GET

PerPersonals

Table 89: Supported operations for PerPersonals

Operation

VERB

Get PerPersonal GET
Get All PerPersonal With Pagination GET

PerPhones

Table 90: Supported operations for PerPhones

Operation

VERB

Get PerPhone GET
Get All PerPhone With Pagination GET

Create PerPhone

POST

Update PerPhone

PUT

EventReasons

Table 91: Supported operations for EventReasons

Operation

VERB

Get EventReason GET
Get All EventReason With Pagination GET

PicklistLabels

Table 92: Supported operations for PicklistLabels

Operation

VERB

Get PicklistLabel GET
Get All PicklistLabel With Pagination GET

PerEmails

Table 93: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

PerEmails

Table 94: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

FutureDatedEmployees (in v5.0 and above)

Table 95: Supported operations for FutureDatedEmployees

Operation

VERB

Get Employees GET
Get All Employees with Pagination GET

Update Employees

PUT

EmpJobRelationship (in v10.0 and above)

Table 96: Supported operations for EmpJobRelationship

Operation

VERB

Get EmpJobRelationship GET
Get EmpJobRelationship With Pagination GET

Mandatory Fields

This section lists the mandatory fields required to CREATE/UPDATE, Employees, PerEmails, PerPhones, and FutureDatedEmployees:

Employee

  • userId
  • username

PerEmail

  • personIdExternal

  • emailType

PerPhone

  • personIdExternal

  • phoneType

  • phoneNumber

FutureDatedEmployees

  • userId

  • username

NOTE: Employees and FutureDatedEmployees endpoints support UPDATE operation only.

Mappings

Endpoints mapping

Table 97: Target system objects mapping
SCIM endpoints Target system objects
Employees EmpJob
BusinessUnits FOBusinessUnit
Departments FODepartment
CostCenters FOCostCenter
Locations FOLocation

Divisions

Divisions

Companies

FOCompany

JobCodes

FOJobCode

Positions

Position

EmpEmployments

EmpEmployment

PerPersonals

PerPersonal

PerPhones

PerPhone

PicklistLabels

PicklistLabel

PicklistOptions

PicklistOption

PerEmails

PerEmail

EventReasons

EventReason

Attributes mapping

Different mappings associated with this connector are listed in the tables below.

Table 98: Employee mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

FutureDatedEmployees

EmpJob

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

loginMethod

userNav/loginMethod

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 99: FutureDatedEmployees mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 100: Departments mapping
SCIM parameter SuccessFactors HR parameter
costCenter costCenter
createdBy createdBy

createdOn

createdOn

description description

endDate

endDate

externalCode externalCode
headOfUnit headOfUnit
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

parent

parent

startDate

startDate

status

status

Table 101: Locations mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

description description

endDate

endDate

externalCode externalCode
geozoneFlx geozoneFlx
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

locationGroup locationGroup
locationGroupFlx locationGroupFlx

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

standardHours

standardHours

startDate

startDate

status

status

timezone timezone
Table 102: BusinessUnits mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdOn

createdOn

description description

description_de_DE

description_de_DE

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

name_de_DE

name_de_DE

startDate startDate
status status
Table 103: Custom object type mapping
SCIM parameter SuccessFactors HR parameter
Id Base 64 encoded Composite Key or Simple Key of the object

Meta.Created

createdDateTime

meta.lastModified lastModifiedDateTime
All other non-navigational attribute will have same names at both sides
Table 104: Mapping for V10.1
SCIM parameter SuccessFactors HR parameter
Id Base64encoded(id)
targetId

id

NOTE: Applicable for all object types.

Table 105: Divisions mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdDateTime

createdDateTime

createdOn createdOn
description description

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime lastModifiedDateTime
lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name
parent parent
startDate startDate
status status

 

Table 106: CostCenters mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
createdBy createdBy
externalCode externalCode

costcenterManager

costcenterManager

status status
startDate startDate

endDate

endDate

parent parent
lastModifiedOn lastModifiedOn
createdOn createdOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

 

Table 107: Companies mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

defaultLocation defaultLocation
country country
standardHours standardHours
defaultPayGroup defaultPayGroup
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 108: JobCodes mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

lastModifiedOn lastModifiedOn
lastModifiedBy lastModifiedBy
createdBy createdBy
createdOn createdOn

parentJobCode

parentJobCode

supervisorLevel

supervisorLevel

defaultSupervisorLevel

defaultSupervisorLevel

standardHours

standardHours

workerCompCode

workerCompCode

grade

grade

isFulltimeEmployee

isFulltimeEmployee

jobFunction

jobFunction

regularTemporary

regularTemporary

employeeClass

employeeClass

defaultJobLevel

defaultJobLevel

isRegular

isRegular

jobLevel

jobLevel

defaultEmployeeClass

defaultEmployeeClass

Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 109: Positions mapping
SCIM parameter SuccessFactors HR parameter
Id code
code code
description description
effectiveStartDate effectiveStartDate
effectiveEndDate effectiveEndDate
effectiveStatus effectiveStatus
standardHours standardHours
department department
businessUnit businessUnit
division division
location location
costCenter costCenter
createdBy createdBy
jobTitle jobTitle
employeeClass employeeClass
jobCode jobCode
company company
payGrade payGrade
comment comment
createdDate createdDate
jobLevel jobLevel
lastModifiedBy lastModifiedBy
lastModifiedDate lastModifiedDate
positionTitle positionTitle
vacant vacant
regularTemporary regularTemporary

payRange

payRange

Meta.LastModified lastModifiedDate

Meta.Created

createdDate

lastModifiedDateTime

lastModifiedDateTime

NOTE: Disable the lastModifiedDate or lastModifiedDateTime attribute based on the availability in the instance. Disabling both at the same time may introduce performance issues.

 

Table 110: EmpEmployments mapping
SCIM parameter SuccessFactors HR parameter
Id userId
userId userId
personIdExternal personIdExternal
startDate startDate
createdBy createdBy
createdOn createdOn
firstDateWorked firstDateWorked
lastDateWorked lastDateWorked
lastModifiedBy lastModifiedBy
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

Table 111: PerPersonals mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy
createdOn createdOn

emails[].displayName

personNav/emailNav/result[].emailAddress

emails[].emailType

personNav/emailNav/result[].emailType

emails[].primary

personNav/emailNav/result[].isPrimary

emails[].value

personNav/emailNav/result[].personIdExternal,personNav/emailNav/result[].emailType

firstName firstName
gender gender
Id personIdExternal

lastModifiedBy

lastModifiedBy

lastName lastName

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

preferredName

preferredName

startDate startDate
Table 112: PerPhones mapping
SCIM parameter SuccessFactors HR parameter
areaCode areaCode
countryCode countryCode
createdBy createdBy
createdOn createdOn

Id

personIdExternal,phoneType

isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal
phoneNumber phoneNumber
phoneType phoneType
NOTE: The PerPhones table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and phoneType.
Table 113: EventReasons mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
externalCode externalCode
name name
status status
event_ event_
emplStatus emplStatus
description description
startDate startDate
createdOn createdOn
createdBy createdBy
lastModifiedOn lastModifiedOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

Table 114: PicklistOptions mapping
SCIM parameter SuccessFactors HR parameter
externalCode externalCode
Id id
status status

 

Table 115: PicklistLabels mapping
SCIM parameter SuccessFactors HR parameter
Id optionId
id_ id

label

label

locale

locale

optionId optionId

 

Table 116: PerEmails mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

createdOn

createdOn

emailAddress

emailAddress

emailType emailType
Id personIdExternal,emailType
isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

NOTE: The PerEmails table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and emailType.

Table 117: EmpJobRelationship mapping
SCIM parameter SuccessFactors HR parameter

Id

base 64 encoded (userId+startDate+relationshipType)

originalId

userId+startDate+relationshipType

relationshipType

relationshipType

userId

userId

relUserId relUserId
startDate startDate
endDate endDate

createdBy

createdBy

lastModifiedBy

lastModifiedBy

meta.LastModified lastModifiedOn
meta.CreatedOn createdOn
  • DELETE operation is supported only by the PerEmails endpoint.

  • Except for PerEmails and PerPhones, CREATE operation is also not supported by any other endpoints.

  • UPDATE operation is supported by two endpoints on selected attributes as listed below:

    • Employees - username, cellPhone, businessPhone, and email

    • PerEmails - emailAddress, emailType.

    • PerPhones - phoneNumber, phoneType, areaCode, countryCode, and isPrimary.

  • If there are multiple records with same 'startDate' coming in at a later point, then it would not be handled since 'startDate' doesn't have a time stamp.

  • 'startDate' is in servertime. Hence, it can't be converted into UTC as the timezone information of the SAP server is unavailable.

  • PerPhones and PerEmails endpoints do not support filters on "id" attribute of SCIM response.

Connector versions and features

The following subsections describe the different connector version(s) and features available with them.

Features available exclusively in SuccessFactors HR v.2.0

Following are the features that are available exclusively in SuccessFactors HR v.2.0:

  • For the Employees object, the Get Employee operation has been modified to get both active and inactive Employees.

    NOTE: To insert only Active Members in One Identity Manager, the synchronization workflow configuration must be modified to have a filter based on status attribute in the insert step.

  • Employees endpoint is enhanced to return the Future Hires of the HR system.

Features available exclusively in SuccessFactors HR v.3.0

Following are the features that are available exclusively in SuccessFactors HR v.3.0:

  • The attributes of all object schemas can be disabled or enabled while configuring the connector based on your requirements.

    NOTE:

    • Mandatory attributes cannot be disabled.
    • For more information about how to disable attributes, see Disabling attributes

  • You can configure custom attributes for the SuccessFactors HR v.3.0 SCIM connector in Starling Connect for all objects.

    NOTE:

  • The connector supports new PerEmails endpoint that allows you to browse and synchronize the data. It also allows you to update and create email records in the PerEmail table.

  • Fetching of future-dated employees/updates can be prevented by enabling the Fetch effective dated records only flag.

Features available exclusively in SuccessFactors HR v4.0

Following are the features that are available exclusively in SuccessFactors HR v.4.0:

  • The naming convention for all the custom attributes has been enhanced that belongs to a navigational object class.

  • Support for UTC date time.

  • Support for multi-level navigational custom attributes.

Features available exclusively in SuccessFactors HR v5.0

  • The Employees endpoint is enhanced to consider lastModified date of both EmpJob and User table.

  • Added a flag 'Separate Effective And FutureDated Employees Endpoints' which when enabled, makes the Employees endpoint to return effective dated employees only and provides a new endpoint 'FutureDatedEmployees' to return future dated records only.

  • Added a flag 'Activate Custom Attributes With Full Name' which when enabled, the naming convention for all the custom attributes will not be prefixed with the navigational attribute names.

  • Support for multi-level navigational custom attributes with the flag "Activate Custom Attributes with full name" ON.

Features available exclusively in SuccessFactors HR v6.0

  • All the features are available which is supported in v.5.0.

  • v.6.0 has no feature change only addition is that it supports OAuth Authentication.

  • For detailed explanation on setting up the OAuth authentication, refer SetUp OAuth.

Features available exclusively in SuccessFactors HR v7.0

  • v.7.0 has consistent names for all resource types in ResourceTypes endpoint as well as in individual resource endpoints.

Features available exclusively in SuccessFactors HR v8.0

  • The FutureDatedEmployees endpoint is modified to return the next effective record.

Features available exclusively in SuccessFactors HR v9.0

  • READ operations on Custom Foundation Objects are supported. (Refer Custom Foundation Objects in Successfactors HR connector)

  • Update operation on Custom attribute supported. (Refer Creating custom editable/upsertable attributes in Successfactors employee central)

    NOTE:Supported under Employees, EmpEmployments and PerPersonals.

  • PickListLables "id" attribute value changes to "optionId,locale".

  • Support for loginMethod attributes with the flag "loginMethod" ON.

  • Two additional attributes employmentStartDate and employmentEndDate are supported in Employees and FutureDatedEmployees. Even though these attributes can have null value in the target, the Starling Connector currently converts null to 0001-01-01T00:00:00.

Features available exclusively in SuccessFactors HR v10.0

  • Positions Endpoint return FutureDated positions using query parameter(?futureDated=true).

  • PerPersonal Endpoint return FutureDated PerPersonal using query parameter(?futureDated=true).

     

  • Supports new endpoints FutureDatedPerPersonals and FutureDatedPositions to handle the PerPersonal and Position records respectively which are having future effective dates.

  • Supports new endpoint EmpJobRelationships.

Features available exclusively in SuccessFactors HR v10.1

  • Added a flag ”Use base 64 encoded id in synchronization” which when enabled, makes all the endpoints to return one new attribute “targetId”.

  • The "id" in the SCIM response will be base 64 encoded.

Features available exclusively in SuccessFactors HR v10.2

  • In v10.2 onwards, the id of all resources (except custom objects) containin single quote (') in the id will be bypassed using another the single quote for correct usage in the SuccessFactors API requests. For example, id "test'd" will be changed as "test''d".

Features available exclusively in SuccessFactors HR v10.3

  • Added EmpGlobalAssignments endpoint, which supports Get EmpGlobalAssignment by Id and Get All        EmpGlobalAssignments.

Support for Filter Condition

SuccessFactorsHR connector supports the filter condition for all the objects (i.e., endpoints). We could apply the filter condition and take the filtered records from SuccessFactorsHR target system.

  • The connector supports filter conditions for all the objects.

  • The connector supports filter condition in all the Versions.

  • Supports only AND, OR, and NOT logical operators.

  • Supports only parenthesis () for grouping the condition.

  • The connector supports only single quotes (‘) with filter condition value (ex: phoneType co '10101')

  • Filter conditions should be applied on those attributes that can be filtered. For more information, refer List of Attributes for Filter Condition.

  • Complex attributes are not supported in the filter condition (example: name, email). Only sub-attributes are supported. (email.value, name.familyName)

  • Filter condition should follow the syntax

    For example: 

    1. <attribute_name><space><operator><space>'<string_value or date_value>'

    2.<attribute_name><space><operators><space><int_value or bool_value>

  • Filter condition values should NOT have single quotes or percentage with the filter condition value example: (userName co 'O'Malley') or (userName co 'O%Malley%')

  • Filter condition is NOT supported by the connector for Custom attributes.

  • Supports the following operators to filter the values with example should apply in OneIM.

    S.No Operators OneIM System filters OneIM Select Objects
    1 eq → equal to phoneType eq '00000' phoneType = '00000'
    2 ne → not equal to phoneType ne '00000' phoneType <> '00000'
    3 co → contains phoneType co '00000' phoneType like '%00000%'
    4 sw → starts with phoneType sw '00000' phoneType like '00000%'
    5 ew → ends with phoneType ew '00000' phoneType like '%00000'
    6 gt → greater than phoneType gt 100 phoneType > 100
    7 lt → less than phoneType lt 100 phoneType < 100
    8 ge → greater than or equal to phoneType ge 500 phoneType >= 500
    9 le → less than or equal to phoneType le 500 phoneType <= 500

Some of the example filter conditions (Should be applied at OneIM):

  • phoneType co '1'

  • phoneType eq '00000'

  • emails.value co 'someone.may' or emails.value co 'test.user'

  • not areaCode co '1' and not ((not countryCode sw '1' or phoneType ew '6') and is Primary eq true)

List of Attributes for Filter Condition

The endpoints exposed by the SuccessFactorsHR connector supports filtering of target system data from One Identity Manager. Here is the detailed list of endpoints with both Filterable and non-filterable attributes, used in filter conditions.

Table 118: Employees
Section Attributes
Table EmpJob
Filterable userId, timezone, department, businessUnit, division, location, costCenter, company, startDate, seqNumber, workingTimeDirective, emplStatus, event, eventReason, endDate, timeTypeProfileCode, timeRecordingVariant, employmentType, workscheduleCode, regularTemp, payScaleGroup, probationPeriodEndDate, payScaleType, managerId, jobCode, createdBy, position, retired, employeeClass, familyRelationshipWithEmployer, isCompetitionClauseActive, standardHours, jobTitle, countryOfCompany, hazard, travelDistance, isSideLineJobAllowed, payScaleArea, holidayCalendarCode, contractType, payGrade, workLocation, workingDaysPerWeek, empRelationship, isFulltimeEmployee, laborProtection, pensionProtection, payScaleLevel, workerCategory

Non filterable

NONE

Table 119: BusinessUnits
Section Attributes
Table FOBusinessUnit
Filterable externalCode, name, description, createdBy, status, createdOn, lastModifiedBy, startDate, endDate, headOfUnit, description_de_DE, name_de_DE, lastModifiedOn

Non filterable

NONE

Table 120: Companies
Section Attributes
Table FOCompany
Filterable externalCode, name, description, currency, createdBy, status, startDate, endDate, defaultLocation, country, standardHours, defaultPayGroup, createdOn, lastModifiedOn

Non filterable

NONE

Table 121: Department
Section Attributes
Table FODepartment
Filterable externalCode, name, description, createdBy, costCenter, headOfUnit, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

NONE

Table 122: Locations
Section Attributes
Table FOLocation
Filterable externalCode, name, createdBy, createdOn, createdDateTime, lastModifiedBy, lastModifiedOn, lastModifiedDateTime, startDate, endDate, status

Non filterable

description, timezone, geozoneFlx, locationGroup, locationGroupFlx, standardHours

Table 123: CostCenters
Section Attributes
Table FOCostCenter
Filterable externalCode, name, description, createdBy, costcenterManager, startDate, endDate, createdOn, lastModifiedBy, parent, status, lastModifiedOn

Non filterable

NONE

Table 124: Divisions
Section Attributes
Table FODivision
Filterable externalCode, name, description, createdBy, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, createdDateTime, headOfUnit, lastModifiedOn

Non filterable

NONE

Table 125: EmpEmployments
Section Attributes
Table EmpEmployment
Filterable personIdExternal, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

firstDateWorked, lastDateWorked
Table 126: EventReasons
Section Attributes
Table FOEventReason
Filterable externalCode, name, status, startDate, lastModifiedBy, createdBy, createdOn, lastModifiedOn

Non filterable

event emplStatus, description
Table 127: JobCodes
Section Attributes
Table JobCode
Filterable externalCode, name, status, description, startDate, endDate, lastModifiedBy, createdBy, createdOn, parentJobCode, supervisorLevel, defaultSupervisorLevel, standardHours, workerCompCode, grade, isFulltimeEmployee, jobFunction, regularTemporary, employeeClass, defaultJobLevel, isRegular, jobLevel, defaultEmployeeClass, lastModifiedOn

Non filterable

NONE
Table 128: PerEmails
Section Attributes
Table PerEmail
Filterable personIdExternal, emailAddress, emailType, lastModifiedDateTime, createdBy, isPrimary, lastModifiedBy, createdDateTime, createdOn, lastModifiedOn

Non filterable

NONE
Table 129: PerPersonals
Section Attributes
Table PerPersonal
Filterable personIdExternal, firstName, lastName, gender, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

preferredName
Table 130: PerPhones
Section Attributes
Table PerPhone
Filterable personIdExternal, phoneNumber, phoneType, createdBy, createdOn, areaCode, countryCode, isPrimary, lastModifiedBy, lastModifiedOn

Non filterable

NONE
Table 131: PicklistLabels
Section Attributes
Table PicklistLabel
Filterable id, locale, label, optionId

Non filterable

NONE
Table 132: PicklistOptions
Section Attributes
Table PicklistOption
Filterable id, status, externalCode

Non filterable

NONE
Table 133: Positions
Section Attributes
Table Position
Filterable code, description, effectiveStartDate, effectiveEndDate, effectiveStatus, standardHours, department, businessUnit, division, location, costCenter, jobTitle, employeeClass, jobCode, company, payGrade, jobLevel, positionTitle, vacant, regularTemporary, createdBy, createdDate, lastModifiedBy, lastModifiedDate, lastModifiedDateTime, externalName_defaultValue

Non filterable

payRange

Configuring changes in One Identity Manager to support filter conditions

  1. Open the Synchronization Editor tool.

  2. Select SCIM connector and the Target system

  3. Navigate to Schema Classes.

  4. Add a new schema class for the perphone.

  5. Add the System filter and Select Object condition. Click Commit to Database.

  6. In PerPhones mappings, edit the Target system schema class with the recently created schema and click Commit to Database.

  7. Run the synchronization.

    The Filter conditions will be created.

Conditions on "Fetch Effective Dated Records Only" & "Separate Effective And Future Dated Employees Endpoints" flags based on different use cases (for version v.5.0 and above)

  • Use Case #1: Get effective or future dated(if effective record does not exist) employee records in the employees endpoint response

    • "Fetch Effective Dated Records Only" - OFF

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #2: Get only effective employee records in the employees endpoint response and no separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #3: Get only effective employee records in the employees endpoint response and get a separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - ON

Connector versions and features

SuccessFactors HR is an integrated human-resources platform. It offers users tools for onboarding, social business, and collaboration along with tools for learning management, performance management, recruiting, applicant tracking, succession planning, talent management, and HR analytics. It is also cloud-based.

Supervisor configuration parameters

To configure the connector, following parameters are required:

  • Connector Name
  • Username (Format: <userId (not the value for username) of the SuccessFactors service account>@<company_id>)
  • Password (needed till v.5.0)
  • SuccessFactors HR instance URL (https://apps.support.sap.com/sap/support/knowledge/public/en/2215682).

  • Private key (v.6.0 onwards)

  • Client Id (v.6.0 onwards)

  • Custom Object Types (v9.0 onwards)

  • Instance DateTime Offset (refer Configuring additional datetime offset in connectors for more details)

  • Minimal Attributes (in v1.0 and v2.0)

    NOTE: The default value is false. When the value is set to true, only the minimal set of attributes for all the objects will be queried from the SuccessFactors HR system.

  • Fetch Effective Dated Records Only (v3.0 onwards)

    NOTE: The default value is false. When the value is set to true, only the effective dated employees will be queried from the SuccessFactorsHR system.

  • Activate Custom Attributes With Full Name (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, then custom attributes would be prefixed with the full name of the navigational attributes.

  • Separate Effective And FutureDated Employees Endpoints (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would be separated into two endpoints - the effective dated and future dated.

  • Retry Server Call

    IMPORTANT:

    • Retry Server Call is used to make a retry request to the SuccessFactorsHR system in-case of failures related with an unreachable instance at a given point in time.

    • By default the value is set to false. The customer can enable it in-case such failures are encountered.

  • loginMethod (v9.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would have loginMethod attribute in the response.

  • Use base 64 encoded id in synchronization (on v10.1)

    NOTE: The default value is false. Set this to true if the id contains special characters and needs the base 64 encoding to support the synchronization.

Table 78: Minimal set of attributes for the objects

SuccessFactors HR

Attributes

BusinessUnit

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Company

externalCode, name, description, status, createdOn, lastModifiedOn

CostCenter

name, description, externalCode, status, startDate, createdOn, lastModifiedOn

Division

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Department name, description, externalCode, status, startDate, createdOn, lastModifiedOn

EmpEmployment

userID, startDate, createdOn, lastModifiedOn

Employee

EmpJob attributes: userId, businessUnit, company, costCenter, createdOn, division, event, eventReason, jobTitle, location, managerId, emplStatus, startDate, jobCode, position

User attributes: dateOfBirth, userId, username, defaultFullName, hireDate, lastModified, status, department, location, firstName, lastName, mi, suffix, email, addressLine1, state, city, zipCode, country, businessPhone, cellPhone

EventReason

externalCode, name, status, event, createdOn, lastModifiedOn

JobCode

externalCode, name, description, status, createdOn, lastModifiedOn

Location externalCode, name, description, status, geozoneFlx, createdOn, lastModifiedOn

PerPersonal

personIdExternal, firstName, lastName, preferredName, createdOn, lastModifiedOn

PerPhone

personIdExternal, phoneNumber, phoneType, createdOn, lastModifiedOn

PicklistLabel

id,externalCode, status

PicklistOption

id,externalCode, status

Position code, description, jobTitle, effectiveStatus, jobCode, businessUnit, company, department, externalName_defaultValue, createdDate, lastModifiedDate

NOTE: For consuming Starling Connect HR connectors (for example, SuccessFactors HR) into the One Identity Manager Synchronization Client, the One Identity Manager CHS module has to be installed and configured. You can download the appropriate CHS module from the One Identity Manager Support site.

Supported objects and operations

Employees

Table 79: Supported operations for Employees

Operation

VERB

Get Employee

GET

Get All Employees with Pagination

GET

Update Employees

PUT

Companies

Table 80: Supported operations for Companies

Operation

VERB

Get Company GET

Get All Company With Pagination

GET

BusinessUnits

Table 81: Supported operations for BusinessUnits

Operation

VERB

Get BusinessUnit GET

Get All Business Units with Pagination

GET

Departments

Table 82: Supported operations for Departments

Operation

VERB

Get Department GET

Get All Departments with Pagination

GET

Locations

Table 83: Supported operations for Locations

Operation

VERB

Get Location GET

Get All Locations with Pagination

GET

Divisions

Table 84: Supported operations for Divisions

Operation

VERB

Get Division GET

Get All Division With Pagination

GET

CostCenters

Table 85: Supported operations for CostCenters

Operation

VERB

Get CostCenter GET

Get All CostCenter with Pagination

GET

JobCodes

Table 86: Supported operations for JobCodes

Operation

VERB

Get JobCode GET
Get All JobCodeWith Pagination GET

Positions

Table 87: Supported operations for Positions

Operation

VERB

Get Position GET
Get All Position With Pagination GET

EmpEmployments

Table 88: Supported operations for EmpEmployments

Operation

VERB

Get EmpEmployment GET
Get All EmpEmployment With Pagination GET

PerPersonals

Table 89: Supported operations for PerPersonals

Operation

VERB

Get PerPersonal GET
Get All PerPersonal With Pagination GET

PerPhones

Table 90: Supported operations for PerPhones

Operation

VERB

Get PerPhone GET
Get All PerPhone With Pagination GET

Create PerPhone

POST

Update PerPhone

PUT

EventReasons

Table 91: Supported operations for EventReasons

Operation

VERB

Get EventReason GET
Get All EventReason With Pagination GET

PicklistLabels

Table 92: Supported operations for PicklistLabels

Operation

VERB

Get PicklistLabel GET
Get All PicklistLabel With Pagination GET

PerEmails

Table 93: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

PerEmails

Table 94: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

FutureDatedEmployees (in v5.0 and above)

Table 95: Supported operations for FutureDatedEmployees

Operation

VERB

Get Employees GET
Get All Employees with Pagination GET

Update Employees

PUT

EmpJobRelationship (in v10.0 and above)

Table 96: Supported operations for EmpJobRelationship

Operation

VERB

Get EmpJobRelationship GET
Get EmpJobRelationship With Pagination GET

Mandatory Fields

This section lists the mandatory fields required to CREATE/UPDATE, Employees, PerEmails, PerPhones, and FutureDatedEmployees:

Employee

  • userId
  • username

PerEmail

  • personIdExternal

  • emailType

PerPhone

  • personIdExternal

  • phoneType

  • phoneNumber

FutureDatedEmployees

  • userId

  • username

NOTE: Employees and FutureDatedEmployees endpoints support UPDATE operation only.

Mappings

Endpoints mapping

Table 97: Target system objects mapping
SCIM endpoints Target system objects
Employees EmpJob
BusinessUnits FOBusinessUnit
Departments FODepartment
CostCenters FOCostCenter
Locations FOLocation

Divisions

Divisions

Companies

FOCompany

JobCodes

FOJobCode

Positions

Position

EmpEmployments

EmpEmployment

PerPersonals

PerPersonal

PerPhones

PerPhone

PicklistLabels

PicklistLabel

PicklistOptions

PicklistOption

PerEmails

PerEmail

EventReasons

EventReason

Attributes mapping

Different mappings associated with this connector are listed in the tables below.

Table 98: Employee mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

FutureDatedEmployees

EmpJob

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

loginMethod

userNav/loginMethod

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 99: FutureDatedEmployees mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 100: Departments mapping
SCIM parameter SuccessFactors HR parameter
costCenter costCenter
createdBy createdBy

createdOn

createdOn

description description

endDate

endDate

externalCode externalCode
headOfUnit headOfUnit
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

parent

parent

startDate

startDate

status

status

Table 101: Locations mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

description description

endDate

endDate

externalCode externalCode
geozoneFlx geozoneFlx
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

locationGroup locationGroup
locationGroupFlx locationGroupFlx

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

standardHours

standardHours

startDate

startDate

status

status

timezone timezone
Table 102: BusinessUnits mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdOn

createdOn

description description

description_de_DE

description_de_DE

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

name_de_DE

name_de_DE

startDate startDate
status status
Table 103: Custom object type mapping
SCIM parameter SuccessFactors HR parameter
Id Base 64 encoded Composite Key or Simple Key of the object

Meta.Created

createdDateTime

meta.lastModified lastModifiedDateTime
All other non-navigational attribute will have same names at both sides
Table 104: Mapping for V10.1
SCIM parameter SuccessFactors HR parameter
Id Base64encoded(id)
targetId

id

NOTE: Applicable for all object types.

Table 105: Divisions mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdDateTime

createdDateTime

createdOn createdOn
description description

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime lastModifiedDateTime
lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name
parent parent
startDate startDate
status status

 

Table 106: CostCenters mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
createdBy createdBy
externalCode externalCode

costcenterManager

costcenterManager

status status
startDate startDate

endDate

endDate

parent parent
lastModifiedOn lastModifiedOn
createdOn createdOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

 

Table 107: Companies mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

defaultLocation defaultLocation
country country
standardHours standardHours
defaultPayGroup defaultPayGroup
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 108: JobCodes mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

lastModifiedOn lastModifiedOn
lastModifiedBy lastModifiedBy
createdBy createdBy
createdOn createdOn

parentJobCode

parentJobCode

supervisorLevel

supervisorLevel

defaultSupervisorLevel

defaultSupervisorLevel

standardHours

standardHours

workerCompCode

workerCompCode

grade

grade

isFulltimeEmployee

isFulltimeEmployee

jobFunction

jobFunction

regularTemporary

regularTemporary

employeeClass

employeeClass

defaultJobLevel

defaultJobLevel

isRegular

isRegular

jobLevel

jobLevel

defaultEmployeeClass

defaultEmployeeClass

Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 109: Positions mapping
SCIM parameter SuccessFactors HR parameter
Id code
code code
description description
effectiveStartDate effectiveStartDate
effectiveEndDate effectiveEndDate
effectiveStatus effectiveStatus
standardHours standardHours
department department
businessUnit businessUnit
division division
location location
costCenter costCenter
createdBy createdBy
jobTitle jobTitle
employeeClass employeeClass
jobCode jobCode
company company
payGrade payGrade
comment comment
createdDate createdDate
jobLevel jobLevel
lastModifiedBy lastModifiedBy
lastModifiedDate lastModifiedDate
positionTitle positionTitle
vacant vacant
regularTemporary regularTemporary

payRange

payRange

Meta.LastModified lastModifiedDate

Meta.Created

createdDate

lastModifiedDateTime

lastModifiedDateTime

NOTE: Disable the lastModifiedDate or lastModifiedDateTime attribute based on the availability in the instance. Disabling both at the same time may introduce performance issues.

 

Table 110: EmpEmployments mapping
SCIM parameter SuccessFactors HR parameter
Id userId
userId userId
personIdExternal personIdExternal
startDate startDate
createdBy createdBy
createdOn createdOn
firstDateWorked firstDateWorked
lastDateWorked lastDateWorked
lastModifiedBy lastModifiedBy
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

Table 111: PerPersonals mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy
createdOn createdOn

emails[].displayName

personNav/emailNav/result[].emailAddress

emails[].emailType

personNav/emailNav/result[].emailType

emails[].primary

personNav/emailNav/result[].isPrimary

emails[].value

personNav/emailNav/result[].personIdExternal,personNav/emailNav/result[].emailType

firstName firstName
gender gender
Id personIdExternal

lastModifiedBy

lastModifiedBy

lastName lastName

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

preferredName

preferredName

startDate startDate
Table 112: PerPhones mapping
SCIM parameter SuccessFactors HR parameter
areaCode areaCode
countryCode countryCode
createdBy createdBy
createdOn createdOn

Id

personIdExternal,phoneType

isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal
phoneNumber phoneNumber
phoneType phoneType
NOTE: The PerPhones table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and phoneType.
Table 113: EventReasons mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
externalCode externalCode
name name
status status
event_ event_
emplStatus emplStatus
description description
startDate startDate
createdOn createdOn
createdBy createdBy
lastModifiedOn lastModifiedOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

Table 114: PicklistOptions mapping
SCIM parameter SuccessFactors HR parameter
externalCode externalCode
Id id
status status

 

Table 115: PicklistLabels mapping
SCIM parameter SuccessFactors HR parameter
Id optionId
id_ id

label

label

locale

locale

optionId optionId

 

Table 116: PerEmails mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

createdOn

createdOn

emailAddress

emailAddress

emailType emailType
Id personIdExternal,emailType
isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

NOTE: The PerEmails table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and emailType.

Table 117: EmpJobRelationship mapping
SCIM parameter SuccessFactors HR parameter

Id

base 64 encoded (userId+startDate+relationshipType)

originalId

userId+startDate+relationshipType

relationshipType

relationshipType

userId

userId

relUserId relUserId
startDate startDate
endDate endDate

createdBy

createdBy

lastModifiedBy

lastModifiedBy

meta.LastModified lastModifiedOn
meta.CreatedOn createdOn

Connector limitations

  • DELETE operation is supported only by the PerEmails endpoint.

  • Except for PerEmails and PerPhones, CREATE operation is also not supported by any other endpoints.

  • UPDATE operation is supported by two endpoints on selected attributes as listed below:

    • Employees - username, cellPhone, businessPhone, and email

    • PerEmails - emailAddress, emailType.

    • PerPhones - phoneNumber, phoneType, areaCode, countryCode, and isPrimary.

  • If there are multiple records with same 'startDate' coming in at a later point, then it would not be handled since 'startDate' doesn't have a time stamp.

  • 'startDate' is in servertime. Hence, it can't be converted into UTC as the timezone information of the SAP server is unavailable.

  • PerPhones and PerEmails endpoints do not support filters on "id" attribute of SCIM response.

The following subsections describe the different connector version(s) and features available with them.

Features available exclusively in SuccessFactors HR v.2.0

Following are the features that are available exclusively in SuccessFactors HR v.2.0:

  • For the Employees object, the Get Employee operation has been modified to get both active and inactive Employees.

    NOTE: To insert only Active Members in One Identity Manager, the synchronization workflow configuration must be modified to have a filter based on status attribute in the insert step.

  • Employees endpoint is enhanced to return the Future Hires of the HR system.

Features available exclusively in SuccessFactors HR v.3.0

Following are the features that are available exclusively in SuccessFactors HR v.3.0:

  • The attributes of all object schemas can be disabled or enabled while configuring the connector based on your requirements.

    NOTE:

    • Mandatory attributes cannot be disabled.
    • For more information about how to disable attributes, see Disabling attributes

  • You can configure custom attributes for the SuccessFactors HR v.3.0 SCIM connector in Starling Connect for all objects.

    NOTE:

  • The connector supports new PerEmails endpoint that allows you to browse and synchronize the data. It also allows you to update and create email records in the PerEmail table.

  • Fetching of future-dated employees/updates can be prevented by enabling the Fetch effective dated records only flag.

Features available exclusively in SuccessFactors HR v4.0

Following are the features that are available exclusively in SuccessFactors HR v.4.0:

  • The naming convention for all the custom attributes has been enhanced that belongs to a navigational object class.

  • Support for UTC date time.

  • Support for multi-level navigational custom attributes.

Features available exclusively in SuccessFactors HR v5.0

  • The Employees endpoint is enhanced to consider lastModified date of both EmpJob and User table.

  • Added a flag 'Separate Effective And FutureDated Employees Endpoints' which when enabled, makes the Employees endpoint to return effective dated employees only and provides a new endpoint 'FutureDatedEmployees' to return future dated records only.

  • Added a flag 'Activate Custom Attributes With Full Name' which when enabled, the naming convention for all the custom attributes will not be prefixed with the navigational attribute names.

  • Support for multi-level navigational custom attributes with the flag "Activate Custom Attributes with full name" ON.

Features available exclusively in SuccessFactors HR v6.0

  • All the features are available which is supported in v.5.0.

  • v.6.0 has no feature change only addition is that it supports OAuth Authentication.

  • For detailed explanation on setting up the OAuth authentication, refer SetUp OAuth.

Features available exclusively in SuccessFactors HR v7.0

  • v.7.0 has consistent names for all resource types in ResourceTypes endpoint as well as in individual resource endpoints.

Features available exclusively in SuccessFactors HR v8.0

  • The FutureDatedEmployees endpoint is modified to return the next effective record.

Features available exclusively in SuccessFactors HR v9.0

  • READ operations on Custom Foundation Objects are supported. (Refer Custom Foundation Objects in Successfactors HR connector)

  • Update operation on Custom attribute supported. (Refer Creating custom editable/upsertable attributes in Successfactors employee central)

    NOTE:Supported under Employees, EmpEmployments and PerPersonals.

  • PickListLables "id" attribute value changes to "optionId,locale".

  • Support for loginMethod attributes with the flag "loginMethod" ON.

  • Two additional attributes employmentStartDate and employmentEndDate are supported in Employees and FutureDatedEmployees. Even though these attributes can have null value in the target, the Starling Connector currently converts null to 0001-01-01T00:00:00.

Features available exclusively in SuccessFactors HR v10.0

  • Positions Endpoint return FutureDated positions using query parameter(?futureDated=true).

  • PerPersonal Endpoint return FutureDated PerPersonal using query parameter(?futureDated=true).

     

  • Supports new endpoints FutureDatedPerPersonals and FutureDatedPositions to handle the PerPersonal and Position records respectively which are having future effective dates.

  • Supports new endpoint EmpJobRelationships.

Features available exclusively in SuccessFactors HR v10.1

  • Added a flag ”Use base 64 encoded id in synchronization” which when enabled, makes all the endpoints to return one new attribute “targetId”.

  • The "id" in the SCIM response will be base 64 encoded.

Features available exclusively in SuccessFactors HR v10.2

  • In v10.2 onwards, the id of all resources (except custom objects) containin single quote (') in the id will be bypassed using another the single quote for correct usage in the SuccessFactors API requests. For example, id "test'd" will be changed as "test''d".

Features available exclusively in SuccessFactors HR v10.3

  • Added EmpGlobalAssignments endpoint, which supports Get EmpGlobalAssignment by Id and Get All        EmpGlobalAssignments.

Support for Filter Condition

SuccessFactorsHR connector supports the filter condition for all the objects (i.e., endpoints). We could apply the filter condition and take the filtered records from SuccessFactorsHR target system.

  • The connector supports filter conditions for all the objects.

  • The connector supports filter condition in all the Versions.

  • Supports only AND, OR, and NOT logical operators.

  • Supports only parenthesis () for grouping the condition.

  • The connector supports only single quotes (‘) with filter condition value (ex: phoneType co '10101')

  • Filter conditions should be applied on those attributes that can be filtered. For more information, refer List of Attributes for Filter Condition.

  • Complex attributes are not supported in the filter condition (example: name, email). Only sub-attributes are supported. (email.value, name.familyName)

  • Filter condition should follow the syntax

    For example: 

    1. <attribute_name><space><operator><space>'<string_value or date_value>'

    2.<attribute_name><space><operators><space><int_value or bool_value>

  • Filter condition values should NOT have single quotes or percentage with the filter condition value example: (userName co 'O'Malley') or (userName co 'O%Malley%')

  • Filter condition is NOT supported by the connector for Custom attributes.

  • Supports the following operators to filter the values with example should apply in OneIM.

    S.No Operators OneIM System filters OneIM Select Objects
    1 eq → equal to phoneType eq '00000' phoneType = '00000'
    2 ne → not equal to phoneType ne '00000' phoneType <> '00000'
    3 co → contains phoneType co '00000' phoneType like '%00000%'
    4 sw → starts with phoneType sw '00000' phoneType like '00000%'
    5 ew → ends with phoneType ew '00000' phoneType like '%00000'
    6 gt → greater than phoneType gt 100 phoneType > 100
    7 lt → less than phoneType lt 100 phoneType < 100
    8 ge → greater than or equal to phoneType ge 500 phoneType >= 500
    9 le → less than or equal to phoneType le 500 phoneType <= 500

Some of the example filter conditions (Should be applied at OneIM):

  • phoneType co '1'

  • phoneType eq '00000'

  • emails.value co 'someone.may' or emails.value co 'test.user'

  • not areaCode co '1' and not ((not countryCode sw '1' or phoneType ew '6') and is Primary eq true)

List of Attributes for Filter Condition

The endpoints exposed by the SuccessFactorsHR connector supports filtering of target system data from One Identity Manager. Here is the detailed list of endpoints with both Filterable and non-filterable attributes, used in filter conditions.

Table 118: Employees
Section Attributes
Table EmpJob
Filterable userId, timezone, department, businessUnit, division, location, costCenter, company, startDate, seqNumber, workingTimeDirective, emplStatus, event, eventReason, endDate, timeTypeProfileCode, timeRecordingVariant, employmentType, workscheduleCode, regularTemp, payScaleGroup, probationPeriodEndDate, payScaleType, managerId, jobCode, createdBy, position, retired, employeeClass, familyRelationshipWithEmployer, isCompetitionClauseActive, standardHours, jobTitle, countryOfCompany, hazard, travelDistance, isSideLineJobAllowed, payScaleArea, holidayCalendarCode, contractType, payGrade, workLocation, workingDaysPerWeek, empRelationship, isFulltimeEmployee, laborProtection, pensionProtection, payScaleLevel, workerCategory

Non filterable

NONE

Table 119: BusinessUnits
Section Attributes
Table FOBusinessUnit
Filterable externalCode, name, description, createdBy, status, createdOn, lastModifiedBy, startDate, endDate, headOfUnit, description_de_DE, name_de_DE, lastModifiedOn

Non filterable

NONE

Table 120: Companies
Section Attributes
Table FOCompany
Filterable externalCode, name, description, currency, createdBy, status, startDate, endDate, defaultLocation, country, standardHours, defaultPayGroup, createdOn, lastModifiedOn

Non filterable

NONE

Table 121: Department
Section Attributes
Table FODepartment
Filterable externalCode, name, description, createdBy, costCenter, headOfUnit, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

NONE

Table 122: Locations
Section Attributes
Table FOLocation
Filterable externalCode, name, createdBy, createdOn, createdDateTime, lastModifiedBy, lastModifiedOn, lastModifiedDateTime, startDate, endDate, status

Non filterable

description, timezone, geozoneFlx, locationGroup, locationGroupFlx, standardHours

Table 123: CostCenters
Section Attributes
Table FOCostCenter
Filterable externalCode, name, description, createdBy, costcenterManager, startDate, endDate, createdOn, lastModifiedBy, parent, status, lastModifiedOn

Non filterable

NONE

Table 124: Divisions
Section Attributes
Table FODivision
Filterable externalCode, name, description, createdBy, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, createdDateTime, headOfUnit, lastModifiedOn

Non filterable

NONE

Table 125: EmpEmployments
Section Attributes
Table EmpEmployment
Filterable personIdExternal, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

firstDateWorked, lastDateWorked
Table 126: EventReasons
Section Attributes
Table FOEventReason
Filterable externalCode, name, status, startDate, lastModifiedBy, createdBy, createdOn, lastModifiedOn

Non filterable

event emplStatus, description
Table 127: JobCodes
Section Attributes
Table JobCode
Filterable externalCode, name, status, description, startDate, endDate, lastModifiedBy, createdBy, createdOn, parentJobCode, supervisorLevel, defaultSupervisorLevel, standardHours, workerCompCode, grade, isFulltimeEmployee, jobFunction, regularTemporary, employeeClass, defaultJobLevel, isRegular, jobLevel, defaultEmployeeClass, lastModifiedOn

Non filterable

NONE
Table 128: PerEmails
Section Attributes
Table PerEmail
Filterable personIdExternal, emailAddress, emailType, lastModifiedDateTime, createdBy, isPrimary, lastModifiedBy, createdDateTime, createdOn, lastModifiedOn

Non filterable

NONE
Table 129: PerPersonals
Section Attributes
Table PerPersonal
Filterable personIdExternal, firstName, lastName, gender, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

preferredName
Table 130: PerPhones
Section Attributes
Table PerPhone
Filterable personIdExternal, phoneNumber, phoneType, createdBy, createdOn, areaCode, countryCode, isPrimary, lastModifiedBy, lastModifiedOn

Non filterable

NONE
Table 131: PicklistLabels
Section Attributes
Table PicklistLabel
Filterable id, locale, label, optionId

Non filterable

NONE
Table 132: PicklistOptions
Section Attributes
Table PicklistOption
Filterable id, status, externalCode

Non filterable

NONE
Table 133: Positions
Section Attributes
Table Position
Filterable code, description, effectiveStartDate, effectiveEndDate, effectiveStatus, standardHours, department, businessUnit, division, location, costCenter, jobTitle, employeeClass, jobCode, company, payGrade, jobLevel, positionTitle, vacant, regularTemporary, createdBy, createdDate, lastModifiedBy, lastModifiedDate, lastModifiedDateTime, externalName_defaultValue

Non filterable

payRange

Configuring changes in One Identity Manager to support filter conditions

  1. Open the Synchronization Editor tool.

  2. Select SCIM connector and the Target system

  3. Navigate to Schema Classes.

  4. Add a new schema class for the perphone.

  5. Add the System filter and Select Object condition. Click Commit to Database.

  6. In PerPhones mappings, edit the Target system schema class with the recently created schema and click Commit to Database.

  7. Run the synchronization.

    The Filter conditions will be created.

Conditions on "Fetch Effective Dated Records Only" & "Separate Effective And Future Dated Employees Endpoints" flags based on different use cases (for version v.5.0 and above)

  • Use Case #1: Get effective or future dated(if effective record does not exist) employee records in the employees endpoint response

    • "Fetch Effective Dated Records Only" - OFF

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #2: Get only effective employee records in the employees endpoint response and no separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #3: Get only effective employee records in the employees endpoint response and get a separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - ON

Support for Filter Condition

SuccessFactors HR is an integrated human-resources platform. It offers users tools for onboarding, social business, and collaboration along with tools for learning management, performance management, recruiting, applicant tracking, succession planning, talent management, and HR analytics. It is also cloud-based.

Supervisor configuration parameters

To configure the connector, following parameters are required:

  • Connector Name
  • Username (Format: <userId (not the value for username) of the SuccessFactors service account>@<company_id>)
  • Password (needed till v.5.0)
  • SuccessFactors HR instance URL (https://apps.support.sap.com/sap/support/knowledge/public/en/2215682).

  • Private key (v.6.0 onwards)

  • Client Id (v.6.0 onwards)

  • Custom Object Types (v9.0 onwards)

  • Instance DateTime Offset (refer Configuring additional datetime offset in connectors for more details)

  • Minimal Attributes (in v1.0 and v2.0)

    NOTE: The default value is false. When the value is set to true, only the minimal set of attributes for all the objects will be queried from the SuccessFactors HR system.

  • Fetch Effective Dated Records Only (v3.0 onwards)

    NOTE: The default value is false. When the value is set to true, only the effective dated employees will be queried from the SuccessFactorsHR system.

  • Activate Custom Attributes With Full Name (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, then custom attributes would be prefixed with the full name of the navigational attributes.

  • Separate Effective And FutureDated Employees Endpoints (v5.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would be separated into two endpoints - the effective dated and future dated.

  • Retry Server Call

    IMPORTANT:

    • Retry Server Call is used to make a retry request to the SuccessFactorsHR system in-case of failures related with an unreachable instance at a given point in time.

    • By default the value is set to false. The customer can enable it in-case such failures are encountered.

  • loginMethod (v9.0 onwards)

    NOTE: The default value is false. When the value is set to true, the employees would have loginMethod attribute in the response.

  • Use base 64 encoded id in synchronization (on v10.1)

    NOTE: The default value is false. Set this to true if the id contains special characters and needs the base 64 encoding to support the synchronization.

Table 78: Minimal set of attributes for the objects

SuccessFactors HR

Attributes

BusinessUnit

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Company

externalCode, name, description, status, createdOn, lastModifiedOn

CostCenter

name, description, externalCode, status, startDate, createdOn, lastModifiedOn

Division

externalCode, name, description, status, startDate, createdOn, lastModifiedOn

Department name, description, externalCode, status, startDate, createdOn, lastModifiedOn

EmpEmployment

userID, startDate, createdOn, lastModifiedOn

Employee

EmpJob attributes: userId, businessUnit, company, costCenter, createdOn, division, event, eventReason, jobTitle, location, managerId, emplStatus, startDate, jobCode, position

User attributes: dateOfBirth, userId, username, defaultFullName, hireDate, lastModified, status, department, location, firstName, lastName, mi, suffix, email, addressLine1, state, city, zipCode, country, businessPhone, cellPhone

EventReason

externalCode, name, status, event, createdOn, lastModifiedOn

JobCode

externalCode, name, description, status, createdOn, lastModifiedOn

Location externalCode, name, description, status, geozoneFlx, createdOn, lastModifiedOn

PerPersonal

personIdExternal, firstName, lastName, preferredName, createdOn, lastModifiedOn

PerPhone

personIdExternal, phoneNumber, phoneType, createdOn, lastModifiedOn

PicklistLabel

id,externalCode, status

PicklistOption

id,externalCode, status

Position code, description, jobTitle, effectiveStatus, jobCode, businessUnit, company, department, externalName_defaultValue, createdDate, lastModifiedDate

NOTE: For consuming Starling Connect HR connectors (for example, SuccessFactors HR) into the One Identity Manager Synchronization Client, the One Identity Manager CHS module has to be installed and configured. You can download the appropriate CHS module from the One Identity Manager Support site.

Supported objects and operations

Employees

Table 79: Supported operations for Employees

Operation

VERB

Get Employee

GET

Get All Employees with Pagination

GET

Update Employees

PUT

Companies

Table 80: Supported operations for Companies

Operation

VERB

Get Company GET

Get All Company With Pagination

GET

BusinessUnits

Table 81: Supported operations for BusinessUnits

Operation

VERB

Get BusinessUnit GET

Get All Business Units with Pagination

GET

Departments

Table 82: Supported operations for Departments

Operation

VERB

Get Department GET

Get All Departments with Pagination

GET

Locations

Table 83: Supported operations for Locations

Operation

VERB

Get Location GET

Get All Locations with Pagination

GET

Divisions

Table 84: Supported operations for Divisions

Operation

VERB

Get Division GET

Get All Division With Pagination

GET

CostCenters

Table 85: Supported operations for CostCenters

Operation

VERB

Get CostCenter GET

Get All CostCenter with Pagination

GET

JobCodes

Table 86: Supported operations for JobCodes

Operation

VERB

Get JobCode GET
Get All JobCodeWith Pagination GET

Positions

Table 87: Supported operations for Positions

Operation

VERB

Get Position GET
Get All Position With Pagination GET

EmpEmployments

Table 88: Supported operations for EmpEmployments

Operation

VERB

Get EmpEmployment GET
Get All EmpEmployment With Pagination GET

PerPersonals

Table 89: Supported operations for PerPersonals

Operation

VERB

Get PerPersonal GET
Get All PerPersonal With Pagination GET

PerPhones

Table 90: Supported operations for PerPhones

Operation

VERB

Get PerPhone GET
Get All PerPhone With Pagination GET

Create PerPhone

POST

Update PerPhone

PUT

EventReasons

Table 91: Supported operations for EventReasons

Operation

VERB

Get EventReason GET
Get All EventReason With Pagination GET

PicklistLabels

Table 92: Supported operations for PicklistLabels

Operation

VERB

Get PicklistLabel GET
Get All PicklistLabel With Pagination GET

PerEmails

Table 93: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

PerEmails

Table 94: Supported operations for PerEmails

Operation

VERB

Get PerEmail GET
Get All PerEmails With Pagination GET

Update PerEmail

PUT

Create PerEmail

POST

Delete PerEmail

DELETE

FutureDatedEmployees (in v5.0 and above)

Table 95: Supported operations for FutureDatedEmployees

Operation

VERB

Get Employees GET
Get All Employees with Pagination GET

Update Employees

PUT

EmpJobRelationship (in v10.0 and above)

Table 96: Supported operations for EmpJobRelationship

Operation

VERB

Get EmpJobRelationship GET
Get EmpJobRelationship With Pagination GET

Mandatory Fields

This section lists the mandatory fields required to CREATE/UPDATE, Employees, PerEmails, PerPhones, and FutureDatedEmployees:

Employee

  • userId
  • username

PerEmail

  • personIdExternal

  • emailType

PerPhone

  • personIdExternal

  • phoneType

  • phoneNumber

FutureDatedEmployees

  • userId

  • username

NOTE: Employees and FutureDatedEmployees endpoints support UPDATE operation only.

Mappings

Endpoints mapping

Table 97: Target system objects mapping
SCIM endpoints Target system objects
Employees EmpJob
BusinessUnits FOBusinessUnit
Departments FODepartment
CostCenters FOCostCenter
Locations FOLocation

Divisions

Divisions

Companies

FOCompany

JobCodes

FOJobCode

Positions

Position

EmpEmployments

EmpEmployment

PerPersonals

PerPersonal

PerPhones

PerPhone

PicklistLabels

PicklistLabel

PicklistOptions

PicklistOption

PerEmails

PerEmail

EventReasons

EventReason

Attributes mapping

Different mappings associated with this connector are listed in the tables below.

Table 98: Employee mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

FutureDatedEmployees

EmpJob

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

loginMethod

userNav/loginMethod

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 99: FutureDatedEmployees mapping
SCIM parameter SuccessFactors HR parameter
Addresses.Country userNav/country
Addresses.Locality userNav/state
Addresses.PostalCode userNav/zipCode
Addresses.Region userNav/city
Addresses.StreetAddress userNav/addressLine1
businessUnit businessUnit

company

company

contractType

contractType

costCenter

costCenter

countryOfCompany

countryOfCompany

createdBy

createdBy

dateOfBirth

userNav/dateOfBirth

department department
DisplayName userNav/defaultFullName
division division
Emails[0].Value userNav/email

employeeClass

employeeClass

employmentType

employmentType

emplStatus

emplStatus

empRelationship

empRelationship

endDate

endDate

event_

event_

eventReason

eventReason

familyRelationshipWithEmployer

familyRelationshipWithEmployer

hazard

hazard

holidayCalendarCode

holidayCalendarCode

Id id

isCompetitionClauseActive

isCompetitionClauseActive

isFulltimeEmployee

isFulltimeEmployee

isSideLineJobAllowed

isSideLineJobAllowed

jobCode

jobCode

jobTitle

jobTitle

laborProtection

laborProtection

location

location

managerId

managerId

matrixManagers[].displayName

userNav/matrixManager[].defaultFullName

matrixManagers[].value

userNav/matrixManager[].userId

Meta.Created

createdOn

Meta.LastModified userNav/lastModified
Name.Familyname userNav/lastName
Name.Formatted userNav/defaultFullName
Name.GivenName userNav/firstName
Name.HonorificSuffix userNav/suffix
Name.MiddleName userNav/mi

NickName

userNav/nickname

payGrade

payGrade

payScaleArea

payScaleArea

payScaleGroup

payScaleGroup

payScaleLevel

payScaleLevel

payScaleType

payScaleType

PersonIdExternal

employmentNav/personIdExternal

PhoneNumbers.businessPhone userNav/businessPhone
PhoneNumbers.cellPhone userNav/cellPhone

position

position

probationPeriodEndDate

probationPeriodEndDate

regularTemp

regularTemp

retired

retired

seqNumber

seqNumber

standardHours

standardHours

startDate

startDate

status

status

timeRecordingVariant

timeRecordingVariant

timeTypeProfileCode

timeTypeProfileCode

timezone

timezone

travelDistance

travelDistance

userId userId
UserName userNav /username

workerCategory

workerCategory

workingDaysPerWeek

workingDaysPerWeek

workingTimeDirective

workingTimeDirective

workLocation

workLocation

workscheduleCode

workscheduleCode

isPrimaryAssignment

userNav/isPrimaryAssignment

isContingentWorker

employmentNav/isContingentWorker

Additional mapping of Employees from version 9 onwards

employmentStartDate

employmentNav/startDate

employmentEndDate

employmentNav/endDate

Table 100: Departments mapping
SCIM parameter SuccessFactors HR parameter
costCenter costCenter
createdBy createdBy

createdOn

createdOn

description description

endDate

endDate

externalCode externalCode
headOfUnit headOfUnit
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

parent

parent

startDate

startDate

status

status

Table 101: Locations mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

description description

endDate

endDate

externalCode externalCode
geozoneFlx geozoneFlx
Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

locationGroup locationGroup
locationGroupFlx locationGroupFlx

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

standardHours

standardHours

startDate

startDate

status

status

timezone timezone
Table 102: BusinessUnits mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdOn

createdOn

description description

description_de_DE

description_de_DE

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedOn

lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name

name_de_DE

name_de_DE

startDate startDate
status status
Table 103: Custom object type mapping
SCIM parameter SuccessFactors HR parameter
Id Base 64 encoded Composite Key or Simple Key of the object

Meta.Created

createdDateTime

meta.lastModified lastModifiedDateTime
All other non-navigational attribute will have same names at both sides
Table 104: Mapping for V10.1
SCIM parameter SuccessFactors HR parameter
Id Base64encoded(id)
targetId

id

NOTE: Applicable for all object types.

Table 105: Divisions mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy

createdDateTime

createdDateTime

createdOn createdOn
description description

endDate

endDate

externalCode externalCode

headOfUnit

headOfUnit

Id externalCode

lastModifiedBy

lastModifiedBy

lastModifiedDateTime lastModifiedDateTime
lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
name name
parent parent
startDate startDate
status status

 

Table 106: CostCenters mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
createdBy createdBy
externalCode externalCode

costcenterManager

costcenterManager

status status
startDate startDate

endDate

endDate

parent parent
lastModifiedOn lastModifiedOn
createdOn createdOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

 

Table 107: Companies mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

defaultLocation defaultLocation
country country
standardHours standardHours
defaultPayGroup defaultPayGroup
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 108: JobCodes mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
name name
description description
externalCode externalCode
status status
startDate startDate

endDate

endDate

lastModifiedOn lastModifiedOn
lastModifiedBy lastModifiedBy
createdBy createdBy
createdOn createdOn

parentJobCode

parentJobCode

supervisorLevel

supervisorLevel

defaultSupervisorLevel

defaultSupervisorLevel

standardHours

standardHours

workerCompCode

workerCompCode

grade

grade

isFulltimeEmployee

isFulltimeEmployee

jobFunction

jobFunction

regularTemporary

regularTemporary

employeeClass

employeeClass

defaultJobLevel

defaultJobLevel

isRegular

isRegular

jobLevel

jobLevel

defaultEmployeeClass

defaultEmployeeClass

Meta.LastModified lastModifiedOn

Meta.Created

createdOn

 

Table 109: Positions mapping
SCIM parameter SuccessFactors HR parameter
Id code
code code
description description
effectiveStartDate effectiveStartDate
effectiveEndDate effectiveEndDate
effectiveStatus effectiveStatus
standardHours standardHours
department department
businessUnit businessUnit
division division
location location
costCenter costCenter
createdBy createdBy
jobTitle jobTitle
employeeClass employeeClass
jobCode jobCode
company company
payGrade payGrade
comment comment
createdDate createdDate
jobLevel jobLevel
lastModifiedBy lastModifiedBy
lastModifiedDate lastModifiedDate
positionTitle positionTitle
vacant vacant
regularTemporary regularTemporary

payRange

payRange

Meta.LastModified lastModifiedDate

Meta.Created

createdDate

lastModifiedDateTime

lastModifiedDateTime

NOTE: Disable the lastModifiedDate or lastModifiedDateTime attribute based on the availability in the instance. Disabling both at the same time may introduce performance issues.

 

Table 110: EmpEmployments mapping
SCIM parameter SuccessFactors HR parameter
Id userId
userId userId
personIdExternal personIdExternal
startDate startDate
createdBy createdBy
createdOn createdOn
firstDateWorked firstDateWorked
lastDateWorked lastDateWorked
lastModifiedBy lastModifiedBy
Meta.LastModified lastModifiedOn

Meta.Created

createdOn

Table 111: PerPersonals mapping
SCIM parameter SuccessFactors HR parameter
createdBy createdBy
createdOn createdOn

emails[].displayName

personNav/emailNav/result[].emailAddress

emails[].emailType

personNav/emailNav/result[].emailType

emails[].primary

personNav/emailNav/result[].isPrimary

emails[].value

personNav/emailNav/result[].personIdExternal,personNav/emailNav/result[].emailType

firstName firstName
gender gender
Id personIdExternal

lastModifiedBy

lastModifiedBy

lastName lastName

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

preferredName

preferredName

startDate startDate
Table 112: PerPhones mapping
SCIM parameter SuccessFactors HR parameter
areaCode areaCode
countryCode countryCode
createdBy createdBy
createdOn createdOn

Id

personIdExternal,phoneType

isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedOn lastModifiedOn

Meta.Created

createdOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal
phoneNumber phoneNumber
phoneType phoneType
NOTE: The PerPhones table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and phoneType.
Table 113: EventReasons mapping
SCIM parameter SuccessFactors HR parameter
Id externalCode
externalCode externalCode
name name
status status
event_ event_
emplStatus emplStatus
description description
startDate startDate
createdOn createdOn
createdBy createdBy
lastModifiedOn lastModifiedOn

lastModifiedBy

lastModifiedBy

Meta.LastModified

lastModifiedOn

Meta.Created

createdOn

Table 114: PicklistOptions mapping
SCIM parameter SuccessFactors HR parameter
externalCode externalCode
Id id
status status

 

Table 115: PicklistLabels mapping
SCIM parameter SuccessFactors HR parameter
Id optionId
id_ id

label

label

locale

locale

optionId optionId

 

Table 116: PerEmails mapping
SCIM parameter SuccessFactors HR parameter

createdBy

createdBy

createdDateTime

createdDateTime

createdOn

createdOn

emailAddress

emailAddress

emailType emailType
Id personIdExternal,emailType
isPrimary isPrimary

lastModifiedBy

lastModifiedBy

lastModifiedDateTime

lastModifiedDateTime

lastModifiedOn

lastModifiedOn

Meta.LastModified lastModifiedOn
personIdExternal personIdExternal

NOTE: The PerEmails table of SuccessFactors HR Instance supports composite key-based lookup. The composite key consists of personIdExternal and emailType.

Table 117: EmpJobRelationship mapping
SCIM parameter SuccessFactors HR parameter

Id

base 64 encoded (userId+startDate+relationshipType)

originalId

userId+startDate+relationshipType

relationshipType

relationshipType

userId

userId

relUserId relUserId
startDate startDate
endDate endDate

createdBy

createdBy

lastModifiedBy

lastModifiedBy

meta.LastModified lastModifiedOn
meta.CreatedOn createdOn

Connector limitations

  • DELETE operation is supported only by the PerEmails endpoint.

  • Except for PerEmails and PerPhones, CREATE operation is also not supported by any other endpoints.

  • UPDATE operation is supported by two endpoints on selected attributes as listed below:

    • Employees - username, cellPhone, businessPhone, and email

    • PerEmails - emailAddress, emailType.

    • PerPhones - phoneNumber, phoneType, areaCode, countryCode, and isPrimary.

  • If there are multiple records with same 'startDate' coming in at a later point, then it would not be handled since 'startDate' doesn't have a time stamp.

  • 'startDate' is in servertime. Hence, it can't be converted into UTC as the timezone information of the SAP server is unavailable.

  • PerPhones and PerEmails endpoints do not support filters on "id" attribute of SCIM response.

Connector versions and features

The following subsections describe the different connector version(s) and features available with them.

Features available exclusively in SuccessFactors HR v.2.0

Following are the features that are available exclusively in SuccessFactors HR v.2.0:

  • For the Employees object, the Get Employee operation has been modified to get both active and inactive Employees.

    NOTE: To insert only Active Members in One Identity Manager, the synchronization workflow configuration must be modified to have a filter based on status attribute in the insert step.

  • Employees endpoint is enhanced to return the Future Hires of the HR system.

Features available exclusively in SuccessFactors HR v.3.0

Following are the features that are available exclusively in SuccessFactors HR v.3.0:

  • The attributes of all object schemas can be disabled or enabled while configuring the connector based on your requirements.

    NOTE:

    • Mandatory attributes cannot be disabled.
    • For more information about how to disable attributes, see Disabling attributes

  • You can configure custom attributes for the SuccessFactors HR v.3.0 SCIM connector in Starling Connect for all objects.

    NOTE:

  • The connector supports new PerEmails endpoint that allows you to browse and synchronize the data. It also allows you to update and create email records in the PerEmail table.

  • Fetching of future-dated employees/updates can be prevented by enabling the Fetch effective dated records only flag.

Features available exclusively in SuccessFactors HR v4.0

Following are the features that are available exclusively in SuccessFactors HR v.4.0:

  • The naming convention for all the custom attributes has been enhanced that belongs to a navigational object class.

  • Support for UTC date time.

  • Support for multi-level navigational custom attributes.

Features available exclusively in SuccessFactors HR v5.0

  • The Employees endpoint is enhanced to consider lastModified date of both EmpJob and User table.

  • Added a flag 'Separate Effective And FutureDated Employees Endpoints' which when enabled, makes the Employees endpoint to return effective dated employees only and provides a new endpoint 'FutureDatedEmployees' to return future dated records only.

  • Added a flag 'Activate Custom Attributes With Full Name' which when enabled, the naming convention for all the custom attributes will not be prefixed with the navigational attribute names.

  • Support for multi-level navigational custom attributes with the flag "Activate Custom Attributes with full name" ON.

Features available exclusively in SuccessFactors HR v6.0

  • All the features are available which is supported in v.5.0.

  • v.6.0 has no feature change only addition is that it supports OAuth Authentication.

  • For detailed explanation on setting up the OAuth authentication, refer SetUp OAuth.

Features available exclusively in SuccessFactors HR v7.0

  • v.7.0 has consistent names for all resource types in ResourceTypes endpoint as well as in individual resource endpoints.

Features available exclusively in SuccessFactors HR v8.0

  • The FutureDatedEmployees endpoint is modified to return the next effective record.

Features available exclusively in SuccessFactors HR v9.0

  • READ operations on Custom Foundation Objects are supported. (Refer Custom Foundation Objects in Successfactors HR connector)

  • Update operation on Custom attribute supported. (Refer Creating custom editable/upsertable attributes in Successfactors employee central)

    NOTE:Supported under Employees, EmpEmployments and PerPersonals.

  • PickListLables "id" attribute value changes to "optionId,locale".

  • Support for loginMethod attributes with the flag "loginMethod" ON.

  • Two additional attributes employmentStartDate and employmentEndDate are supported in Employees and FutureDatedEmployees. Even though these attributes can have null value in the target, the Starling Connector currently converts null to 0001-01-01T00:00:00.

Features available exclusively in SuccessFactors HR v10.0

  • Positions Endpoint return FutureDated positions using query parameter(?futureDated=true).

  • PerPersonal Endpoint return FutureDated PerPersonal using query parameter(?futureDated=true).

     

  • Supports new endpoints FutureDatedPerPersonals and FutureDatedPositions to handle the PerPersonal and Position records respectively which are having future effective dates.

  • Supports new endpoint EmpJobRelationships.

Features available exclusively in SuccessFactors HR v10.1

  • Added a flag ”Use base 64 encoded id in synchronization” which when enabled, makes all the endpoints to return one new attribute “targetId”.

  • The "id" in the SCIM response will be base 64 encoded.

Features available exclusively in SuccessFactors HR v10.2

  • In v10.2 onwards, the id of all resources (except custom objects) containin single quote (') in the id will be bypassed using another the single quote for correct usage in the SuccessFactors API requests. For example, id "test'd" will be changed as "test''d".

Features available exclusively in SuccessFactors HR v10.3

  • Added EmpGlobalAssignments endpoint, which supports Get EmpGlobalAssignment by Id and Get All        EmpGlobalAssignments.

SuccessFactorsHR connector supports the filter condition for all the objects (i.e., endpoints). We could apply the filter condition and take the filtered records from SuccessFactorsHR target system.

  • The connector supports filter conditions for all the objects.

  • The connector supports filter condition in all the Versions.

  • Supports only AND, OR, and NOT logical operators.

  • Supports only parenthesis () for grouping the condition.

  • The connector supports only single quotes (‘) with filter condition value (ex: phoneType co '10101')

  • Filter conditions should be applied on those attributes that can be filtered. For more information, refer List of Attributes for Filter Condition.

  • Complex attributes are not supported in the filter condition (example: name, email). Only sub-attributes are supported. (email.value, name.familyName)

  • Filter condition should follow the syntax

    For example: 

    1. <attribute_name><space><operator><space>'<string_value or date_value>'

    2.<attribute_name><space><operators><space><int_value or bool_value>

  • Filter condition values should NOT have single quotes or percentage with the filter condition value example: (userName co 'O'Malley') or (userName co 'O%Malley%')

  • Filter condition is NOT supported by the connector for Custom attributes.

  • Supports the following operators to filter the values with example should apply in OneIM.

    S.No Operators OneIM System filters OneIM Select Objects
    1 eq → equal to phoneType eq '00000' phoneType = '00000'
    2 ne → not equal to phoneType ne '00000' phoneType <> '00000'
    3 co → contains phoneType co '00000' phoneType like '%00000%'
    4 sw → starts with phoneType sw '00000' phoneType like '00000%'
    5 ew → ends with phoneType ew '00000' phoneType like '%00000'
    6 gt → greater than phoneType gt 100 phoneType > 100
    7 lt → less than phoneType lt 100 phoneType < 100
    8 ge → greater than or equal to phoneType ge 500 phoneType >= 500
    9 le → less than or equal to phoneType le 500 phoneType <= 500

Some of the example filter conditions (Should be applied at OneIM):

  • phoneType co '1'

  • phoneType eq '00000'

  • emails.value co 'someone.may' or emails.value co 'test.user'

  • not areaCode co '1' and not ((not countryCode sw '1' or phoneType ew '6') and is Primary eq true)

List of Attributes for Filter Condition

The endpoints exposed by the SuccessFactorsHR connector supports filtering of target system data from One Identity Manager. Here is the detailed list of endpoints with both Filterable and non-filterable attributes, used in filter conditions.

Table 118: Employees
Section Attributes
Table EmpJob
Filterable userId, timezone, department, businessUnit, division, location, costCenter, company, startDate, seqNumber, workingTimeDirective, emplStatus, event, eventReason, endDate, timeTypeProfileCode, timeRecordingVariant, employmentType, workscheduleCode, regularTemp, payScaleGroup, probationPeriodEndDate, payScaleType, managerId, jobCode, createdBy, position, retired, employeeClass, familyRelationshipWithEmployer, isCompetitionClauseActive, standardHours, jobTitle, countryOfCompany, hazard, travelDistance, isSideLineJobAllowed, payScaleArea, holidayCalendarCode, contractType, payGrade, workLocation, workingDaysPerWeek, empRelationship, isFulltimeEmployee, laborProtection, pensionProtection, payScaleLevel, workerCategory

Non filterable

NONE

Table 119: BusinessUnits
Section Attributes
Table FOBusinessUnit
Filterable externalCode, name, description, createdBy, status, createdOn, lastModifiedBy, startDate, endDate, headOfUnit, description_de_DE, name_de_DE, lastModifiedOn

Non filterable

NONE

Table 120: Companies
Section Attributes
Table FOCompany
Filterable externalCode, name, description, currency, createdBy, status, startDate, endDate, defaultLocation, country, standardHours, defaultPayGroup, createdOn, lastModifiedOn

Non filterable

NONE

Table 121: Department
Section Attributes
Table FODepartment
Filterable externalCode, name, description, createdBy, costCenter, headOfUnit, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

NONE

Table 122: Locations
Section Attributes
Table FOLocation
Filterable externalCode, name, createdBy, createdOn, createdDateTime, lastModifiedBy, lastModifiedOn, lastModifiedDateTime, startDate, endDate, status

Non filterable

description, timezone, geozoneFlx, locationGroup, locationGroupFlx, standardHours

Table 123: CostCenters
Section Attributes
Table FOCostCenter
Filterable externalCode, name, description, createdBy, costcenterManager, startDate, endDate, createdOn, lastModifiedBy, parent, status, lastModifiedOn

Non filterable

NONE

Table 124: Divisions
Section Attributes
Table FODivision
Filterable externalCode, name, description, createdBy, status, startDate, endDate, lastModifiedDateTime, parent, createdOn, lastModifiedBy, createdDateTime, headOfUnit, lastModifiedOn

Non filterable

NONE

Table 125: EmpEmployments
Section Attributes
Table EmpEmployment
Filterable personIdExternal, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

firstDateWorked, lastDateWorked
Table 126: EventReasons
Section Attributes
Table FOEventReason
Filterable externalCode, name, status, startDate, lastModifiedBy, createdBy, createdOn, lastModifiedOn

Non filterable

event emplStatus, description
Table 127: JobCodes
Section Attributes
Table JobCode
Filterable externalCode, name, status, description, startDate, endDate, lastModifiedBy, createdBy, createdOn, parentJobCode, supervisorLevel, defaultSupervisorLevel, standardHours, workerCompCode, grade, isFulltimeEmployee, jobFunction, regularTemporary, employeeClass, defaultJobLevel, isRegular, jobLevel, defaultEmployeeClass, lastModifiedOn

Non filterable

NONE
Table 128: PerEmails
Section Attributes
Table PerEmail
Filterable personIdExternal, emailAddress, emailType, lastModifiedDateTime, createdBy, isPrimary, lastModifiedBy, createdDateTime, createdOn, lastModifiedOn

Non filterable

NONE
Table 129: PerPersonals
Section Attributes
Table PerPersonal
Filterable personIdExternal, firstName, lastName, gender, startDate, createdBy, createdOn, lastModifiedBy, lastModifiedOn

Non filterable

preferredName
Table 130: PerPhones
Section Attributes
Table PerPhone
Filterable personIdExternal, phoneNumber, phoneType, createdBy, createdOn, areaCode, countryCode, isPrimary, lastModifiedBy, lastModifiedOn

Non filterable

NONE
Table 131: PicklistLabels
Section Attributes
Table PicklistLabel
Filterable id, locale, label, optionId

Non filterable

NONE
Table 132: PicklistOptions
Section Attributes
Table PicklistOption
Filterable id, status, externalCode

Non filterable

NONE
Table 133: Positions
Section Attributes
Table Position
Filterable code, description, effectiveStartDate, effectiveEndDate, effectiveStatus, standardHours, department, businessUnit, division, location, costCenter, jobTitle, employeeClass, jobCode, company, payGrade, jobLevel, positionTitle, vacant, regularTemporary, createdBy, createdDate, lastModifiedBy, lastModifiedDate, lastModifiedDateTime, externalName_defaultValue

Non filterable

payRange

Configuring changes in One Identity Manager to support filter conditions

  1. Open the Synchronization Editor tool.

  2. Select SCIM connector and the Target system

  3. Navigate to Schema Classes.

  4. Add a new schema class for the perphone.

  5. Add the System filter and Select Object condition. Click Commit to Database.

  6. In PerPhones mappings, edit the Target system schema class with the recently created schema and click Commit to Database.

  7. Run the synchronization.

    The Filter conditions will be created.

Conditions on "Fetch Effective Dated Records Only" & "Separate Effective And Future Dated Employees Endpoints" flags based on different use cases (for version v.5.0 and above)

  • Use Case #1: Get effective or future dated(if effective record does not exist) employee records in the employees endpoint response

    • "Fetch Effective Dated Records Only" - OFF

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #2: Get only effective employee records in the employees endpoint response and no separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - OFF

  • Use Case #3: Get only effective employee records in the employees endpoint response and get a separate endpoint for future dated employee records

    • "Fetch Effective Dated Records Only" - ON

    • "Separate Effective And FutureDated Employees Endpoints" - ON

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating