Setup SAP SuccessFactors

Here are the settings you need to connect to SuccessFactors:

API URL: e.g. https://apisalesdemo8.successfactors.com - see this for more info on identifying your URL - SAP SuccessFactors URLs

OnLink supports both Basic and OAuth authentication mechanisms to connect to SuccessFactors.

image-20240417-141134.png

Basic Auth:

  • API Username: format is username@company_id, provide user access via: Admin Center >>  Manage Permission Roles >> Manage Integration Tools >> Enable Allow Admin to Access OData API through Basic Authentication. OnLink requires access to these entities: User, UserAccount, EmpJob, EmpEmployment, EmpEmploymentTermination, PerPerson, PerEmail. See this link for instructions on finding your Company ID.

  • API Password: <api user’s password>

OAuth:

  • Public and Private Keys - Create key pair using openssl command described here - create certificate. Copy the public and private keys from this step. $ openssl req -nodes -x509 -sha256 -newkey rsa:2048 -keyout private.pem -out public.pem

  • Client ID - Register OAuth2 client application - register application. Copy the API Key.

  • Company ID - see this link for instructions on finding your Company ID.

  • User ID - user id of a technical user who has the right permissions to access OData API

To confirm your OAuth credentials are valid, you can use this blog to test with a third party tool.

SuccessFactors Webhook

SAP SuccessFactors comes with Intelligent Services events that provides capabilities for HTTP-based events. As a result, a number of HR events in SAP SuccessFactors can be pushed to target systems. OnLink leverages this functionality to receive event notifications and help automate various use cases such as Employee Hire, Employee Termination, Employee Changes, etc.

Here’s the official documentation on this approach: https://community.sap.com/t5/technology-blogs-by-sap/sap-integration-suite-advanced-event-mesh-using-sap-successfactors/ba-p/13558143

Before you begin

Follow instructions in our Webhook documentation to create a new Webhook for Success Factors. Select Basic Authentication and enter username and password (called Secret for Success Factors).

Step by step procedure to configure Webhook in Success Factors

  1. In SuccessFactors, we need to set up an Intelligent Services New Hire Event to push data into OnLink. When you add a new employee, the Intelligent Services event will trigger and data will be pushed to OnLink.

  2. Login to SuccessFactors as an admin user. Search for and select ‘Integration Center’ in the search box at the top right of the page.

image-20240308-044740.png
  1. On the next page, click on My 'Integrations'. Then click on ‘Create’ at the top right of the page to create a new Integration. Then select ‘More Integration Types’.

  2. On the next page, select the values, as shown below, and click on ‘Create’.

    • Trigger Type - Intelligent Services

    • Source Type - SuccessFactors

    • Destination Type - Rest

    • Format - JSON

  1. On the next page, select the ‘Employee Hire’ event from the list and click ‘Select’.

  1. On the next page, provide a name and description for this integration.

  2. On the next tab, configure the elements required for your payload by adding them one by one. Click on the + sign and select ‘Insert Sibling Element’. Add a label and description. Click on the 3-line menu button and select ‘Change Association’. Associate the elements with the column on the right. Add elements, and click ‘Next’.

  1. On the next page, add any desired filters (optional). For example (below), if you were wanting to filter employees by country CHE only, then you can add this filter.

  2. On the final page, add detail for OnLink URL and save it. Below are the values to be configured in ‘REST SERVER SETTINGS’:

    • Connection Name - Any Unique Name. Eg - OnLink-Webhook

    • REST API URL - Please paste the webhook URL which you have noted from the OnLink webhook integration tile in the previous section.

    • Authentication Type - Please select ‘Basic Authentication’

    • User Name - The userid which you have noted from the OnLink integration tile in the previous section.

    • Password - The secret which you have noted from the OnLink integration tile in the previous section.

    • HTTP Method - POST

    • Payload Format - JSON