Prerequisites
- You are an Admin of your SAP SuccessFactors instance. If you are not an admin, you won't even be able to search for and access the configuration pages that are described later on.
- Alternatively, please contact your SuccessFactors Admin and have them take over the integration setup process.
- The OData v2 API is available and enabled on your SuccessFactors instance (it is by default, so this is usually not something to worry about).
Find your API domain
Your API domain will depend on which region you are based in. To find it, you have to:
- Open the SuccessFactors API URLs list.
- Filter for production environments (unless you're trying to connect a preview instance)
- Once the filter is applied, find your location and select the API domain. If you are, for example, based in Germany, your production URL would be https://api012.successfactors.eu/
Hint: The resulting “API Server” URL will often look quite similar to the SuccessFactors domain you log in on (the API for pmsalesdemo8.successfactors.com is, for example, located at apisalesdemo8.successfactors.com)
Please note that this is a workaround as there is no direct way to get the API domain via the SuccessFactors UI on your own. SAP shares in their help center that you should reach out to your SAP consultant to get the proper API domain.
Your API endpoint will depend on where your SAP SuccessFactors instance is located. It can be in one of several data centers. Please contact your SAP SuccessFactors representative if you are unsure of which data center to use. You'll find the endpoints in the Related Information section.
Find your Company ID
- Click on the profile picture in the top right and then on "Show version information":
- Copy the value right next to Company ID:
Create a new user
- In the admin center, go to the search console and type in "Import Employee Data"
Click on the action that just appeared: - Click on "Import data" and then select "Download Template":
- Click on the field next to "Select an entity" and then on "Basic Import":
- Click on the "Generate Template" button
- You will receive a .csv file to download. It likely contains two rows.
- Add an additional row and fill out at least these fields
- Status: active
- User ID: SFAPI_INTEGRATION (for example, any value possible)
- Username: SFAPI_INTEGRATION (for example, any value possible)
- First name: API (for example, any value possible)
- Last name: Integration (for example, any value possible)
- Email: integration+user@example.com (any value possible - doesn't have to be a valid email)
- Manager: NO_MANAGER
- HR: NO_HR
- Default locale: en_US
Your CSV should now look something like this example CSV.
It's important that you generate your own .csv template and don't download this example, as your SuccessFactors instance will be configured differently
- Now click on "Download Template" and then on "Import Data" to switch back
- Click on the field next to "Select an entity" and then on "Basic Import"
- Click on the "Browse" and select your .csv file to upload
- Click on the "Validate Import File Data" button
- If you see the "Validation Successful" dialog, click on the "Import" button
- You should now see this success dialog
- Please keep the .csv file open in the background, as you will need to reference it later.
- You can ensure the creation succeeded by searching for the employee name (first name and last name) or username and seeing it under the "People" section. Don't be confused if the new user doesn't show up immediately; it can sometimes take a few minutes for the user to show up in the search!
- Once the user shows up as described in step 12, you can move on to creating the permissions group.
Create a permissions group
- Go to your search bar and enter "Manage Permission Groups"
Click on the Action - On the new page, click the "Create New" button
- Give the group a "name" and click on "Pick a category"
Select the category option "Username" - Search for your user (to learn how to create a new one, click here) by entering its username and tick the box next to it
- Click "Done"
- You should now see your user in the people pool
- Click "Done"
Create a permission role
- Go to the search bar and enter "Manage Permission Roles"
Then click on the action with the same name - On the new page, click on "Create"
- Enter a Name for the permission role and click "Next"
- Now you have to assign the correct permissions to the permission group. To do this, go through the following steps:
- See the needed permissions in the connection flow
This is just an example. To see the scopes that are required for you, open the connection flow yourself.
- For each Bullet, find the permission category in the sidebar. I.e., for "Manage System Properties", find the corresponding permission group in the sidebar of the SF UI
You can find these more easily by pressing STRG + F and pasting the permission there - Now for each sub-bullet, click the right permission in the category
- See the needed permissions in the connection flow
- When you have checked all necessary permissions, click "Next"
- On the next page, click on "Save"
- In the new window, click on "Yes"
- Add a Name to the Role Assignment and click "Next"
- In the "Grant Access To" tab, click on "Select Groups"
- Enter the name of your permission group (if you haven't created one yet, click here) and select it
- Click "Select"
- You should now see your permission group
- Click "Next" again
- At last, click "Save"
Generate new OAuth2 client credentials
- Go to your search bar and enter "Manage OAuth2 Client Applications"
Click on the action - In the new window, click on "Register Client Application"
- In the new window, enter a name and a valid URL (this can be literally any URL; you can enter any value you want - it should start with 'https://') for the application, then click the "Bind to Users" checkbox and click "OK"
- Enter the USERID of the user that you created earlier
-
Do not click "Generate X.509 Certificate" but instead, "Copy" the certificate from the connection flow:
- Paste the certificate and click "Register"
- Now click on "View" in the row at the very top
- Get the API key
- Now paste the API key into the connection flow:
Enable Background Check in Recruiting
- In SuccessFactors, go to Admin Center and search for "Background Check Central":
- Make sure the "Enable Background Check in Recruiting" is on, and that the "Other Background Check Vendor" option is selected:
Set Up Background Check Integration
- In SuccessFactors, go to Admin Center and search for "Integration Center":
- Click on "My Integrations":
- Click on the "+ Create" button, and select "More Integration Types" from the dropdown:
- Make sure the options instructed in the connection flow are selected in the "Choose Integration Type" pop-up, and click on "Create":
- Search for
JobApplicationBackgroundCheckRequestin the "Search for Entities by Entity Name" search box, select the entity and click on "Select":
- In the "Options" step, enter a name for the integration. You can use what's suggested in the connection flow, and click "Next":
- In the "Configure Fields" step, click on the "plus" button, select "Insert Sibling Element":
- Per the instruction of the connection flow, please change the Sibling Element's label to
backgroundCheckInfo:
- Under the
backgroundCheckInfo, click on the "plus" button and select "Add Child Element":
- Please add the Child Elements instructed by the connection flow. We are going to use the
requestIdfield as an example:- Select the child "Element", and change its "Label" to
requestId, and click on the "Set as Associated Field" icon:
- Select the related field as instructed by the connection flow from the "Entity Tree View" section of the pop-up, and click on the "Change Association to "<PLACEHOLDER_FOR_RELATED_FIELD>"":
- Repeat the same process for the renaming of Child Elements instructed by the connection flow:
- The "Field Detail View" should look like the following example once you're done:
- Select the child "Element", and change its "Label" to
- Skip to the "Destination Settings" step:
- In the "Destination Settings" step, select the "REST Server Settings" option. Copy the "REST API URL" from the connection flow. Set the "Authentication Type" to
Basic Authentication, and copy the "User Name" and "Password" from the connection flow. Please also make sure the value of "HTTP Method" is set toPOST:
- Click on "Save" and "Save" from the options list:
- Click "Save" in the pop-up:
Set Up Recruiting Vendor
- In SuccessFactors, go to Admin Center and search for "Manage Data":
- Select the
Recruiting External Vendoroption from the "Create New" dropdown:
- Enter the Recruiting External Vendor's details instructed by the connection flow, and click "Save":
- Go back to "Manage Data", and select the
Recruiting Vendor Integration Mappingoption from the "Create New" dropdown:
- Enter the Recruiting Vendor Integration Mapping's details instructed by the connection flow, and click "Save":
Only one Recruiting Vendor Integration Mapping can be active at once. Please ensure the existing Vendor Integration Mapping's Default Integration is set toNo.
- Click on "Continue" in the connection flow:
Configure Job Requisition Template
- Search for "Manage Templates" and select it from the dropdown:
- Select the "Recruiting Management" tab and click "Job Requisition":
- Click on the job requisition template that belongs to your job (we're using the "Job Requisition - Quick Apply" template in this example):
If you don't know which template your job requisition is based on, follow the steps here for an easy way to find out
- Click on the "XX Fields Defined. Click to modify" link:
- Search for and make sure there's a field with the following values in the "Fields" pop-up:
Field-ID:bgiAccountId
Field Type:picklist
Picklist ID:bgiAccountId
Otherwise, create a "standard" field with the following details:
Field-ID:bgiAccountId
Field Type:picklist
Field Label:Background Check Vendors Account ID
Field Description:Background Check Vendors Account ID
Required:False
Picklist ID:bgiAccountId
- Search for and make sure there's a field with the following values
Field-ID:packageId
Field Type:picklist
Picklist ID:packageId
Otherwise, create a "standard" field with the following details:
Field-ID:packageId
Field Type:picklist
Field Label:Background Check Vendor Package ID
Field Description:Background Check Vendor Package ID
Required:False
Picklist ID:packageId
- Search for and make sure there's a field with the following values in the "Fields" pop-up:
-
Close the "Fields" pop-up by clicking on "Done", and click on the "XX Fields
Permission Defined. Click to modify" link:
- Click on "Add field permission" in the "Field Permissions" pop-up:
- Please enter the following properties, and click "Done":
Field Permission Description:Background Check
Field Permission Type:Write Permission
Field Permission Role Name:AllorSelected → Recuiter
Reference ID: SelectbgiAccountIdandpackageId
Permission Status:AllorSelected → pre-approved
- Click on "Add field permission" in the "Field Permissions" pop-up:
- Configure Feature Permissions
- Go to "General Settings" → "Application Status Configuration":
- Click on the "XX Feature Permissions defined. Click to modify." link:
- Click on "Add feature permission" in the "Feature Permissions" pop-up:
- Please enter the following properties, and click "Done":
Feature Permission Description:Show Background Check Result on Candidate
Feature Permission Type:backgroudCheck
Feature Permission Role Name:All
Feature Permission Status:AllorSelected → pre-approved
The "Feature Permission Status" field controls in which stages the "Background Check" section can be seen on a candidate's application page. You can create thebackgroundCheckFeature Permission for as many stages as you wish.
- Go to "General Settings" → "Application Status Configuration":
-
Click on "Publish":
- Click on "Yes" in the "Publish Confirmation" pop-up:
- Click "Set up integration" in the connection flow to finalise the connection:
Find out which template is used for a job requisition
- Search for "Reassign Job Requisitions":
- Type in the ID of the Job Requisition and click on the suggestion, then click "Search":
- The template name will be shown in the highlighted area: