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 (
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.
Access Requirements & Terminology — Prerequisites and system logic.
Step 1: Connect & Authenticate — Locating and entering your API credentials.
Step 2: Field Mapping — Aligning your SAP demographics with Culture Amp.
Step 3: Activate Integration — Establishing the technical connection.
Step 4: Run Your First Sync — Reviewing and importing employee records.
Troubleshooting & FAQs — Solving errors, duplicates, and sync blocks.
Before You Start: Access Requirements & Terminology
To set up the connection, you'll need:
Access to your SAP SuccessFactors instance with the required role (see Permissions below).
Access to Culture Amp with Account Administrator or Employee data administrator permissions.
Important Considerations and Data Limitations
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
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)
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: | Required to retrieve identity, hierarchy, and start/end dates. |
Organizational Data | Read access to: | 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
Sign in to Culture Amp with an account that has Account Administrator or Employee data administrator access.
Navigate to your Settings > Account > Integrations page.
Select SAP SuccessFactors from the list of integrations and click Continue setup.
Select the User Name and Company ID option for the API connection.
Click I am an admin to confirm your SAP administrator permissions.
Click Next to authorize Culture Amp's request to read your SAP employee data.
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
🔑 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
Your API domain depends on your region. To locate it
Navigate to the SAP SuccessFactors API Servers list
Filter for your environment (typically production unless using preview/demo instances)
Find your location and corresponding API Server URL.
Example: Brazil users would use https://api19.sapsf.com/
Unofficial Workaround: Your API server URL typically mirrors your SuccessFactors login URL. For example, this is how your login and api server URLs would look like
Login URL: https://hcm68sales.successfactors.com
API Server URL: api68sales.successfactors.com
Need Help?
If you're unsure of your API Server URL or experiencing connection issues, contact your SAP Support team. SAP recommends this approach to ensure you receive the correct API server URL for your instance.
Step 2: Find your SAP Username and Company ID
To find your SAP SuccessFactors username, go to the upper right hand side and click on your profile image to view your username.
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
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)
Click Register Client Application
Fill out Application Name & Application URL (the URL has to begin with https://)
Click Generate X.509 Certificate. Fill out Common Name (the name doesn't matter) and hit Generate
Once the certificate populates, download and save it. You will have downloaded a file called Certificate.pem
Click Register (it will have replaced the Generate button)
Back on your Manage OAuth2 Client Applications, go to the application you just created and click Edit
You will now see an API key listed - this is your Client ID. Copy and save this Key.
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
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 (Unique Identifier) | |
Person ID External |
| Employee ID (Unique Identifier)* |
First Name / Last Name |
| Name |
Preferred Name |
| Preferred Name |
Date of Birth |
| Date of Birth |
Start Date |
| Start Date** |
Termination Date |
| End Date |
Supervisor (Work Email of the referenced Manager) |
| Manager Email (Hierarchy)*** |
![]()
Note:
(*) Employee ID: By default, Culture Amp uses personIdExternal. If your organization uses
assignmentIdExternal,userId, orusernameas 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_datefield (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
EmpJoband 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 thePerEmailentity.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
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
custom01orjobLevelin 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)
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
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:
Click the Finalise sync button.
Click Get Started.
On the review page, ensure Sync is selected in the "Sync with merge" section (ignore the other options).
Culture Amp will validate the data. If there are no concerns, click Next.
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.
If the data looks correct, click Import Data to pull the employees into Culture Amp.
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
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.
To enable: Go to Integrations, click on the Off button and toggle Auto-sync On.
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.
Go to Settings > Employee Data > Import History.
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
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 ( |
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.,
|
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 |
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:
|
Switching From CSV or Other Imports
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
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.
|
B. After Changes Are Applied | To clean up the duplicated profiles:
|
Further Guidance | Check out our dedicated support guide for further information on duplicate employee clean-up. |
Sync Blocked to Protect Employee Privacy
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
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.
























