Skip to main content

Sync HRIS Data From SAP SuccessFactors via the API

Learn how to sync employee data from SAP SuccessFactors into Culture Amp using a secure, one-way API integration.

Jessie Walsh avatar
Written by Jessie Walsh
Updated today

Who can use this feature?

Available on:

  • All Culture Amp subscriptions.

You can import employee data directly from SAP SuccessFactors into Culture Amp using a secure, one-way API connection. This ensures your employee list and demographics 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.

Initial Setup Timeframe: Due to the complexity of the OData API and the need for iterative field validation, the full setup for SAP SuccessFactors typically takes 3–6 weeks. We strongly recommend involving a technical SAP administrator familiar with OData API Permission Roles and Foundation Objects for best results.

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, direct API connection.

Users with an explicit termination date (end_date) in your HRIS will be moved to Former status in Culture Amp immediately upon the next sync.

If a user is removed from your HRIS without an explicit termination date, the integration’s background detection process will identify the missing record and deactivate the user in Culture Amp within 3 days.

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.

API Integration Checklist


Use this checklist to navigate the API integration setup. Each step links to a more detailed section below.

  1. Access Requirements & Terminology — Prerequisites and system logic.

  2. Step 1: Connect & Authenticate — Locating and entering your API credentials.

  3. Step 2: Field Mapping — Aligning your SAP demographics with Culture Amp.

  4. Step 3: Activate Integration — Establishing the technical connection.

  5. Step 4: Run Your First Sync — Reviewing and importing employee records.

  6. Troubleshooting & FAQs — Solving errors, duplicates, and sync blocks.

Before You Start: Access Requirements & Terminology


To set up the connection, you'll need:

Important Considerations and Data Limitations

Important Considerations:

  • Customization & Strategy: SAP SuccessFactors is highly complex. We strongly recommend involving a technical SAP administrator familiar with your OData API configuration early in the process.

  • Initial Setup Timeframe: Expect the full setup and validation to take anywhere from 3-6 weeks. Please allocate internal resources for iterative mapping and data validation.

  • Integration Timeouts: Due to the volume of data, SAP SuccessFactors may take longer than 60 seconds to validate credentials. If you see a timeout error, do not restart. The sync is likely running in the background; wait a few minutes and refresh your page to proceed with mapping.

Data Access & "Transient" Fields

  • Code vs. Label: If a descriptive name (e.g., "Human Resources") is nested in a complex object, the API may only return the internal code (e.g., "HR-001").

  • Transient Fields: Some values are visible in the SAP UI but are "calculated on the fly" and do not exist in the database. These cannot be retrieved by the API. If a field appears blank in Culture Amp but has data in SAP, it is likely a transient field.

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).

Property/Attribute

Rule or Configuration

The rule/configuration of the Field e.g., "Required" is True; "Data Type" is Picklist, Label, Max Length, Default Value.

Value

Data Point

The specific data assigned to the employee (e.g., "Software Engineer").

Required Permissions & Rationales (Technical)

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

Technical Requirement

Rationale

Core Employee Data

Read access to: PerPerson, EmpJob, EmpEmployment, PerEmail.

Required to retrieve identity, hierarchy, and start/end dates.

Organizational Data

Read access to: FODepartment, FODivision, FOBusinessUnit.

Required to pull demographics like Department and Business Unit.

"Employee Export"

Administrative Permission

Pro Tip: Enabling "Employee Export" for the API user often bypasses individual field-level permission blocks.

OAuth Credentials

Client ID & Client Secret

Required to establish the secure handshake between SAP and Culture Amp.

Tip: If field values appear as codes (e.g., 'DEPT_10') instead of names, verify the API user has "View" access to the Foundation Objects (FO) related to that field.

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

Step 2: Setting Up Demographic Field Mapping


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

Note: Core demographic fields map automatically and should not be manually configured unless instructed by a Culture Amp specialist. Please note that once these fields are set up, they cannot be edited or deleted. If you need to make changes, reply with "ask a person" in a support conversation to speak with a specialist.

Core Demographics: Automatic Mapping

The following table is intended for your technical SAP administrator to verify that the API user has the required read-access to the specific OData endpoints.

Note: While the "Typical SAP UI Label" shows the common reference field in SAP SuccessFactors, exact UI labels and underlying field names may vary by tenant and configuration.

Typical SAP UI Label

SAP Endpoint (Data Location)

Culture Amp Field (The Destination)

Email

/odata/v2/PerEmail

Email (Unique Identifier)

Person ID External

/odata/v2/PerPerson

Employee ID (Unique Identifier)*

First Name / Last Name

/odata/v2/PerPerson

Name

Preferred Name

/odata/v2/PerPerson (via personalInfoNav)

Preferred Name

Date of Birth

/odata/v2/PerPerson

Date of Birth

Start Date

/odata/v2/EmpEmployment

Start Date**

Termination Date

/odata/v2/EmpEmployment

End Date

Supervisor (Work Email of the referenced Manager)

/odata/v2/EmpJob

Manager Email (Hierarchy)***

Note:

  • (*) Employee ID: By default, Culture Amp uses personIdExternal. If your organization uses assignmentIdExternal, userId, or username as the primary identifier, please reply with "Ask a Person" in a Support Conversation for a custom backend mapping.

  • (**) Start Date & Hire Date: The integration supports the standard start_date field (most recent hire). If you need to use a different date, such as Service Date or Original Hire Date, a custom mapping is required to handle SAP's unique Unix date format.

  • (***) Manager Hierarchy: The integration retrieves the Supervisor's ID from EmpJob and matches it to their email address. For the hierarchy to build correctly, the Supervisor must be included in the sync and have a valid email in the PerEmail entity.

  • Missing Data: If these fields appear blank or return "Null," ensure the API user has "Employee Export" permissions and that access is granted to "All Employees" (not restricted to a group) in the SAP Admin Center.

Custom Demographics: Manual Mapping

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 is highly customizable. If a field appears blank, shows a code instead of a name, or is missing from the list, please refer to the Data Access Limitations section. Nested fields or those not exposed via standard API endpoints may require specialist support.

Step 1. Map Fields

  • Now that the initial authentication is complete, on your Integrations page, 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.

Tip: API Names vs. Display Names The mapping dropdown shows Property Names (API Names), which often differ from the labels you see on an employee's profile.

  • Example: A field labeled "Job Grade" in the UI might be named custom01 or jobLevel in the API.

  • Navigational Fields: For organizational data, look for fields ending in "Nav" (e.g., departmentNav/name). These "navigate" to the descriptive name rather than just the internal code.

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.

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.

Note: 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.

Set Up 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.

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.

SAP SuccessFactors: Integration-Specific Errors

Issue

Cause

Suggested Fix

Missing Data/403 Errors

The API user lacks Read access to specific objects or is restricted to a certain group of employees.

Verify Permissions: Ensure the API user has read access to all required objects (PerPerson, EmpJob, etc.) the Admin Center, go to Manage Permission Roles and ensure the role is granted to "All Employees" rather than a restricted group.

Field Values are Codes (e.g., 'DEPT_1')

The API is pulling an internal ID because it cannot access the "Foundation Object" (lookup table) or the label is in a nested object.

Immediate Fix: Confirm the API user has "View" access to Foundation Objects (FODepartment, etc.).

Secondary Fix: If permissions are correct, you may need a specialist to "expand" the field (e.g., departmentNav/name). Reply with "Ask a Person" for assistance.

Values visible in SAP but blank in Culture Amp

The field is likely a Transient Field. These are calculated in the UI and aren't stored in the database, meaning the API cannot see them.

Action: Check SAP documentation to confirm if the field is transient. If it is, you must map a non-transient field that contains the same data.

Hierarchy Errors

The manager listed in SAP is not being imported, or the manager record is missing an email address.

Check your data: Ensure all managers are included in the sync. The manager must have a valid email in the PerEmail entity for the hierarchy to build.

Delayed Updates (Slow Sync)

Large SAP datasets require significant processing time. While auto-sync is daily, full employee data refreshes may take longer to finalize.

Wait for Full Import: Full alignment is guaranteed weekly. If a change was made today, allow until the next full cycle for it to reflect, or run a manual sync.

Blank fields despite correct permissions

Individual field-level security (FLS) might be blocking the API.

Pro Tip: Grant the "Employee Export" administrative permission to the API user. This often bypasses FLS blocks and allows a successful data pull.

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 once established to prevent data discontinuity.

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.

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 uses two fields as unique identifiers for user profiles: Email and Employee ID.

  • As long as at least one of these remains consistent between SAP SuccessFactors and Culture Amp, the sync will successfully update the existing profile rather than creating a new one.

  • Duplicate Risk: If you change both the Email and the Employee ID simultaneously in SAP SuccessFactors, the sync will not find a match and will create a duplicate profile.

If you see a duplicate profile error flag during your import, take the following steps:

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.

  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 SAP. 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?