Skip to main content
sap-successfactors icon

SAP SuccessFactors Connector

SourceAPI DocsAPI ChangelogConnector Changelog

Description

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

key: sap-successfactors-api-key-authentication
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
InputNotesExample
API Key

Your OAuth2 Success Factors API Key

YzVjNzI4MTIsdryNmJkOTVkYWJmODBiZjdkYg
API Server

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

testing.successfactors.com
Audiences

Audiences of the SAML assertion

www.successfactors.com
Certificate

Your Public Certificate for Success Factors OAuth2

Company ID

SAP SuccessFactors Company ID

Issuer

Issuer information of the SAML assertion

wwww.successfactors.com
Certificate Private Key

Your Private Certificate Key for Success Factors OAuth2

Protocol

The SAP SuccessFactors protocol to use

User

Enter the SAP SuccessFactors user ID that you use to access the APIs

sfadmin

Basic Authentication (Notice of Deprecation)

key: sap-successfactors-basic-authentication

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.

InputNotesExample
API Server

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

testing.successfactors.com
Company ID

SAP SuccessFactors Company ID

Password

SAP SuccessFactors Password

Protocol

The SAP SuccessFactors protocol to use

Username

SAP SuccessFactors Username

Triggers

New and Updated Records

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

InputNotesExample
Connection
Resource Type

The SAP SuccessFactors resource type to poll for new or updated records.

Show New Records

When true, newly created records are included in the trigger output.

true
Show Updated Records

When true, records that were updated after the last poll are included in the trigger output.

true

This trigger polls the SAP SuccessFactors OData V2 API for new and updated records on a scheduled basis.

How It Works

Polling Lifecycle (5 steps)
  1. The trigger runs on the configured schedule
  2. It fetches records from SAP SuccessFactors using a server-side OData $filter predicate (lastModifiedDateTime gt datetime'YYYY-MM-DDTHH:mm:ss'), passing the last poll time to retrieve only records modified since the previous execution
  3. Records are categorized as created or updated based on their createdDateTime relative to the last poll time. Records whose createdDateTime exceeds the last poll time are classified as created; all other records returned by the query are classified as updated
  4. The trigger updates its internal state after each poll
  5. On the very first execution, the last poll time is initialized to the current time so historical records do not flood the workflow

Returned Data

The trigger returns an object with two arrays: created for new records and updated for modified records.

Fields shown are representative. The full response object includes additional properties.

Example Response (24 lines)
{
"data": {
"created": [
{
"candidateId": "12345",
"firstName": "Jane",
"lastName": "Doe",
"primaryEmail": "jane.doe@example.com",
"createdDateTime": "/Date(1705401000000)/",
"lastModifiedDateTime": "/Date(1705401000000)/"
}
],
"updated": [
{
"candidateId": "67890",
"firstName": "John",
"lastName": "Smith",
"primaryEmail": "john.smith@example.com",
"createdDateTime": "/Date(1704672000000)/",
"lastModifiedDateTime": "/Date(1705493400000)/"
}
]
}
}

Notes

Behavior Notes (5)
  • The $filter predicate is applied server-side, so only records modified since the last poll are returned. This minimizes data transfer on each execution
  • SAP SuccessFactors returns timestamps in the Microsoft JSON date format (/Date(<milliseconds>)/); these values are passed through unchanged in the trigger output
  • If both Show New Records and Show Updated Records are disabled, the trigger short-circuits and skips the API call entirely
  • All four supported resource types expose the lastModifiedDateTime field, which drives the server-side filter
  • Refer to the SAP SuccessFactors OData V2 API documentation for rate limit details and available fields per resource type

Data Sources

Select Candidate

A picklist of candidates in SAP SuccessFactors. | key: selectCandidate | type: picklist

InputNotesExample
Connection
Example Payload for Select Candidate
Loading…

Select Job Application

A picklist of job applications in SAP SuccessFactors. | key: selectJobApplication | type: picklist

