> For the complete documentation index, see [llms.txt](https://docs.senseloaf.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.senseloaf.ai/integrations/sap-successfactors-it-setup-guide.md).

# SAP SuccessFactors — IT Setup Guide

One-time setup steps to connect SAP SuccessFactors to SIA

This guide is for IT administrators with admin access to SAP SuccessFactors, the Provisioning application, and SAP Cloud Identity Services (IAS). The setup is more involved than a typical ATS integration — SAP SuccessFactors authenticates using a signed SAML assertion (OAuth 2.0 SAML Bearer flow) rather than a simple API key.

Once setup is complete, your HR team can start using SIA's hiring intelligence directly from SAP SuccessFactors — see the SAP SuccessFactors HR Workflow Guide for what they can do from there.

### Before you begin

Confirm you have all of the following before starting:

* An active **SAP SuccessFactors** licence with the **Recruiting Module** enabled
* An active **Senseloaf AI Platform** licence with the integration enabled
* **SAP Cloud Identity Services (IAS)** set up as your identity provider, with admin access
* Admin access to the SAP SuccessFactors **Admin Center** and the **Provisioning** application

### Overview of steps

1. Register Senseloaf as a client application and configure IAS for SAML
2. Share the resulting credentials securely with Senseloaf
3. Create the required custom fields on the Job Application template
4. Map your applicant statuses for automated workflows *(optional)*

### Step 1 — Register Senseloaf and configure IAS for SAML

**a. Retrieve the IAS signing certificate**

1. In IAS Admin, go to **Applications & Resources → Tenant Settings**
2. Go to **Single Sign-On → SAML 2.0 Configuration → Signing Certificates**
3. Click the certificate's magnifying-glass icon and copy the **Certificate Information** — you'll need this in the next step

**b. Register the Senseloaf client application in SAP SuccessFactors**

1. In SAP SuccessFactors, search for and open **Manage OAuth2 Client Applications**
2. Click **Register Client Application** and fill in:

| Field             | Value                                       |
| ----------------- | ------------------------------------------- |
| Company           | Senseloaf AI                                |
| Application Name  | Senseloaf AI                                |
| Description       | Recruiting Automation Platform *(optional)* |
| Application URL   | <https://www.senseloaf.ai/>                 |
| X.509 certificate | Paste the certificate copied in step (a)    |

3. Click **Save**, then open the registered application and copy the generated **API Key** — you'll need it shortly

**c. Create a SAML application in IAS**

1. In IAS Admin, go to **Applications & Resources → Applications → Create**
2. Fill in:
   * Display name: **SF OData OAuth2.0 API**
   * Home URL: leave empty
   * Type: **SAP SuccessFactors solution**
   * Protocol Type: **SAML 2.0**
3. Click **Create**

**d. Configure SAML 2.0 settings for the application**

1. Find your SAP API server endpoint — log in to the HCM Cloud Operations Portal, note your data center, then look it up in the SuccessFactors API Servers list to get your server endpoint URL
2. In the application you just created, go to **Trust → Single Sign-On → SAML 2.0 Configuration**
3. Fill in:
   * Name: **Senseloaf SAML Assertion Workflow**
   * URL for Principal Propagation: your API server's token URL (`<your SF endpoint>/oauth/token`)
4. Click **Save**

**e. Configure the Subject Name Identifier**

1. Go to **Single Sign-On → Subject Name Identifier**
2. Primary Attribute: Source = **Identity Directory**, Value = **Login Name**
3. Fallback Attribute: Source = **Identity Directory**, Value = **None**
4. Click **Save**

**f. Configure the Default Name ID Format**

1. Go to **Single Sign-On → Default Name ID Format**
2. Select **Unspecified** and click **Save**

**g. Add the API key as a user attribute**

1. Go to **Single Sign-On → Attributes → Add**
2. Name: `api_key` *(case-sensitive)*, Source: **Expression**, Value: paste the API Key from step (b)
3. Click **Save**

**h. Temporarily enable token exchange**

1. Edit the application and change **Protocol Type** to **OpenID Connect**, then **Save**
2. Go to **Single Sign-On → OpenID Connect Configuration → Grant Types**, check **Password** and **Token Exchange (RFC 8693)**, then **Save**
3. Edit the application again and change **Protocol Type** back to **SAML 2.0**, then **Save**

**i. Create a client secret**

1. Go to **Trust → Application APIs → Client Authentication → Add Secret**
2. Grant API access to **OpenID** and click **Save**
3. Copy the generated **Client ID** and **Client Secret** immediately — they cannot be retrieved again once you close this screen

### Step 2 — Share credentials with Senseloaf

Using an approved secure channel, share the following with the Senseloaf Integration Support team at <support@senseloaf.com>:

* The **Client ID** and **Client Secret** from Step 1(i)
* The **API Key** from Step 1(b)
* Your SAP **Company ID**
* Your SAP **admin username and password** used for this integration

### Step 3 — Create the required custom fields

Senseloaf writes its results into a set of custom fields on your Job Application template. Each field requires four steps: create the field, define its permission, make it visible on the candidate workbench (where relevant), and report it in Provisioning so it actually shows up.

{% hint style="info" %}
**Note:** Custom fields are not visible in the UI until the Provisioning reporting step is complete, even after they've been created and published.
{% endhint %}

**A. SenseAI Match Score&#x20;*****(required)***

Stores the overall matching score for a candidate against a job. This field is **required** for the integration to work and lets your team sort the Candidate Workbench by score.

{% hint style="warning" %}
**The Field-ID must be exact.** If it's named anything other than `senseScore`, Senseloaf can no longer update the score and it won't appear in the SuccessFactors UI.
{% endhint %}

**a. Create the field**

1. In Admin Center, search for **Manage Templates**
2. Click **Recruiting Management → Job Application**, then select your active Job Application template
3. Go to **Template Settings → click to modify**
4. Click **Add → Add custom field** and fill in:

| Field       | Value               |
| ----------- | ------------------- |
| Field-ID    | `senseScore`        |
| Field Type  | Number              |
| Field Label | SenseAI Match Score |

5. Click **Done**

**b. Define a permission**

1. In the same template, go to **Field Permissions defined → click to modify**
2. Click **Add field permission** and fill in:
   * Description: *New Custom fields permission*
   * Field Permission Type: **Write Permission**
   * Field Permission Role Name: **All**
   * Field Reference ID: **senseScore**
   * Country/Region: **All**
   * Source: **All**
3. Click **Done**

**c. Make it visible on the Candidate Workbench**

1. Go to **Candidate Summary Display Option → Display Options Columns Defined → click to modify**
2. Click **Candidate Summary Display Option Columns** and fill in:
   * Category Id: `senseScore`
   * Category Name: *SenseAI Match Score*
   * Category Label: *Candidate Shortlisting Data*
   * Grid Order: *(e.g. 8)*
   * Field: `senseScore`
   * Column Label: *SenseAI Match Score*
3. Click **Done**, then click **Publish** to save the field to your instance

**d. Report it in Provisioning**

1. Go to **Provisioning → select your company → Configure Reportable Custom Fields → Application**
2. Add the `senseScore` custom field under **Number**
3. Scroll down and click **Save Extended Field Mapping**
4. Click **Synchronize Existing Data**, then **Synchronize Extended Field Data**

#### B. Sense Matching Details *(optional)*

Stores the URL to the candidate's Senseloaf Matching Report Card. Only needed if you want recruiters to navigate directly to the full Senseloaf report from the Candidate or Job Pipeline view.

**a. Create the field** — same path as above (**Manage Templates → Job Application → Template Settings → Add → Add custom field**):

| Field       | Value                  |
| ----------- | ---------------------- |
| Field-ID    | `sensePage`            |
| Field Type  | Hyperlink              |
| Field Label | Sense Matching Details |

**b. Define a permission** — same as 3.1, with Field Reference ID **sensePage**.

**c. Report it in Provisioning** — add `sensePage` under **Text**, then **Save Extended Field Mapping** and synchronize, same as above.

### Step 4 — Map applicant statuses *(optional)*

Senseloaf can automatically move candidates between applicant statuses based on their AI evaluation outcome. Without this, status movement stays manual.

You don't need to create new statuses — if your existing ones already correspond to outcomes like shortlisted or disqualified, those can be mapped directly during onboarding.

If your existing statuses don't cover the outcomes you want automated, you can add new ones:

1. Go to **Provisioning → Manage Recruiting → Applicant Status Configuration**, click **Edit Base**, then **Add New Status** (Type, Status Name, Category)
2. Go to **Admin Center → Applicant Status Configuration**, open the status set configured for your Job Requisition template, click **Add New Status** to add it there too
3. Click **All** in the top-right corner, click the new status, fill in its Status Group, Internal Label, and Candidate Label, then **Save**

Once the relevant statuses exist, let the Senseloaf team know which ones should correspond to each outcome during onboarding.

### Quick reference — field IDs and types

| Level            | Field-ID                   | Type      | Required?    |
| ---------------- | -------------------------- | --------- | ------------ |
| Job Application  | `senseScore`               | Number    | **Required** |
| Job Application  | `sensePage`                | Hyperlink | Optional     |
| Applicant status | *(your existing statuses)* | Status    | Optional     |

{% hint style="warning" %}
These Field-IDs must be exact — renaming `senseScore` to anything else means Senseloaf can no longer update it and it won't show up in the SuccessFactors UI.
{% endhint %}

### What happens once connected

Once SAP SuccessFactors is connected and credentials have been shared, SIA begins syncing job requisitions and candidates automatically — no further setup required from IT. For a full overview of what the HR team can do from here, see the SAP SuccessFactors HR Workflow Guide.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.senseloaf.ai/integrations/sap-successfactors-it-setup-guide.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
