SAP SuccessFactors Connector

The EmpowerID SuccessFactors Connector is an integration tool that connects EmpowerID's Identity Management platform with SAP SuccessFactors. This connector is designed to pull user information from SuccessFactors into EmpowerID, ensuring that user identities, roles, and related attributes are consistently reflected within EmpowerID. Using the SCIM 2.0 protocol and the OData protocol for data retrieval, the connector ensures consistent and reliable data synchronization across all connected back-end user directories.

 

Architecture Overview

The architecture of the EmpowerID SuccessFactors Connector is built around three core components: the EmpowerID Microservice, the EmpowerID Account Store, and the OData Layer. These components work together to provide secure, efficient, and reliable integration between EmpowerID and SAP SuccessFactors, ensuring that user data is accurately retrieved, processed, and synchronized.

image-20240814-201810.png

The above architectural flowchart illustrates how these components interact to handle data synchronization and management between EmpowerID and SAP SuccessFactors.

SAP SuccessFactors Microservice

The SAP SuccessFactors Microservice is the central processing unit within the connector’s architecture. Deployed on an Azure app service, this microservice retrieves and processes user information from SuccessFactors. It periodically queries SuccessFactors to pull the latest user data, capturing updates to user profiles or organizational roles within EmpowerID. The microservice benefits from Azure's cloud infrastructure for availability, scalability, and security.

SAP SuccessFactors Account Store

The SAP SuccessFactors Account Store is a data repository within the connector architecture, designed to securely store identity information retrieved from SuccessFactors. This account store serves as a central location within EmpowerID where SuccessFactors user data is synchronized and maintained. The information pulled from SuccessFactors is available for identity management and governance within EmpowerID, allowing organizations to manage access rights based on accurate and current user data.

OData Layer

The OData Layer retrieves user information from SuccessFactors. Positioned between the Azure Tenant and SuccessFactors, this layer uses the OData protocol to execute queries against the SuccessFactors database. The OData protocol enables the connector to efficiently filter, sort, and retrieve specific user data, ensuring that relevant information is pulled into EmpowerID. This process helps maintain an optimized integration by reducing the amount of data processed and ensuring necessary identity information is captured.

Data Inventory and Account Management

The EmpowerID SuccessFactors Connector inventories and manages user accounts based on the data retrieved from SAP SuccessFactors.

Inventory Objects and Data Retrieval

EmpowerID initiates SCIM calls to the SAP SuccessFactors microservice, which is responsible for integrating with SuccessFactors. This microservice invokes the OData protocol to retrieve user data, including personal details, employment status, and future hires scheduled up to 30 days in advance.

Once the microservice retrieves the user data via OData, the OData response is converted into a SCIM response. The SCIM response is returned to EmpowerID, where the data is processed and inserted as an account object in the EmpowerID Identity and Resource Warehouse.

Inventory Objects and Their Corresponding Components in EmpowerID

After the user data is inserted into EmpowerID as an account object, it is mapped to the corresponding fields in the Account table of the EmpowerID Identity and Resource Warehouse. This process involves cataloging personal and employment details, such as role assignments, job titles, and future hires, to ensure that records are maintained accurately.

 

Object in SuccessFactors

Component in EmpowerID

Object in SuccessFactors

Component in EmpowerID

User

Account

Provisioning Person Objects and Lifecycle Management

Once user accounts are inventoried, EmpowerID can automatically provision Person objects from these accounts. These Person objects are key to EmpowerID’s lifecycle management processes:

  • Joiner: Person objects are created for each user account, ensuring they are assigned appropriate roles and access rights.

  • Mover: When users change roles or locations, their Person objects are updated to reflect new job responsibilities or organizational units.

  • Leaver: Upon termination, Person objects are deactivated, revoking access rights as required.

Provisioning Person objects from the inventoried accounts enables EmpowerID to manage user transitions efficiently, using the latest data retrieved from SAP SuccessFactors.

Attribute Mapping

EmpowerID maps user attributes from SAP SuccessFactors to the appropriate fields within the EmpowerID system to facilitate seamless data integration. Below is a table that shows the attribute mappings for personal and employment data:

Personal Data Attribute Mapping

SuccessFactors Attribute

SCIM Attribute

