Skip to main content

SAP SuccessFactors Connector

SAP SuccessFactors SAP SuccessFactors is a cloud based human capital management (HCM) platform that helps organizations manage HR processes including recruiting, onboarding, performance management, and employee development. This component allows interaction with the SAP SuccessFactors OData API.

API Documentation

This component was built using the SAP SuccessFactors OData V2 API

Connections

API Key Authentication

Authenticate using OAuth 2.0 with a SAML 2.0 Bearer assertion. Recommended authentication method for SAP SuccessFactors.

Recommended

API Key Authentication is the recommended method for connecting to SAP SuccessFactors. It replaces Basic Authentication, which SAP SuccessFactors is removing on November 20, 2026.

Generate X.509 Certificate

First, generate an X.509 certificate and private key pair using OpenSSL:

# Generate private key
openssl genrsa -out private.pem 2048

# Generate certificate signing request
openssl req -new -key private.pem -out cert.csr

# Generate self-signed certificate (valid for 365 days)
openssl x509 -req -days 365 -in cert.csr -signkey private.pem -out public.pem

Save both private.pem (private key) and public.pem (certificate) files for later use.

Register OAuth2 Client Application

  1. Log into the SAP SuccessFactors instance as an administrator
  2. Navigate to Admin Center > API Center > OAuth Configuration for OData
    • Alternatively, search for Manage OAuth2 Client Applications in Action Search
  3. Select Register Client Application
  4. Configure the OAuth2 client application:
    • Application Name: Enter a descriptive name for the application
    • Application URL: Enter the application URL
    • X.509 Certificate: Upload or paste the contents of the public.pem certificate file
  5. Click Register to create the application
  6. Copy the API Key (also called Client ID) that is generated. This value is required for authentication
  7. From the integration connection fill in the required fields:
    • Company ID: The SAP SuccessFactors company identifier
    • User: The SAP SuccessFactors user ID (e.g., sfadmin)
    • API Key: The OAuth2 API Key from the registered client application
    • Issuer: Issuer information of the SAML assertion (e.g., www.successfactors.com)
    • Certificate Private Key: The private certificate key for OAuth2 authentication (PEM format, including -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- headers)
    • Certificate: The public certificate for OAuth2 authentication (PEM format, including -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- headers)
    • Audiences: Audiences of the SAML assertion (e.g., www.successfactors.com)
    • API Server (optional): The SAP SuccessFactors API server (defaults to sandbox environment if not specified)
    • Protocol: The protocol to use for API connections
InputCommentsDefault
Company IDSAP SuccessFactors Company ID
UserEnter the SAP SuccessFactors user ID that you use to access the APIs
API KeyYour OAuth2 Success Factors API Key
IssuerIssuer information of the SAML assertion
Certificate Private KeyYour Private Certificate Key for Success Factors OAuth2
CertificateYour Public Certificate for Success Factors OAuth2
AudiencesAudiences of the SAML assertion
API ServerYour SAP SuccessFactors api server, if you are not sure, please contact your SAP SuccessFactors administrator. If empty the sandbox environment will be used (sandbox.api.sap.com)
ProtocolThe SAP SuccessFactors protocol to use

Basic Authentication (Notice of Deprecation)

Authenticate using a username and password. Notice of Deprecation: SAP SuccessFactors is removing HTTP Basic Authentication on November 20, 2026. Use API Key Authentication instead.

Configuring Basic Authentication

  1. Log into the SAP SuccessFactors instance as an administrator
  2. Ensure valid user credentials with appropriate API access permissions are available
  3. From the integration connection fill in the required fields:
    • Company ID: The SAP SuccessFactors company identifier
    • Username: The SAP SuccessFactors username
    • Password: The SAP SuccessFactors password
    • API Server (optional): The SAP SuccessFactors API server (defaults to sandbox environment if not specified)
    • Protocol: The protocol to use for API connections

Notice of Deprecation

SAP SuccessFactors is removing HTTP Basic Authentication on November 20, 2026. After that date, connections using this method will stop working. Use API Key Authentication instead.

Migrating to API Key Authentication

