Skip to main content

How to Sync HRIS Data From SAP SuccessFactors Using the API

Guidance on how you can sync employee data from Sap SuccessFactors into Culture Amp using the API.

Jessie Walsh avatar
Written by Jessie Walsh
Updated this week

Who can use this feature?

Available on:

  • All Culture Amp subscriptions.

You can import employee data directly from SAP Success Factors into Culture Amp using a secure, one-way API connection powered by Merge. Merge is a trusted sub-processor that has partnered with Culture Amp to offer more integration options for our customers. Once set up, data will flow through automatically from your HRIS into Culture Amp, ensuring your employee list and demographic information are always up-to-date.

  • Data Flow: Employee Data flows from SAP SF into Culture Amp (one-way sync). Changes made in Culture Amp will not sync back to your HRIS.

Choosing Your Integration Method


We offer two primary ways to connect your employee data. The table below briefly outlines both, and should help with the decision on which is the best approach for your organization:

Method

Type of Import

Best For

Key Difference

Full Integration (API)

Full Employee Import

Organizations seeking real-time, daily automation of all employee data that the API supports.

Data transfer is handled automatically via a secure API connection (e.g., using Merge). Users left off the file due to an explicit termination date (end_date) will become former upon sync. Users made inactive without an end_date may take up to 3 days to be deactivated due to Merge's Deleted Data Detection process.

SFTP (Secure File Transfer Protocol)

Partial Employee Import

Organizations that need complete control over file creation, have unique filtering requirements, or need to manage data fields not supported by the API.

You generate a file and securely transfer it to us at scheduled intervals. Users missing from the file are ignored unless you include an end date.

Sync Your Data with the API


This integration establishes a secure, one-way connection to automatically sync employee data from SAP SF into Culture Amp via our trusted partner, Merge API.

Access Requirements

To set up the connection, you’ll need:

Important Considerations for the SAP SuccessFactors API


SAP SuccessFactors is a highly customizable system. For best results, we strongly recommend involving a technical SAP administrator who is familiar with your specific API configuration.

Initial Setup Timeframe: Be aware that due to the complexity and customization of SAP SF, the full setup and validation process can take anywhere from a few days up to several weeks. Please allocate sufficient time and internal resources for mapping and validation.

  • Integration Timeouts: Some integrations, like SAP SuccessFactors, may take longer than 1 minute to validate credentials and respond to our API request. If the initial linking flow appears to time out, you may see an error. Please be patient; you can proceed with mapping fields once the initial background sync completes in the background.

Data Access Limitations

Some fields, their properties, or specific values may not be accessible by Merge because they do not form part of the regular API endpoint.

  • The Issue: If a field's desired value (like a descriptive name) is located in a complex, non-standard object that the API does not expose, Merge may only be able to pull the associated internal code/ID.

    • Example: For 'Line of Business', if the name ('Sales') is hidden in a complex object (costDistributionNav), we can only return the code (SLS1), even with advanced mapping tools.

Field Expansions for Custom Data

In some specific cases, a specialist may be able to apply advanced configuration to "expand" the object where a field's value lies, making it accessible to Culture Amp.

  • How it Works: If a value (like the company name) is nested inside an object (companyNav) that isn't exposed by default, custom logic can sometimes be applied to surface that value. Once exposed, it can be included in your data sync via custom field mapping.

Terminology Breakdown

When working with your technical SAP administrator, these terms may be helpful for clarifying your data structure:

Term

Also Known As

Definition & Example

Object

Business Object or Entity

The container or table where the data lives (e.g., empJob, companyNav).

Field

Field, Data Field, or Element

The specific piece of data you are tracking (e.g., "Company," "Location," "Job Title").

Property/Attribute

The rule/configuration of the Field.

e.g., "Required" is True; "Data Type" is Picklist, Label, Max Length, Default Value.

Value

The specific data assigned to the employee.

e.g., ”Sales Representative”.

Before You Start: Access and Permissions


Having the correct SAP SF permissions is essential. Most setup and field-mapping issues occur when the connecting API user does not have access to the right objects.

Permission/Role

Permissions Needed in SAP SuccessFactors

Rationale

Employee Data