InputNotesExample
Connection
Example Payload for Select Job Application
Loading…

Select Job Requisition

A picklist of job requisitions in SAP SuccessFactors. | key: selectJobRequisition | type: picklist

InputNotesExample
Connection
Example Payload for Select Job Requisition
Loading…

Actions

Create Candidate

Create a new candidate. | key: createCandidate

InputNotesExample
Additional Inputs

The additional fields to send in the request body, as a JSON object.

{
  "candidateId": [
    "string",
    "null"
  ],
  "createdBy": [
    "string",
    "null"
  ],
  "createdDateTime": "/Date(1492098664000)/",
  "crossboarded": true,
  "department": [
    "string",
    "null"
  ],
  "division": [
    "string",
    "null"
  ],
  "email": [
    "string",
    "null"
  ],
  "externalName_de_DE": [
    "string",
    "null"
  ],
  "externalName_defaultValue": [
    "string",
    "null"
  ],
  "externalName_en_GB": [
    "string",
    "null"
  ],
  "externalName_en_US": [
    "string",
    "null"
  ],
  "externalName_es_ES": [
    "string",
    "null"
  ],
  "externalName_fr_FR": [
    "string",
    "null"
  ],
  "externalName_ja_JP": [
    "string",
    "null"
  ],
  "externalName_ko_KR": [
    "string",
    "null"
  ],
  "externalName_localized": [
    "string",
    "null"
  ],
  "externalName_nl_NL": [
    "string",
    "null"
  ],
  "externalName_pt_BR": [
    "string",
    "null"
  ],
  "externalName_pt_PT": [
    "string",
    "null"
  ],
  "externalName_ru_RU": [
    "string",
    "null"
  ],
  "externalName_zh_CN": [
    "string",
    "null"
  ],
  "externalName_zh_TW": [
    "string",
    "null"
  ],
  "fName": [
    "string",
    "null"
  ],
  "failedSEBEventsOccured": true,
  "fromExternalATS": true,
  "globalAssignment": true,
  "hireDate": [
    "string",
    "null"
  ],
  "hired": true,
  "hrManagerId": [
    "string",
    "null"
  ],
  "internalHire": true,
  "jobReqId": [
    "string",
    "null"
  ],
  "jobTitle": [
    "string",
    "null"
  ],
  "kmsUserId": [
    "string",
    "null"
  ],
  "lName": [
    "string",
    "null"
  ],
  "lastModifiedBy": [
    "string",
    "null"
  ],
  "lastModifiedDateTime": "/Date(1492098664000)/",
  "location": [
    "string",
    "null"
  ],
  "managerId": [
    "string",
    "null"
  ],
  "mdfSystemRecordStatus": [
    "string",
    "null"
  ],
  "onboardingLocale": [
    "string",
    "null"
  ],
  "payGrade": [
    "string",
    "null"
  ],
  "processorId": [
    "string",
    "null"
  ],
  "readyToHire": true,
  "userId": [
    "string",
    "null"
  ],
  "workCountry": [
    "string",
    "null"
  ]
}
Connection
Country

The country where the candidate resides.

United States
First Name

The given name of the candidate.

John
Last Name

The family name of the candidate.

Doe
Primary Email

The primary email address used to contact the candidate.

john.doe@example.com
Example Payload for Create Candidate
Loading…

Create Job Application

Create a new job application. | key: createJobApplication

InputNotesExample
Additional Inputs

The additional fields to send in the request body, as a JSON object.

{
  "__metadata": {
    "uri": "https://api68sales.successfactors.com/odata/v2/JobApplication(388L)",
    "type": "SFOData.JobApplication"
  },
  "applicationId": "388",
  "posTitle": null,
  "lastName": "Reis",
  "firstName": "Marcelo",
  "jobCode": null,
  "status": "Open"
}
Candidate ID

The unique identifier for the candidate the job application is created for.

1234-5678
Connection
Job Requisition ID

The unique identifier for the job requisition the job application is created for.

1234-5678
Example Payload for Create Job Application
Loading…

Create Job Requisition

Create a new job requisition. | key: createJobRequisition

InputNotesExample
Additional Inputs

The required fields for the selected template, as a JSON object.

{
  "country": "US",
  "state": "CA",
  "city": "San Francisco",
  "recruiter/userName": "jdoe"
}
Connection
Template ID

The unique identifier for the job requisition template to base the requisition on.

1234-5678
Example Payload for Create Job Requisition
Loading…

Create Onboarding Candidate Info

Create new onboarding candidate info. | key: createOnboardingCandidateInfo

InputNotesExample
Additional Inputs

The additional fields to send in the request body, as a JSON object.

{
  "candidateId": [
    "string",
    "null"
  ],
  "createdBy": [
    "string",
    "null"
  ],
  "createdDateTime": "/Date(1492098664000)/",
  "crossboarded": true,
  "department": [
    "string",
    "null"
  ],
  "division": [
    "string",
    "null"
  ],
  "email": [
    "string",
    "null"
  ],
  "externalName_de_DE": [
    "string",
    "null"
  ],
  "externalName_defaultValue": [
    "string",
    "null"
  ],
  "externalName_en_GB": [
    "string",
    "null"
  ],
  "externalName_en_US": [
    "string",
    "null"
  ],
  "externalName_es_ES": [
    "string",
    "null"
  ],
  "externalName_fr_FR": [
    "string",
    "null"
  ],
  "externalName_ja_JP": [
    "string",
    "null"
  ],
  "externalName_ko_KR": [
    "string",
    "null"
  ],
  "externalName_localized": [
    "string",
    "null"
  ],
  "externalName_nl_NL": [
    "string",
    "null"
  ],
  "externalName_pt_BR": [
    "string",
    "null"
  ],
  "externalName_pt_PT": [
    "string",
    "null"
  ],
  "externalName_ru_RU": [
    "string",
    "null"
  ],
  "externalName_zh_CN": [
    "string",
    "null"
  ],
  "externalName_zh_TW": [
    "string",
    "null"
  ],
  "fName": [
    "string",
    "null"
  ],
  "failedSEBEventsOccured": true,
  "fromExternalATS": true,
  "globalAssignment": true,
  "hireDate": [
    "string",
    "null"
  ],
  "hired": true,
  "hrManagerId": [
    "string",
    "null"
  ],
  "internalHire": true,
  "jobReqId": [
    "string",
    "null"
  ],
  "jobTitle": [
    "string",
    "null"
  ],
  "kmsUserId": [
    "string",
    "null"
  ],
  "lName": [
    "string",
    "null"
  ],
  "lastModifiedBy": [
    "string",
    "null"
  ],
  "lastModifiedDateTime": "/Date(1492098664000)/",
  "location": [
    "string",
    "null"
  ],
  "managerId": [
    "string",
    "null"
  ],
  "mdfSystemRecordStatus": [
    "string",
    "null"
  ],
  "onboardingLocale": [
    "string",
    "null"
  ],
  "payGrade": [
    "string",
    "null"
  ],
  "processorId": [
    "string",
    "null"
  ],
  "readyToHire": true,
  "userId": [
    "string",
    "null"
  ],
  "workCountry": [
    "string",
    "null"
  ]
}
Connection
Example Payload for Create Onboarding Candidate Info
Loading…

Create Record

Create a new record in SAP SuccessFactors. | key: createRecord

InputNotesExample
Additional Inputs

The additional fields to send in the request body, as a JSON object.

{}
Connection
Record Type

The OData entity name identifying the kind of record to operate on.

Candidate
Example Payload for Create Record
Loading…

Delete Job Requisition

Delete a job requisition by ID. | key: deleteJobRequisition

InputNotesExample
Connection
Job Requisition ID

The unique identifier for the job requisition to delete.

1234-5678
Example Payload for Delete Job Requisition
Loading…

Delete Onboarding Candidate Info

Delete onboarding candidate info by ID. | key: deleteOnboardingCandidateInfo

InputNotesExample
Applicant ID

The unique identifier for the onboarding applicant.

1234-5678
Connection
Example Payload for Delete Onboarding Candidate Info
Loading…

Delete Record

Delete an existing record in SAP SuccessFactors. | key: deleteRecord

InputNotesExample
Connection
Record Type

The OData entity name identifying the kind of record to delete.

Candidate
Record Type ID

The unique identifier for the record to delete.

1234-5678
Example Payload for Delete Record
Loading…

Get Candidate

Retrieve a candidate by ID. | key: getCandidate

InputNotesExample
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Candidate ID

The unique identifier for the candidate.

1234-5678
Connection
Example Payload for Get Candidate
Loading…

Get Job Application

Retrieve a job application by ID. | key: getJobApplication

InputNotesExample
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Connection
Job Application ID

The unique identifier for the job application.

1234-5678
Example Payload for Get Job Application
Loading…

Get Job Requisition

Retrieve a job requisition by ID. | key: getJobRequisition

InputNotesExample
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Connection
Job Requisition ID

The unique identifier for the job requisition.

1234-5678
Example Payload for Get Job Requisition
Loading…

Get Onboarding Candidate Info

Retrieve onboarding candidate info by ID. | key: getOnboardingCandidateInfo

InputNotesExample
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Applicant ID

The unique identifier for the onboarding applicant.

1234-5678
Connection
Example Payload for Get Onboarding Candidate Info
Loading…

Get Record

Retrieve a single record from SAP SuccessFactors. | key: getRecord

InputNotesExample
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Connection
Record Type

The OData entity name identifying the kind of record to operate on.

Candidate
Record Type ID

The unique identifier for the record within its record type.

1234-5678
Example Payload for Get Record
Loading…

List Candidates

List candidates. | key: listCandidates

InputNotesExample
Count

When true, includes a count of the matching items in the response.

false
Expand

The related entities to expand and include in the response.

Orders($filter=Amount gt 100)
Filter

The OData filter expression used to narrow results by property values.

Price lt 10.00
Order By

The property and direction used to sort the returned items.

userId desc
Search

The search phrase used to filter the returned items.

NOT clothing
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Skip

The number of records to skip before returning results.

20
Top

The maximum number of records to return.

20
Connection
Custom Query Params

The additional query string parameters to append to the request.

key1=value1
Fetch All

When true, automatically fetches all pages of results. When false, the other inputs control which records are returned.

false
Example Payload for List Candidates
Loading…

List Job Applications

List job applications. | key: listJobApplications

InputNotesExample
Count

When true, includes a count of the matching items in the response.

false
Expand

The related entities to expand and include in the response.

Orders($filter=Amount gt 100)
Filter

The OData filter expression used to narrow results by property values.

Price lt 10.00
Order By

The property and direction used to sort the returned items.

userId desc
Search

The search phrase used to filter the returned items.

NOT clothing
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Skip

The number of records to skip before returning results.

20
Top

The maximum number of records to return.

20
Connection
Custom Query Params

The additional query string parameters to append to the request.

key1=value1
Fetch All

When true, automatically fetches all pages of results. When false, the other inputs control which records are returned.

false
Example Payload for List Job Applications
Loading…

List Job Requisitions

List job requisitions. | key: listJobRequisitions

InputNotesExample
Count

When true, includes a count of the matching items in the response.

false
Expand

The related entities to expand and include in the response.

Orders($filter=Amount gt 100)
Filter

The OData filter expression used to narrow results by property values.

Price lt 10.00
Order By

The property and direction used to sort the returned items.

userId desc
Search

The search phrase used to filter the returned items.

NOT clothing
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Skip

The number of records to skip before returning results.

20
Top

The maximum number of records to return.

20
Connection
Custom Query Params

The additional query string parameters to append to the request.