EmpowerID Person Attribute

SuccessFactors Attribute

SCIM Attribute

EmpowerID Person Attribute

User.FirstName

Name.GivenName

FirstName

User.LastName

Name.FamilyName

LastName 

personalInfoNav.MiddleName

Name.MiddleName

MiddleName 

User.Formatted

DisplayName

DisplayName 

PerPerson.DateOfBirth

additionalDataExtension.DateOfBirth

DateOfBirth

personalInfoNav.Gender

additionalDataExtension.Gender

Gender

homeAddressNavDFLT.Country

addresses.country && user.Country

Country

homeAddressNavDFLT.ZipCode

address.PostalCode

ZipCode

homeAddressNavDFLT.State

address.Region && user.State

State

homeAddressNavDFLT.Address1

address.StreetAddress

StreetAddress

homeAddressNavDFLT.City

address.Locality && user.City

City

employee.PersonExternalId

user.UserName , User.Id , user.ExternalId

Username , Id , LogonName

emailNav.Value

email.Value

Email

PerPhone.PhoneNumber

phoneNumber.Value

HomePhone

User.EmpInfo.StartDate

enterpriseDataExtension.StartDate

ValidFrom

User.EmpInfo.EndDate

enterpriseDataExtension.EndDate

AccountExpires

User.custom01

enterpriseDataExtension.custom01

CustomAttribute01

Employment Data Attribute Mapping

SuccessFactors Attribute

SCIM Attribute

EmpowerID Person Attribute

SuccessFactors Attribute

SCIM Attribute

EmpowerID Person Attribute

EmploymentNav.JobInfo.Department

enterpriseUserExtension.Department

Department

EmploymentNav.JobInfo.Division

enterpriseUserExtension.Divsion

Division

EmploymentNav.JobInfo.SeqNumber

enterpriseUserExtension.EmployeeNumber

EmployeeId

EmploymentNav.JobInfo.ManagerId

enterpriseUserExtension.Manager.Value

ManagerId

EmploymentNav.JobInfo.CostCenterNav.Name

enterpriseUserExtension.CostCenter

CostCenter

EmploymentNav.JobInfo.StartDate

enterpriseDataExtension.StartDate

ValidFrom

EmploymentNav.JobInfo.EndDate

enterpriseDataExtension.EndDate

AccountExpires

EmploymentNav.JobInfo.JobCode

enterpriseDataExtension.JobCode

JobCode

EmploymentNav.JobInfo.JobTitle

enterpriseDataExtension.JobTitle

JobTitle

EmploymentNav.JobInfo.CompanyNav.Name_en_US

enterpriseDataExtension.CompanyName

Company

EmploymentNav.JobInfo.WorkLocation

enterpriseDataExtension.WorkLocation

OfficeLocation

EmploymentNav.JobInfo.EmployeeStatusNav.Status

enterpriseDataExtension.EmployeeStatus

EmployeeStatus

EmploymentNav.JobInfo.CostCenterNav.CostCenterDescription

enterpriseDataExtension.CostCenterDescription

CostCenterDescription

EmploymentNav.JobInfo.CompanyNav.Name

enterpriseDataExtension.CompanyDescription

CompanyDescription

EmploymentNav.JobInfo.BusinessUnit

enterpriseDataExtension.BusinessUnit

BusinessUnit

EmploymentNav.JobInfo.BusinessUnitNav.Name(EmploymentNav.JobInfo.BusinessUnitNav.ExternalCode)

enterpriseDataExtension.BusinessUnitDescription

OrgUnit

EmploymentNav.JobInfo.IsFulLTimeEmployee

enterpriseDataExtension.IsFullTimeEmployee

IsFulLTimeEmployee

EmployeeNav.IsContigentWorker

enterpriseDataExtension.IsContigentWorker

IsContigentWorker

EmployeeNav.JobInfo.PositionNav.Code

enterpriseDataExtension.PositionCode

PositionCode

employeeNav.LastDayWorked

enterpriseDataExtension.LastDayWorked

LastDayWorked

employmentNav.OriginalStartDate

enterpriseDataExtension.OriginalStartDate

OriginalHireDate

employmentNav.ServiceDate

 

effectiveStartDate

 

 

 

Â