Existing integrations using Basic Authentication must move to API Key Authentication before November 20, 2026 to avoid disruption. Because API Key Authentication is a separate connection type, migration replaces the Basic Authentication connection rather than editing its fields. Plan to complete these steps for every deployed instance.

  1. Complete the API Key Authentication prerequisites: generate an X.509 certificate and private key pair, then register an OAuth2 client application in SAP SuccessFactors to obtain an API Key. Refer to the API Key Authentication setup instructions for the full procedure.
  2. Add the API Key Authentication connection to the integration in place of the Basic Authentication connection.
  3. Re-publish the integration so the updated connection is available to deployed instances.
  4. For each existing instance, reconfigure the connection with the API Key Authentication values:
    • Company ID: The SAP SuccessFactors company identifier (carried over from the Basic Authentication connection)
    • User: The SAP SuccessFactors user ID (e.g., sfadmin)
    • API Key: The OAuth2 API Key from the registered client application
    • Issuer and Audiences: The SAML assertion values (e.g., www.successfactors.com)
    • Certificate Private Key and Certificate: The PEM-formatted key pair generated during setup
  5. Test each instance against SAP SuccessFactors to confirm the new connection authenticates successfully.
  6. Remove the Basic Authentication connection once every instance is verified on API Key Authentication.
Migration Deadline

SAP SuccessFactors removes HTTP Basic Authentication on November 20, 2026. Instances still using Basic Authentication after that date will fail to connect.

InputCommentsDefault
Company IDSAP SuccessFactors Company ID
UsernameSAP SuccessFactors Username
PasswordSAP SuccessFactors Password
ProtocolThe SAP SuccessFactors protocol to use
API ServerYour SAP SuccessFactors api server, if you are not sure, please contact your SAP SuccessFactors administrator. If empty the sandbox environment will be used (sandbox.api.sap.com)

Triggers

New and Updated Records

Checks for new and updated records in a selected SAP SuccessFactors resource type on a configured schedule.

InputCommentsDefault
Connection
Resource TypeThe SAP SuccessFactors resource type to poll for new or updated records.
Show New RecordsWhen true, newly created records are included in the trigger output.true
Show Updated RecordsWhen true, records that were updated after the last poll are included in the trigger output.true

Actions

Create Candidate

Create a new candidate.

InputCommentsDefault
Connection
First NameThe given name of the candidate.
Last NameThe family name of the candidate.
Primary EmailThe primary email address used to contact the candidate.
CountryThe country where the candidate resides.
Additional InputsThe additional fields to send in the request body, as a JSON object.

Create Job Application

Create a new job application.

InputCommentsDefault
Connection
Candidate IDThe unique identifier for the candidate the job application is created for.
Job Requisition IDThe unique identifier for the job requisition the job application is created for.
Additional InputsThe additional fields to send in the request body, as a JSON object.

Create Job Requisition

Create a new job requisition.

InputCommentsDefault
Connection
Template IDThe unique identifier for the job requisition template to base the requisition on.
Additional InputsThe required fields for the selected template, as a JSON object.

Create Onboarding Candidate Info

Create new onboarding candidate info.

InputCommentsDefault
Connection
Additional InputsThe additional fields to send in the request body, as a JSON object.

Create Record

Create a new record in SAP SuccessFactors.

InputCommentsDefault
Connection
Record TypeThe OData entity name identifying the kind of record to operate on.
Additional InputsThe additional fields to send in the request body, as a JSON object.

Delete Job Requisition

Delete a job requisition by ID.

InputCommentsDefault
Connection
Job Requisition IDThe unique identifier for the job requisition to delete.

Delete Onboarding Candidate Info

Delete onboarding candidate info by ID.

InputCommentsDefault
Connection
Applicant IDThe unique identifier for the onboarding applicant.

Delete Record

Delete an existing record in SAP SuccessFactors.

InputCommentsDefault
Connection
Record TypeThe OData entity name identifying the kind of record to delete.
Record Type IDThe unique identifier for the record to delete.

Get Candidate

Retrieve a candidate by ID.

InputCommentsDefault
Connection
Candidate IDThe unique identifier for the candidate.
SelectThe comma-separated list of properties to include in the response.

Get Job Application

Retrieve a job application by ID.

InputCommentsDefault
Connection
Job Application IDThe unique identifier for the job application.
SelectThe comma-separated list of properties to include in the response.

Get Job Requisition

Retrieve a job requisition by ID.

InputCommentsDefault
Connection
Job Requisition IDThe unique identifier for the job requisition.
SelectThe comma-separated list of properties to include in the response.

Get Onboarding Candidate Info

Retrieve onboarding candidate info by ID.

InputCommentsDefault
Connection
Applicant IDThe unique identifier for the onboarding applicant.
SelectThe comma-separated list of properties to include in the response.

Get Record

Retrieve a single record from SAP SuccessFactors.

InputCommentsDefault
Connection
Record TypeThe OData entity name identifying the kind of record to operate on.
Record Type IDThe unique identifier for the record within its record type.
SelectThe comma-separated list of properties to include in the response.

List Candidates

List candidates.