key1=value1
Fetch All

When true, automatically fetches all pages of results. When false, the other inputs control which records are returned.

false
Example Payload for List Job Requisitions
Loading…

List Onboarding Candidate Info

List onboarding candidate info. | key: listOnboardingCandidateInfo

InputNotesExample
Count

When true, includes a count of the matching items in the response.

false
Expand

The related entities to expand and include in the response.

Orders($filter=Amount gt 100)
Filter

The OData filter expression used to narrow results by property values.

Price lt 10.00
Order By

The property and direction used to sort the returned items.

userId desc
Search

The search phrase used to filter the returned items.

NOT clothing
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Skip

The number of records to skip before returning results.

20
Top

The maximum number of records to return.

20
Connection
Custom Query Params

The additional query string parameters to append to the request.

key1=value1
Fetch All

When true, automatically fetches all pages of results. When false, the other inputs control which records are returned.

false
Example Payload for List Onboarding Candidate Info
Loading…

List Records

Retrieve a list of records from SAP SuccessFactors. | key: listRecords

InputNotesExample
Count

When true, includes a count of the matching items in the response.

false
Expand

The related entities to expand and include in the response.

Orders($filter=Amount gt 100)
Filter

The OData filter expression used to narrow results by property values.

Price lt 10.00
Order By

The property and direction used to sort the returned items.

userId desc
Search

The search phrase used to filter the returned items.

NOT clothing
Select

The comma-separated list of properties to include in the response.

Rating,ReleaseDate
Skip

The number of records to skip before returning results.

20
Top

The maximum number of records to return.

20
Connection
Custom Query Params

The additional query string parameters to append to the request.

key1=value1
Fetch All

When true, automatically fetches all pages of results. When false, the other inputs control which records are returned.

false
Record Type

The OData entity name identifying the kind of record to operate on.

Candidate
Example Payload for List Records
Loading…

Raw Request

Send raw HTTP request to the SAP SuccessFactors API. | key: rawRequest

InputNotesExample
Connection
Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

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

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If 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
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

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

/Candidate
Use Exponential Backoff

Specifies 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. | key: updateCandidate

InputNotesExample
Additional Inputs

The additional fields to send in the request body, as a JSON object.

{
  "candidateId": [
    "string",
    "null"
  ],
  "createdBy": [
    "string",
    "null"
  ],
  "createdDateTime": "/Date(1492098664000)/",
  "crossboarded": true,
  "department": [
    "string",
    "null"
  ],
  "division": [
    "string",
    "null"
  ],
  "email": [
    "string",
    "null"
  ],
  "externalName_de_DE": [
    "string",
    "null"
  ],
  "externalName_defaultValue": [
    "string",
    "null"
  ],
  "externalName_en_GB": [
    "string",
    "null"
  ],
  "externalName_en_US": [
    "string",
    "null"
  ],
  "externalName_es_ES": [
    "string",
    "null"
  ],
  "externalName_fr_FR": [
    "string",
    "null"
  ],
  "externalName_ja_JP": [
    "string",
    "null"
  ],
  "externalName_ko_KR": [
    "string",
    "null"
  ],
  "externalName_localized": [
    "string",
    "null"
  ],
  "externalName_nl_NL": [
    "string",
    "null"
  ],
  "externalName_pt_BR": [
    "string",
    "null"
  ],
  "externalName_pt_PT": [
    "string",
    "null"
  ],
  "externalName_ru_RU": [
    "string",
    "null"
  ],
  "externalName_zh_CN": [
    "string",
    "null"
  ],
  "externalName_zh_TW": [
    "string",
    "null"
  ],
  "fName": [
    "string",
    "null"
  ],
  "failedSEBEventsOccured": true,
  "fromExternalATS": true,
  "globalAssignment": true,
  "hireDate": [
    "string",
    "null"
  ],
  "hired": true,
  "hrManagerId": [
    "string",
    "null"
  ],
  "internalHire": true,
  "jobReqId": [
    "string",
    "null"
  ],
  "jobTitle": [
    "string",
    "null"
  ],
  "kmsUserId": [
    "string",
    "null"
  ],
  "lName": [
    "string",
    "null"
  ],
  "lastModifiedBy": [
    "string",
    "null"
  ],
  "lastModifiedDateTime": "/Date(1492098664000)/",
  "location": [
    "string",
    "null"
  ],
  "managerId": [
    "string",
    "null"
  ],
  "mdfSystemRecordStatus": [
    "string",
    "null"
  ],
  "onboardingLocale": [
    "string",
    "null"
  ],
  "payGrade": [
    "string",
    "null"
  ],
  "processorId": [
    "string",
    "null"
  ],
  "readyToHire": true,
  "userId": [
    "string",
    "null"
  ],
  "workCountry": [
    "string",
    "null"
  ]
}
Candidate ID