API user must have read access to these objects within SAP SF's Employee Central module: PerPerson, EmpJob, EmpEmployment, PerEmail, and PerPhone

These are the specific API objects (endpoints) that Merge (and Culture Amp) pulls data from. This allows us to retrieve core employee and contact details.

Groups

Read access to Organization Structure objects: FODepartment, FODivision, FOBusinessUnit

These are the specific API objects (Function Objects) used to retrieve organizational structure data. This allows us to retrieve team, department, and business unit data for group demographics.

Required Roles

SAP SuccessFactors Administrator role or equivalent role with API read/write permissions.

Required to generate the necessary OAuth credentials (Client ID and Secret).

Tip: If you see field values appearing as codes instead of names (e.g., 'HR-DEPT-1' instead of 'Human Resources') during mapping, this is often a permissions issue. Please confirm the connecting user has access to the configuration/lookup tables for those fields.

Step 1: Connect and Authenticate Your SAP SF Account


  1. Sign in to Culture Amp with an account that has Account Administrator or Employee data administrator access.

  2. Navigate to your Settings > Account > Integrations page.

  3. Select SAP SuccessFactors from the list of integrations and click Continue setup.

  4. Select the User Name and Company ID option for the API connection.

  5. Click I am an admin to confirm your SAP administrator permissions.

  6. Click Next to authorize Culture Amp's request to read your SAP employee data.

  7. Follow the prompts to generate and copy across your SAP SF credentials. You will need to enter your SAP API server URL, Client ID, and Client Secret.

🔑 How to Locate Your SAP SuccessFactors API Credentials

To authenticate your SAP SuccessFactors account, you will need to provide the API Server URL, Username, Company ID, and OAuth Credentials (Client ID and Secret).

Note: The steps below are sourced from Merge, our integration partner. We recommend checking their official guide for the most current instructions: Merge SAP SuccessFactors Account Linking Guide.

Step 1: Find your API Server URL

  1. Your API domain depends on your region. To locate it

Step 2: Find your SAP Username and Company ID

  1. To find your SAP SuccessFactors username, go to the upper right hand side and click on your profile image to view your username.

  2. To find your SAP SuccessFactors Company ID, in the same dropdown menu, click "Show version information." Locate Company ID in the modal that pops up:

Step 4: Find your SAP SuccessFactors Client ID and Secret by generating a certificate

  1. In your Admin Center, go to Tools, and search Manage OAuth2 Client Applications (If your page looks different, search for Manage OAuth2Client Applications in the search tool on your homepage)

  2. Click Register Client Application

  3. Fill out Application Name & Application URL (the URL has to begin with https://)

  4. Click Generate X.509 Certificate. Fill out Common Name (the name doesn't matter) and hit Generate

  5. Once the certificate populates, download and save it. You will have downloaded a file called Certificate.pem

  6. Click Register (it will have replaced the Generate button)

  7. Back on your Manage OAuth2 Client Applications, go to the application you just created and click Edit

  8. You will now see an API key listed - this is your Client ID. Copy and save this Key.

  9. Open up the "Certificate.pem" file that you downloaded previously in a text editor. The string between ——BEGIN ENCRYPTED PRIVATE KEY——- and —-END ENCRYPTED PRIVATE KEY——- is your Client Secret. Copy the Client Secret and save

Fields Culture Amp has Read Access to

Employees

Date Of Birth
Display Full Name
Employee Number
Employment Status
Ethnicity
First Name
Gender
Groups
Last Name
Manager
Marital Status
Mobile Phone Number
Personal Email
Preferred Name
Remote Created Timestamp
Start Date
Termination Date
Username
Work Email

Groups

Is Commonly Used As Team
Name
Parent Group
Type

Step 2: Setting Up Demographic Field Mapping


Once you have authenticated with SAP, you will be prompted to map demographic fields you would like to import into Culture Amp.

Demographic Automatic Mapping

While the table above provides the most common, out-of-the-box fields, setting up and troubleshooting the SAP SuccessFactors API often requires a detailed understanding of the system's data structure.

The table below is intended for your technical SAP administrator. It provides the essential technical names: the Merge Common Model Field and the Primary SAP SF API Endpoint used to source the default demographic data. This information is important when verifying the specific object read-access permissions required for the connection.

Note: Do not manually map the fields below unless instructed by a specialist. If the data for these core fields is not pulling correctly, reply with "Ask a Person" in a Support Conversation for a back-end custom mapping solution.

Culture Amp Field (The Destination)

Merge Common Model Field

Primary SAP SF API Endpoint (Data Location)

Typical SAP SF Source Field (API Name)

Email (Unique Identifier)

workEmail

GET /odata/v2/PerEmail

Primary email from the PerEmail endpoint.

Employee ID (Unique Identifier)

employeeNumber

GET /odata/v2/PerPerson

personIdExternal is the default source.

If your Employee ID is stored elsewhere (e.g., employmentnav.assignmentIdExternal, userid, username), reply with "Ask a Person" support conversation for a specialist to set up a custom back-end mapping. The default mapping for this field is technically "personId" in SAP Success Factors.

Name

displayFullName

GET /odata/v2/User('{userId}')

Derived from firstName/lastName on the User object.

Preferred Name

preferredName

GET /odata/v2/PerPerson

preferredName field.

Date of Birth

dateOfBirth

GET /odata/v2/PerPerson

dateOfBirth field.

Start Date

startDate

GET /odata/v2/EmpEmployment

startDate from the EmpEmployment endpoint.

End Date

terminationDate

GET /odata/v2/EmpEmployment

endDate from the EmpEmployment endpoint, used to mark employee as former.

Manager Email / Manager ID / Manager Name

manager (Record object)

GET /odata/v2/EmpJob

Manager Email, Manager Name, and Manager ID are automatically populated in Culture Amp. Data is pulled from the manager object (containing managerUUID) linked to the employee record. The system reads the Merge Common Model field manager and populates all three Culture Amp fields using hard-coded logic.

Culture Amp strongly recommends validating your hierarchy using Manager Email as the manager identifier. Hierarchy validation cannot be done using Manager Name.

If you used a different demographic for your hierarchy previously, you may need a custom back-end mapping to ensure continuity. Reply with "Ask a Person" in a Support Conversation for assistance.

Mapping Custom Demographics

If you track additional employee data in SAP SuccessFactors (SAP SF) that you want to use as demographics in Culture Amp, follow these steps to set up custom mapping.

Note: SAP SuccessFactors fields are highly customizable. If you are mapping a custom field and cannot find the required data, or the value is a code instead of a name, please refer to the section on Access Limitations and Field Expansions for more detail. Fields that are nested within tables or whose properties/values are not exposed via the standard API endpoints may require ad-hoc or specialist support for successful mapping.

Step 1. Map Fields

Click Map fields.

Step 2. Select the Data Model

Select the data model for your target field (e.g., Employee).

Step 3. Set Details for the Target Field

Set the details for the field you are targeting in Culture Amp (the demographic name, e.g., Gender).

Step 4. Choose the Matching Field from SAP

For the Matching Field from SAP, select the matching SAP SF field that contains the data.

  • Find the Field Name: The field names available for selection should match the Property Name (API Name) of the field as found in your SAP SF Admin Center API Reports, not the Display Name you see on a user's profile.

Step 5. Save Mappings

You can Save mappings or click the + Field mapping icon to add more.

Alternatively, if you’re not ready to map fields yet, you can click Skip for now and return to mapping later.

Tip: If you are unsure of the Property Name or if the field values are appearing as codes (e.g., 'HR-DEPT-1'), please involve your technical SAP SF administrator to locate the correct API name and verify the necessary permissions.

Note: Some HRIS APIs may limit access to specific custom fields. If you cannot find a required demographic field during mapping, you may need to:

  • Map an alternate custom field that contains similar data.

  • Manage the demographic outside of SAP directly in Culture Amp via manual imports or SFTP.

Excluding Employees (Optional)


To exclude specific employees, you must first specify them in your SAP SuccessFactors (SAP SF) system (e.g., by creating a custom field or using an existing one) and set the value of this field to "Yes" for the employees you want to exclude.

Step 1. Start Mapping

Click on Map fields to begin the workflow.

Step 2: Select the Exclusion Field

  • You will see a field mapping for Exclude from Culture Amp in the workflow.

  • Search for the corresponding field from your HRIS under the Exclude from Culture Amp field.

  • Ensure that employees you want to exclude are marked as "Yes" in your HRIS.

Step 3: Save Mappings

  • Click Save mappings.

Note: Only demographics that use "Yes" values can be attached to the Exclude from Culture Amp mapping in your integration settings. It is not possible to map an existing demographic like Job Title and tell the system to exclude all participants whose Job Title is 'Contractor'.

Step 3: Activate Integration


After mapping your fields, click Sync and the system will run an initial sync to connect your SAP SF account details and mappings.

Note: This sync does not import employee data yet.

  • You will see a "Syncing data" message. This initial sync can take up to 12 hours to complete, depending on the size and complexity of your SAP SF configuration.

  • Feel free to navigate away from the page. The process runs in the background.

  • The "Syncing data" message confirms the connection and mapping setup. Once this first sync completes, you can proceed to import your employee data through another sync.

Note: As part of our commitment to data security, only data relevant to your import and field mappings will be stored.

Step 4: Run Your First Employee Data Sync


Once the initial setup sync is complete, the Integrations page in Culture Amp will update. Follow these steps to run your first employee data import:

  1. Click the Finalise sync button.

  2. Click Get Started.

  3. On the review page, ensure Sync is selected in the "Sync with merge" section (ignore the other options).

  4. Culture Amp will validate the data. If there are no concerns, click Next.

  5. Review the data: Carefully examine the review screen, which shows the number of new employees to be created, existing employees to be updated, and employees to be deactivated.

  6. If the data looks correct, click Import Data to pull the employees into Culture Amp.

  7. After the import is complete, click Go to Users to review the new users.

Important: If you see any unexpected numbers (e.g., too many employees being deactivated or created), do not proceed with the import. Check the Troubleshooting section or reply with "Ask a Person" in a Support Conversation to speak with a Product Support Specialist.

Once these steps are completed, you will see the green "Syncing data" notification appear on the Integrations page.

After syncing is complete, you will see the latest sync information, including the date and time of the last sync, and confirmation that your integration is Connected on the Integrations page.

Setup Automated Daily Syncs


By default, auto-syncs are Off. We recommend enabling daily syncing to ensure your employee demographics are kept up-to-date.

  1. To enable: Go to Integrations, click on the Off button and toggle Auto-sync On.

  2. To disable: Go to Integrations, click on the On button, then click Turn off auto sync.

Note:

  • Auto-sync won’t run if the Finalise sync step is still displayed. Click Finalise sync to finish setup.

  • While you can enable daily auto-sync, due to the current integration logic for SAP SuccessFactors, updates aren't always instant, but they are guaranteed. See the Troubleshooting/FAQs section to learn more.

Troubleshooting/FAQs


If the fixes below don't resolve your issue, please remember that the high potential for customization in SAP SuccessFactors means complex mapping or sync problems often require a specialist. Please reply with "Ask a Person" in a Support Conversation to speak with a Product Support Specialist..

SAP SuccessFactors: Integration-Specific Errors

Issue

Cause

Suggested Fix

Missing Data/403 Errors

The connecting API user lacks required Read Access to the necessary SAP SF objects.

Verify Permissions: Ensure the user has read access to all required objects (PerPerson, EmpJob, etc.) in the SAP SF Role.

Field Values are Codes

The API is pulling the internal code/ID of a field instead of the label/display name. This can be due to either:

1. The API user missing permissions to access lookup tables (value lists).

2. The value (e.g., name) being located in a complex object or attribute that is not exposed or expanded upon by default via the supported API endpoint.

Initial Fix: Verify Permissions. The API user may be missing permissions to access the lookup tables (value lists).

If permissions are correct: This issue often requires specialist support to configure Merge to expand on the field object to expose the required value. Refer to the Data Access Limitations and Field Expansions section for more detail.

Hierarchy Errors

The person listed as the manager in SAP SF is not imported to Culture Amp, or the Manager field is mapped to a non-email field.

Check your data: Ensure all managers are included in the employee import file and that the Manager Email field is mapped to a field containing a valid email address.

Delayed Updates (Slow Sync)

Due to the current integration logic for SAP SuccessFactors, while daily auto-sync is enabled, comprehensive data processing and full demographic updates typically finalize once per week. Updates are guaranteed, but may take up to a week to fully reflect recent changes.

Wait for Full Import: Your data is guaranteed to be fully aligned once per week. Allow up to one week to capture recent changes.

Hierarchy demographic Mismatch

Hierarchy has been validated in Culture Amp previously under a demographic other than Manager Email (e.g., Manager ID from an old CSV import)

Contact Specialist: If you used a different demographic for your hierarchy previously, you may need a custom back-end mapping for your hierarchy demographic to ensure continuity. Reply with "Ask a Person" in a Support Conversation for assistance.

Need to Edit/Delete Mappings

Mappings are locked in the Culture Amp platform once set up. Adding or editing custom mappings often requires a full back-end sync to be triggered by Merge for the changes to be reflected in Culture Amp.

Contact Culture Amp Support:

  • Reply with "Ask a Person" in a Support Conversation to speak with a Product Support Specialist.

  • Please be ready to provide the Property Name values of the fields you'd like to map, edit or delete. You can find this information in your SAP admin report.

  • The change must be made by a specialist, and a full system re-sync may be required to reflect the change.

General Data Integrity & Import Management

The first step when investigating any data issue is to check the Import Summary Screen for your most recent import.

  1. Go to Settings > Employee Data > Import History.

  2. Select your most recent import to view details.

This screen provides information on the state of your integration, any specific errors, or will prompt you to run a manual sync to identify problems.

Switching From CSV or Other Imports

If you are moving from CSV uploads or a different integration, keep the following in mind:

  • Demographic Consistency: When mapping fields, you must map the data to the exact same demographic field you used historically (e.g., mapping to "TEAM" is different from mapping to "TEAM NAME"). Using an incorrect or slightly different title risks discontinuity in your trended survey results.

  • Recommended Action: To avoid confusion, we recommend navigating to Settings > Employee Data Demographics and deleting the old, unused demographics after your first successful sync. (This won't impact any previous survey results.)

Handling Duplicate Employees

Culture Amp matches employees based on their Email address. If an employee has a different email in Culture Amp than in SAP Success Factors, duplicate profiles will be created.

Scenario

Action to Take

A. Before Changes Are Applied

During the first sync review screen, stop the sync. Update the employee emails in Culture Amp to match those in SAP Success Factors.

  1. Go to the Culture Amp Users page,

  2. Click on the name of the employee you want to update.

  3. Update their email.

  4. Click Save and Exit to update.

  5. Repeat for all duplicated employees.

  6. Then, retry the integration sync.

B. After Changes Are Applied

To clean up the duplicated profiles:

  1. Go to the Culture Amp Users page,

  2. Locate the newest duplicate profile for that user. Click on the name to open up their profile.

  3. Remove existing Email/Employee ID and assign a fake Email or Employee ID to the user and save.

  4. Deactivate this updated profile.

  5. Update the original user profile to match emails in Success Factors. This keeps the history on the existing employee record.

Further Guidance

Check out our dedicated support guide for further information on duplicate employee clean-up.

Sync Blocked to Protect Employee Privacy

Your automated daily sync might be blocked if Culture Amp detects a high-risk change for an employee. You will receive an email notification if this occurs.

  • When It Happens: The sync is blocked if a combination of an employee's Name, Date of Birth, or Email is changed simultaneously.

  • Purpose: This prevents one employee from accidentally getting access to another employee's private information (like performance reviews).

  • Fix: If you've intentionally changed the employee's details, you can run a manual sync to push the change through. Go to Settings > Employee Data > Users, click Import data, and select Sync. Culture Amp will guide you through the rest.

Redaction of Sensitive Data

As part of this integration, Culture Amp has the ability to redact sensitive data at your request. If you need any fields to be disabled/redacted for your account, please reply with "Ask a Person" in a Support Conversation to speak with a Product Support Specialist.


💬 Need help? Just reply with "Ask a Person" in a Support Conversation to speak with a Product Support Specialist.

Did this answer your question?