> ## Documentation Index
> Fetch the complete documentation index at: https://stackone-hub-docs-confluence-api-token-update.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SAP SuccessFactors

> Follow these steps to connect SAP SuccessFactors with StackOne Hub successfully.

<Warning>
  Ensure you have Admin privileges for your SAP SuccessFactors account.
</Warning>

If you've been directed to StackOne to integrate with SAP SuccessFactors, the following steps will help you understand the process and any necessary actions to configure successful integration.The type of Authentication
flow you follow will depend on your use case.

* If you are working with an external LXB/LMS to pull data into your SAP instance, you will need to follow the Authentication Flow 1.
* If you are working with an external content provider to pull external content into your SAP instance, you will need to follow the Authentication Flow 2.
* If you need to write data to your SAP instance using Platform Token Server Authentication, you will need to follow the Authentication Flow 3.

# Authentication Flow 1: Linking your SAP instance library to an external LXB/LMS to pull data

## Locating Credentials

### Finding the Learning Hub URL

<Steps>
  <Step title="Log into SAP">
    Log into SAP SuccessFactors.
  </Step>

  <Step title="Access the Learning Module">
    Type Learning Administration in the search bar and select the Learning Administration module.
  </Step>

  <Step title="Record Learning Module URL">
    Look in the browser address bar for the URL and save the address.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Learning Server Example" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image10.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=0fe789457c12158e7452c314bcd1b418" width="1212" height="46" data-path="images/sapsuccessfactors/image10.png" />
    </Frame>

    In this case: [https://sfcpart000906.scdemo.successfactors.com/](https://sfcpart000906.scdemo.successfactors.com/) is the access point.

    Use this value as the `Learning Domain URL` value when connecting SAP SuccessFactors to StackOne.
  </Step>
</Steps>

### Finding Company ID

<Steps>
  <Step title="Open User Modal">
    Select your profile image in the upper right-hand corner of the screen to open the dropdown modal
  </Step>

  <Step title="Locate Company ID">
    Within the modal that appears, you will see `Company ID`. Copy and note down this value.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Company ID" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image3.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=c152f979e0d655ee9f141b64056fd8e7" width="551" height="443" data-path="images/sapsuccessfactors/image3.png" />
    </Frame>
  </Step>
</Steps>

### Finding Username and Client Secret

**If you are setting up SAP for creating content via OCN, please follow the below steps to create an OCN Admin Role and User and use that username.**

<Steps>
  <Step title="Navigate to Administrators Settings Page">
    From SuccessFactors go to Learning Administration > System Administration > Security >  Administrators
  </Step>

  <Step title="Edit Relevant Administrator">
    Search for the administrator for this integration and click the edit icon.
  </Step>

  <Step title="Note the Relevant Information">
    Note down the AdminID for this UserActivation.
  </Step>

  <Step title="Generate Client Secret">
    Click Generate Client Secret and note this down.
  </Step>
</Steps>

## Additional Configuration if syncing Skills and Competencies via API endpoints (Optional)

### Locating API Server

<Steps>
  <Step title="Find the API Server">
    SAP uses multiple API server addresses. You will need to look up the API server that corresponds to your tenant domain on this [table](https://help.sap.com/docs/SAP_SUCCESSFACTORS_PLATFORM/d599f15995d348a1b45ba5603e2aba9b/af2b8d5437494b12be88fe374eba75b6.html) under the `API Server` column.

    For example, if your domain was `https://pmsalesdemo8.successfactors.com/` you would search for `salesdemo8` in the table. If the server is not listed, you may be able to find it by searching online or contacting your provider for support.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="API Server Example" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image1.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=6072931ec422de7e0c431592e444283a" width="1202" height="589" data-path="images/sapsuccessfactors/image1.png" />
    </Frame>

    Copy the value in the `API Server` column (remove the final forward-slash `/`). In this example, the value would be `https://apisalesdemo8.successfactors.com`.

    Use this value as the `API Server` value when connecting SAP SuccessFactors to StackOne.
  </Step>
</Steps>

### Locating API password

<Steps>
  <Step title="Locate API Password">
    In the SuccessFactors main instance, navigate to the user management tool.

    Search for the integration system user and find the password within the user profile.

    If required you can reset the password by searching *Reset User Password* in the search bar.

    Note down the API password for this user.
  </Step>
</Steps>

# Authentication Flow 2: Linking your SAP instance library to an external content provider pushing data to your SAP instance.

### Finding the Learning Hub URL

<Steps>
  <Step title="Log into SAP">
    Log into SAP SuccessFactors.
  </Step>

  <Step title="Access the Learning Module">
    Type Learning Administration in the search bar and select the Learning Administration module.
  </Step>

  <Step title="Record Learning Module URL">
    Look in the browser address bar for the URL and save the address.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Learning Server Example" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image10.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=0fe789457c12158e7452c314bcd1b418" width="1212" height="46" data-path="images/sapsuccessfactors/image10.png" />
    </Frame>

    In this case: [https://sfcpart000906.scdemo.successfactors.com/](https://sfcpart000906.scdemo.successfactors.com/) is the access point.

    Use this value as the `Learning Domain URL` value when connecting SAP SuccessFactors to StackOne.
  </Step>
</Steps>

### Finding Company ID

<Steps>
  <Step title="Open User Modal">
    Select your profile image in the upper right-hand corner of the screen to open the dropdown modal
  </Step>

  <Step title="Locate Company ID">
    Within the modal that appears, you will see `Company ID`. Copy and note down this value.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Company ID" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image3.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=c152f979e0d655ee9f141b64056fd8e7" width="551" height="443" data-path="images/sapsuccessfactors/image3.png" />
    </Frame>
  </Step>
</Steps>

## Additional Configuration Required For Creating Content via Open Content Network

### Create New Admin Role and User

#### Create Admin Role

<Steps>
  <Step title="Add New OCN Admin Role">
    To create an OCN admin profile in SuccessFactors, take the following steps:

    Log in to the SuccessFactors Learning Administration environment and go to System Administration > Security > Role Management.

    Click Add New.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add New Role" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-new-role.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=931a36e949cabe0bc72d646a5314a2dc" width="597" height="270" data-path="images/sapsuccessfactors/add-new-role.png" />
    </Frame>

    In the Role ID field, enter "OCN\_ADMIN".

    Click Add.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add Ocn Admin" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-ocn-admin.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=df7b22995b610368180c03c627407224" width="608" height="263" data-path="images/sapsuccessfactors/add-ocn-admin.png" />
    </Frame>
  </Step>

  <Step title="Add Correct Permissions">
    Select Permissions, then click the link under Add Permissions to the Role.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add Permissions" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-permissions.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=14870afc95bfa88a2505ca81cdbbe7a6" width="598" height="271" data-path="images/sapsuccessfactors/add-permissions.png" />
    </Frame>

    Under Add Permissions to Roles, enable Learning Activities, Search, and People Management.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add Role Activities" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-role-activities.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=ad37ade8cf2c494dca5cbd67f9c41b10" width="591" height="434" data-path="images/sapsuccessfactors/add-role-activities.png" />
    </Frame>
  </Step>

  <Step title="Toggle Status Restrictions">
    Set Status Restriction to "Active" for each activity under Permission Restrictions:

    * Add Item
    * Add Item Libraries
    * Edit Item
    * Edit item Libraries
    * Edit Item Finance
    * Edit Item Cost/Price
    * Edit Item Custom Fields
    * Edit Item State
    * Open Content Network Import
    * View Item
    * View Item Libraries
    * View Item Finance
    * View Item Cost/Price
    * View Item Custom Fields
    * Search User
    * Add History Record

    Click Apply Changes.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Admin Role Permissions" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/admin-role-permissions.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=bf76ccad75304ce1e48567ca0a94fe5f" width="600" height="810" data-path="images/sapsuccessfactors/admin-role-permissions.png" />
    </Frame>
  </Step>
</Steps>

#### Create Admin User

<Steps>
  <Step title="Add New Administrator">
    To create a system admin user in SuccessFactors, take the following steps:

    Log in to the SuccessFactors Learning Administration environment and go to System Administration > Security > Administrators.

    In the upper right-hand corner of the screen, click Add New.

    In the Admin ID field, enter "OCNADMIN".

    Enter a new password in the password fields.

    **Take note of this username (AdminID) as this will be used to connect the account in the StackOne hub.**

    Make sure the user is linked to an integration system user in the main SAP instance as we will require the api password for this user to access skills.

    Click Add.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add Admin" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-admin.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=f824200a1e2b3ee45c6ae6dcc6ffb91c" width="603" height="436" data-path="images/sapsuccessfactors/add-admin.png" />
    </Frame>
  </Step>

  <Step title="Assign OCN Admin Role to User">
    Select the Assigned Roles tab. If this integration is your first SuccessFactors instance, click Edit.

    In the Role ID field, enter "OCN\_ADMIN", then click Add.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add OCN Admin Role to User" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/admin-user.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=355296d5a348049c6e2a646fcee51af3" width="605" height="393" data-path="images/sapsuccessfactors/admin-user.png" />
    </Frame>
  </Step>
</Steps>

### Configure the OCN Property File

To configure the OCN property file, take the following steps:

<Steps>
  <Step title="Navigate to Property File">
    In the SuccessFactors Learning Administration navigation menu, select System Administration > Configuration > System Configuration.

    Find the Open Content Network option in the configuration file and select the Edit (pen) icon.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Register Client Application" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/ocn-property-file.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=a636ca852caf0b37a5f1e71e0544bf82" width="594" height="335" data-path="images/sapsuccessfactors/ocn-property-file.png" />
    </Frame>
  </Step>

  <Step title="Copy over Provider Config">
    Scroll to the bottom of the configuration file.

    Copy and paste the values below into the configuration file:

    providers\[ProviderName].enabled=true

    providers\[ProviderName].name=ProviderName

    providers\[ProviderName].label=label.u.ProviderName

    providers\[ProviderName].baseLaunchUrl=[https://www.ProviderRootUrl.com](https://www.ProviderRootUrl.com)

    providers\[ProviderName].pricingModel=

    #### You can also set additional default values for Learning Items:

    defaultValues.itemType\[default]=value

    * Go to References > Learning Activities > Item Types > Click Search. Choose an item type.

    * E.g. COURSE or ONLINE. You will need the Item Type ID of your chosen Item Type to replace the `value` above.

    defaultValues.itemCompletionStatus\[default]=value

    * Go to References > Manage Users Learning > Completion Status > Click Search.

    * Choose Completion Status. E.g. COMPLETE or ONLINE-COMPL. You will need the Completion Status ID of your chosen Completion Status to replace the `value` above.

    <Note>
      Completion Status MUST be linked to the Item Type. You may need to enable additional columns in the search results table in order to find the correct completion status.
    </Note>

    defaultValues.domainID\[default]=value

    * Go to System Admin > Security > Security Domains > Click Search.

    * Choose the default security domain where the item should be created. This will control which admin users have access to the items created.

    defaultValues.markCompleteOnLaunch\[default]=value

    * This should be set to 'false' if the provider posts completion information back to SuccessFactors, items will not be marked as complete as soon as a user clicks on them.

    defaultValues.autoImportOCNCourseEnabled\[default]=value

    * This should be set to true either for all providers or for a specific provider, to automate the import of content. If set to true, the content will be automatically imported into SuccessFactors when it is published in the provider.

    <Note>
      If you want any of the above configurations to be specific to a provider, you can add `provider_name` instead of `default` in the property name - e.g. defaultValues.itemType\[provider\_name]=value
    </Note>
  </Step>
</Steps>

### Set Up OCN Content Synchronization Automatic Process

To automate the OCN content sync process, take the following steps:

<Steps>
  <Step title="Schedule Synchronisation Process">
    In the SuccessFactors Learning Administration navigation menu, select System Administration > Automatic Processes.

    Select Open Content Network Content Synchronization.

    Select the Schedule This Process check box.

    Select the Daily radio button.

    In the Time of Day field, specify a time outside of peak usage hours.

    Click Apply Changes.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Schedule Synchronisation Process" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/auto-content-sync.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=6c139023935eca9a80583298c5580719" width="596" height="386" data-path="images/sapsuccessfactors/auto-content-sync.png" />
    </Frame>
  </Step>
</Steps>

### Importing Content

<Note>
  If you have enabled the autoImportOCNCourseEnabled property in the OCN property file, you can skip the manual import step below.
</Note>

Once OCN content is being automatically made availble for import as per the steps above you may manually import the content into the system

<Steps>
  <Step title="Search OCN Content">
    In the SuccessFactors Learning Administration navigation menu, select Content > Open Content Network.

    Select the content provider you wish to import content from and click `search`

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Schedule Synchronisation Process" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/ocn-search.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=d44fc03c2a924175bc0484af7c9025b9" width="1446" height="713" data-path="images/sapsuccessfactors/ocn-search.png" />
    </Frame>

    Tick the `import` box for all content you wish to import

    Select `Import Selected`

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Schedule Synchronisation Process" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/ocn-import.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=0136615738c158e4a08882054aaf19b7" width="1445" height="448" data-path="images/sapsuccessfactors/ocn-import.png" />
    </Frame>

    Note: All content updates via the OCN Network will update the imported content once the synchronization process has run without the need for manual updarte or import.
  </Step>
</Steps>

### Create a Provider label

To create a LinkedIn Learning label, take the following steps:

<Steps>
  <Step title="Create New Label">
    In the SuccessFactors Learning Administration navigation menu, select References > Manage Labels > Labels.

    Click Add New.

    In Label Type, enter "LABEL" and click Next.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add New Label" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-new-label.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=84ad9d9140605940726fbea2de4380fc" width="596" height="213" data-path="images/sapsuccessfactors/add-new-label.png" />
    </Frame>
  </Step>

  <Step title="Add Label Config">
    In Label ID, type "ProviderLinkedInLearning".

    In Description, type "LinkedIn Learning Label".

    In Use By drop down, select "Both".

    Select Assign to All Locales.

    Click Add.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add Label Config" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-label-config.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=e53af2a260ad69c4f45862ad8eeb2b72" width="603" height="244" data-path="images/sapsuccessfactors/add-label-config.png" />
    </Frame>
  </Step>

  <Step title="Add Locales">
    Select the Locales tab.

    To add a locale to the LinkedIn Learning label, enter the locale (i.e., "Japanese") in the Active Locale ID field and "LinkedIn Learning" in the Label Value field, then click Add.

    For each Active Locale ID, enter "LinkedIn Learning" (if the Label Value field is not already populated).

    Click Apply Changes.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Add Label Locales" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/9bhFjdxQvzus54Ck/images/sapsuccessfactors/add-label-locales.png?fit=max&auto=format&n=9bhFjdxQvzus54Ck&q=85&s=df49a9f0e8f597ef1aba4b9b8bb18b05" width="606" height="530" data-path="images/sapsuccessfactors/add-label-locales.png" />
    </Frame>
  </Step>
</Steps>

### Note Content Provider Name

<Steps>
  <Step title="Note Provider Name">
    This will be used when connecting the account in the StackOne hub. Ensure this matches the provider name which has been used in the OCN property file.
  </Step>
</Steps>

### SSO Configuration

Proper SSO (Single Sign-On) configuration is essential for the SAP SuccessFactors integration to work correctly. The configuration ensures that users are properly identified and matched between your platform and SAP SuccessFactors.

#### Configuration Options

The SSO configuration should use the following approach:

##### Custom Field Configuration

<Steps>
  <Step title="Set Custom Field">
    Configure a custom field called `lms_user_id` and set it to the **UserID** field value.
  </Step>

  <Step title="Verify Custom Field">
    Ensure the `lms_user_id` custom field is properly populated and accessible through the SSO configuration.
  </Step>
</Steps>

#### Important Notes

<Warning>
  Correct SSO configuration is **essential** for ensuring the integration works as expected. Incorrect configuration may result in:

  * Users not being properly identified
  * Learning records not being correctly attributed
  * Authentication failures
</Warning>

<Note>
  **Customer Responsibility**: You should work closely with your content provider to ensure the SSO configuration follows one of the recommended approaches above. The content provider should validate that the configuration meets the integration requirements.
</Note>

## Additional Configuration if syncing Skills and Competencies via API endpoints (Optional)

### Locating API Server

<Steps>
  <Step title="Find the API Server">
    SAP uses multiple API server addresses. You will need to look up the API server that corresponds to your tenant domain on this [table](https://help.sap.com/docs/SAP_SUCCESSFACTORS_PLATFORM/d599f15995d348a1b45ba5603e2aba9b/af2b8d5437494b12be88fe374eba75b6.html) under the `API Server` column.

    For example, if your domain was `https://pmsalesdemo8.successfactors.com/` you would search for `salesdemo8` in the table. If the server is not listed, you may be able to find it by searching online or contacting your provider for support.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="API Server Example" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image1.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=6072931ec422de7e0c431592e444283a" width="1202" height="589" data-path="images/sapsuccessfactors/image1.png" />
    </Frame>

    Copy the value in the `API Server` column (remove the final forward-slash `/`). In this example, the value would be `https://apisalesdemo8.successfactors.com`.

    Use this value as the `API Server` value when connecting SAP SuccessFactors to StackOne.
  </Step>
</Steps>

### Locating API password

<Steps>
  <Step title="Locate API Password">
    In the SuccessFactors main instance, navigate to the user management tool.

    Search for the integration system user and find the password within the user profile.

    If required you can reset the password by searching *Reset User Password* in the search bar.

    Note down the API password for this user.
  </Step>
</Steps>

# Authentication Flow 3: Platform Token Server Authentication (Write-Only)

<Note>
  This authentication method is **write-only** and is used when you need to write data to your SAP SuccessFactors instance using OAuth2 with X.509 certificates.
</Note>

## Locating API Server

<Steps>
  <Step title="Find the API Server">
    SAP uses multiple API server addresses. You will need to look up the API server that corresponds to your tenant domain on this [table](https://help.sap.com/docs/SAP_SUCCESSFACTORS_PLATFORM/d599f15995d348a1b45ba5603e2aba9b/af2b8d5437494b12be88fe374eba75b6.html) under the `API Server` column.

    For example, if your domain was `https://pmsalesdemo8.successfactors.com/` you would search for `salesdemo8` in the table.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="API Server Example" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image1.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=6072931ec422de7e0c431592e444283a" width="1202" height="589" data-path="images/sapsuccessfactors/image1.png" />
    </Frame>

    Copy the value in the `API Server` column (remove the final forward-slash `/`). In this example, the value would be `https://apisalesdemo8.successfactors.com`.

    Use this value as the `API Server` value when connecting SAP SuccessFactors to StackOne.
  </Step>
</Steps>

### Finding the Learning Server URL

<Steps>
  <Step title="Log into SAP">
    Log into SAP SuccessFactors.
  </Step>

  <Step title="Access the Learning Module">
    Type Learning Administration in the search bar and select the Learning Administration module.
  </Step>

  <Step title="Record Learning Module URL">
    Look in the browser address bar for the URL and save the address.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Learning Server Example" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image10.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=0fe789457c12158e7452c314bcd1b418" width="1212" height="46" data-path="images/sapsuccessfactors/image10.png" />
    </Frame>

    In this case: [https://sfcpart000906.scdemo.successfactors.com/](https://sfcpart000906.scdemo.successfactors.com/) is the access point.

    Use this value as the `Learning Domain URL` value when connecting SAP SuccessFactors to StackOne.
  </Step>
</Steps>

## Finding Username

<Steps>
  <Step title="Login to SAP SuccessFactors">
    Login to SAP SuccessFactors.
  </Step>

  <Step title="Locate Your Username">
    Select your profile image in the upper right-hand corner of the screen.

    Your username is the value in parenthesis. Copy this value and note it as your `Username`.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Username Location" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image2.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=26a7a23e34e66aebf44f5717fab2f230" width="777" height="283" data-path="images/sapsuccessfactors/image2.png" />
    </Frame>
  </Step>
</Steps>

## Finding Company ID

<Steps>
  <Step title="Show Version Information">
    Within the same dropdown from the previous step, select the Show version information option.
  </Step>

  <Step title="Locate Company ID">
    Within the modal that appears, you will see `Company ID`. Copy and note down this value.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Company ID" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image3.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=c152f979e0d655ee9f141b64056fd8e7" width="551" height="443" data-path="images/sapsuccessfactors/image3.png" />
    </Frame>
  </Step>
</Steps>

## Registering a new Client Application

<Steps>
  <Step title="Search for Manage OAuth2 Client Applications">
    In the upper right search bar, search for Manage OAuth2 Client Applications and select the option under Actions.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Manage OAuth2 Client Applications" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image4.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=97a501eb0180f4e714cb717c48cf32ce" width="1066" height="296" data-path="images/sapsuccessfactors/image4.png" />
    </Frame>
  </Step>

  <Step title="Register Client Application">
    Select Register Client Application.
  </Step>

  <Step title="Enter Application Details">
    Enter an Application Name, e.g. `StackOne`.

    Enter an Application URL. Note: This can be any URL and is not used in this integration.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Register Client Application" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image5.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=e2a2f7b3e9e4de714c25600215d1bc01" width="1006" height="693" data-path="images/sapsuccessfactors/image5.png" />
    </Frame>
  </Step>
</Steps>

## Generating X.509 Certificate

<Steps>
  <Step title="Generate X.509 Certificate">
    Press the Generate X.509 Certificate button.

    Enter any Common Name(CN) for the certificate, e.g. `StackOne OAuth2`.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Generate X.509 Certificate" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image6.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=783afff1474360c0927751ec64ed0fb9" width="1013" height="489" data-path="images/sapsuccessfactors/image6.png" />
    </Frame>
  </Step>

  <Step title="Copy the Certificate">
    Press Generate.

    Copy the value inside the X.509 Certificate section.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Copy X.509 Certificate" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image7.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=5b7ed7ea9fd686ce04c8dc477d1ba4f1" width="1290" height="730" data-path="images/sapsuccessfactors/image7.png" />
    </Frame>
  </Step>
</Steps>

## Downloading Private Key

<Steps>
  <Step title="Download Private Key">
    Press the Download button.

    ❗Caution: The downloaded file contains your private key. This should be handled securely, and this local file should be deleted after your account has been linked.
  </Step>

  <Step title="Copy the Private Key">
    Select and copy the long string of characters between -----BEGIN ENCRYPTED PRIVATE KEY----- and -----END ENCRYPTED PRIVATE KEY-----

    This value is your Private Key. Please keep it safe!
  </Step>
</Steps>

## Finding API Key

<Steps>
  <Step title="Locate API Key">
    Your API Key is displayed on the Manage OAuth2 Client Applications screen above your X.509 Certificate.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="API Key" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image8.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=eb576ef6fb4a41892f07ff330809c2c7" width="1290" height="732" data-path="images/sapsuccessfactors/image8.png" />
    </Frame>
  </Step>
</Steps>

## Locating Learning Content Provider

<Steps>
  <Step title="Note Provider Name">
    Identify the Learning Content Provider name that will be used when connecting the account:

    * If you previously configured OCN in Authentication Flow 2, use the provider name from your OCN property file.
    * If you have not configured OCN (for example, you are only using Authentication Flow 3), use the provider name as it appears in SAP SuccessFactors Learning or as provided by your content provider.
  </Step>
</Steps>

## Connecting Your Account

<Steps>
  <Step title="Enter the Details">
    Upon reaching the Link Account page, enter the gathered details and proceed by clicking the `Connect` button.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Link Account" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/image9.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=3f360097d90f6b012d3d40619b6d8988" width="952" height="1472" data-path="images/sapsuccessfactors/image9.png" />
    </Frame>
  </Step>
</Steps>

<Note>
  Note: The integration may take up to 15 minutes to initially authenticate once the account has been connected. In the meantime, requests will return a 401: Unauthorized response.
</Note>

## Linking your Account (Flows 1 & 2)

<Steps>
  <Step title="Enter the Details">
    In the modal, enter the gathered details and proceed by clicking the `Connect` button.

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Link Account" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/credentials1.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=30601d006718dc0f149a53c1e91dfc98" width="978" height="1472" data-path="images/sapsuccessfactors/credentials1.png" />
    </Frame>

    <Frame>
      <img className="rounded-md" style={{ margin: '0 auto', border: '1px solid #efefef' }} alt="Link Account" src="https://mintcdn.com/stackone-hub-docs-confluence-api-token-update/lxJo9u7ebkkFpY1x/images/sapsuccessfactors/credentials2.png?fit=max&auto=format&n=lxJo9u7ebkkFpY1x&q=85&s=c7c2cb73764c2e156b4db875bd0bdb8d" width="978" height="1472" data-path="images/sapsuccessfactors/credentials2.png" />
    </Frame>
  </Step>
</Steps>

<br />

Congratulations, you're all set! If you face any issues with the steps mentioned above,
please contact us by emailing [integrations@stackone.com](mailto:integrations@stackone.com). We're always here to assist you!

### Useful Links

<Card title="API Reference" icon="link" href="https://api.sap.com/products/SAPSuccessFactors/apis/all">
  [https://api.sap.com/products/SAPSuccessFactors/apis/all](https://api.sap.com/products/SAPSuccessFactors/apis/all)
</Card>