InputCommentsDefault
Connection
Fetch AllWhen true, automatically fetches all pages of results. When false, the other inputs control which records are returned.false
TopThe maximum number of records to return.
SkipThe number of records to skip before returning results.
SearchThe search phrase used to filter the returned items.
SelectThe comma-separated list of properties to include in the response.
FilterThe OData filter expression used to narrow results by property values.
CountWhen true, includes a count of the matching items in the response.false
Order ByThe property and direction used to sort the returned items.
ExpandThe related entities to expand and include in the response.
Custom Query ParamsThe additional query string parameters to append to the request.

List Job Applications

List job applications.

InputCommentsDefault
Connection
Fetch AllWhen true, automatically fetches all pages of results. When false, the other inputs control which records are returned.false
TopThe maximum number of records to return.
SkipThe number of records to skip before returning results.
SearchThe search phrase used to filter the returned items.
SelectThe comma-separated list of properties to include in the response.
FilterThe OData filter expression used to narrow results by property values.
CountWhen true, includes a count of the matching items in the response.false
Order ByThe property and direction used to sort the returned items.
ExpandThe related entities to expand and include in the response.
Custom Query ParamsThe additional query string parameters to append to the request.

List Job Requisitions

List job requisitions.

InputCommentsDefault
Connection
Fetch AllWhen true, automatically fetches all pages of results. When false, the other inputs control which records are returned.false
TopThe maximum number of records to return.
SkipThe number of records to skip before returning results.
SearchThe search phrase used to filter the returned items.
SelectThe comma-separated list of properties to include in the response.
FilterThe OData filter expression used to narrow results by property values.
CountWhen true, includes a count of the matching items in the response.false
Order ByThe property and direction used to sort the returned items.
ExpandThe related entities to expand and include in the response.
Custom Query ParamsThe additional query string parameters to append to the request.

List Onboarding Candidate Info

List onboarding candidate info.

InputCommentsDefault
Connection
Fetch AllWhen true, automatically fetches all pages of results. When false, the other inputs control which records are returned.false
TopThe maximum number of records to return.
SkipThe number of records to skip before returning results.
SearchThe search phrase used to filter the returned items.
SelectThe comma-separated list of properties to include in the response.
FilterThe OData filter expression used to narrow results by property values.
CountWhen true, includes a count of the matching items in the response.false
Order ByThe property and direction used to sort the returned items.
ExpandThe related entities to expand and include in the response.
Custom Query ParamsThe additional query string parameters to append to the request.

List Records

Retrieve a list of records from SAP SuccessFactors.

InputCommentsDefault
Connection
Record TypeThe OData entity name identifying the kind of record to operate on.
Fetch AllWhen true, automatically fetches all pages of results. When false, the other inputs control which records are returned.false
TopThe maximum number of records to return.
SkipThe number of records to skip before returning results.
SearchThe search phrase used to filter the returned items.
SelectThe comma-separated list of properties to include in the response.
FilterThe OData filter expression used to narrow results by property values.
CountWhen true, includes a count of the matching items in the response.false
Order ByThe property and direction used to sort the returned items.
ExpandThe related entities to expand and include in the response.
Custom Query ParamsThe additional query string parameters to append to the request.

Raw Request

Send raw HTTP request to the SAP SuccessFactors API.

InputCommentsDefault
Connection
URLThe request path only (for example, /Candidate). The base API server URL is already included, so to reach <API_SERVER_URL>/Candidate, enter only /Candidate in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Update Candidate

Update an existing candidate.

InputCommentsDefault
Connection
Candidate IDThe unique identifier for the candidate.
First NameThe given name of the candidate.
Last NameThe family name of the candidate.
Primary EmailThe primary email address used to contact the candidate.
CountryThe country where the candidate resides.
Additional InputsThe additional fields to send in the request body, as a JSON object.

Update Job Application

Update an existing job application.

InputCommentsDefault
Connection
Job Application IDThe unique identifier for the job application.
Candidate IDThe unique identifier for the candidate to associate with the job application.
Job Requisition IDThe unique identifier for the job requisition to associate with the job application.
Additional InputsThe additional fields to send in the request body, as a JSON object.

Update Job Requisition

Update an existing job requisition.

InputCommentsDefault
Connection
Job Requisition IDThe unique identifier for the job requisition.
Additional InputsThe template fields to update, as a JSON object.

Update Onboarding Candidate Info

Update existing onboarding candidate info.

InputCommentsDefault
Connection
Applicant IDThe unique identifier for the onboarding applicant.

Update Record

Update an existing record in SAP SuccessFactors.

InputCommentsDefault
Connection
Record TypeThe OData entity name identifying the kind of record to operate on.
Record Type IDThe unique identifier for the record within its record type.
Additional InputsThe additional fields to send in the request body, as a JSON object.