The unique identifier for the candidate.

1234-5678
Connection
Country

The country where the candidate resides.

United States
First Name

The given name of the candidate.

John
Last Name

The family name of the candidate.

Doe
Primary Email

The primary email address used to contact the candidate.

john.doe@example.com
Example Payload for Update Candidate
Loading…

Update Job Application

Update an existing job application. | key: updateJobApplication

InputNotesExample
Additional Inputs

The additional fields to send in the request body, as a JSON object.

{
  "__metadata": {
    "uri": "https://api68sales.successfactors.com/odata/v2/JobApplication(388L)",
    "type": "SFOData.JobApplication"
  },
  "applicationId": "388",
  "posTitle": null,
  "lastName": "Reis",
  "firstName": "Marcelo",
  "jobCode": null,
  "status": "Open"
}
Candidate ID

The unique identifier for the candidate to associate with the job application.

1234-5678
Connection
Job Application ID

The unique identifier for the job application.

1234-5678
Job Requisition ID

The unique identifier for the job requisition to associate with the job application.

1234-5678
Example Payload for Update Job Application
Loading…

Update Job Requisition

Update an existing job requisition. | key: updateJobRequisition

InputNotesExample
Additional Inputs

The template fields to update, as a JSON object.

{
  "country": "US",
  "state": "CA",
  "city": "San Francisco",
  "recruiter/userName": "jdoe"
}
Connection
Job Requisition ID

The unique identifier for the job requisition.

1234-5678
Example Payload for Update Job Requisition
Loading…

Update Onboarding Candidate Info

Update existing onboarding candidate info. | key: updateOnboardingCandidateInfo

InputNotesExample
Applicant ID

The unique identifier for the onboarding applicant.

1234-5678
Connection
Example Payload for Update Onboarding Candidate Info
Loading…

Update Record

Update an existing record in SAP SuccessFactors. | key: updateRecord

InputNotesExample
Additional Inputs

The additional fields to send in the request body, as a JSON object.

{}
Connection
Record Type

The OData entity name identifying the kind of record to operate on.

Candidate
Record Type ID

The unique identifier for the record within its record type.

1234-5678
Example Payload for Update Record
Loading…

Changelog

2026-06-23

Notice of Deprecation for the Basic Authentication connection. SAP SuccessFactors will be deactivating HTTP Basic Authentication on November 20, 2026:

  • Added a deprecation notice to the Basic Authentication connection and its documentation
  • Promoted API Key Authentication as the recommended connection method going forward.

2026-05-05

Added New and Updated Records polling trigger for detecting new and modified records across multiple resource types, with the following capabilities:

  • Supports Candidate, Job Application, Job Requisition, and Onboarding Candidate Info records
  • Performs server-side filtering by last modified date for efficient change detection
  • Works with both Basic Authentication and API Key Authentication connections

2026-04-30

Updated spectral version

2026-02-24

Added inline data sources for Job Application ID and Candidate ID inputs to enhance data selection capabilities

2025-10-02

  • Enhanced SAML assertion handling with improved error reporting and promisified authentication flow