Skip to Content
Technical Articles
Author's profile photo Sriprasad S Bhat

SuccessFactors Integrations Beginners Guide- Exploring Learning Management System


As a part of beginner series in earlier blogs we discussed API Center and Connectivity from SuccessFactors Employee Central perspective.In this blog will look into few integration touch points from SuccessFactors Learning Management System perspective ( LMS ).

Refer below for the other blogs as a part of SuccessFactors Integration series.

SFSF EC – Beginners guide to Integration Center

SFSF EC – Connectivity and User Creation

Integration Options with SuccessFactors Learning Management System:

SuccessFactors LMS is leading Learning Management System bundled as a part of Successfactors Suite.SuccessFactors LMS provides different options to import and export data either using industry standard protocols or using home grown connectors .Will discuss one by one in detailed manner.

OData APIs:

SuccessFactors LMS has series of Microservices enabled to get and post data using OData Protocol.Will split this into multiple parts something like below

  • Creation of Admin User
  • Enabling OAuth in SuccessFactors LMS
  • Exploring APIs using rest client ( POSTMAN )

Technical Admin User Creation:

SuccessFactors LMS supports 2 types of user namely People-> Users and Security->Administrators.For API connectivity Admin users are mandatory.

Step 1: Login into SuccessFactors LMS with Administrative Privileges.

Step 2:

Navigate to Menu-> System Administration->Security->Administrators .Click On Add New.

Step 3:

Enter necessary details with correct field name.Make sure to select domain as Public so that user specific to integration have access to all the data irrespective of different domains ( Organizations or Departments as per LMS ).

Step 4:

Now you have user created and you need to assign correct roles to them.Click On search to select list of Roles need to be assigned.

Step 5:

Once you have selected required roles below screen appears to apply changes to user ( with summary of roles assigned ).

Finally we have created Administrative User: INT_LMS_ADMIN_USER ready to be used in Integrations.

Enable OAuth Authorization:

Navigate to Configuration-> OAuth Token Server to generate Client ID,Client Secret as this is the only authentication type SFSF LMS supports.

Copy the Client ID,Company ID and Client Secret to be used in either POSTMAN or SAP CPI.

How to explore APIs in POSTMAN:

Copy Client ID and Client Secret in format ClientID:ClientSecret and base64 encode it.




Open or similar base64 encoded and encode it to Base 64 with format TESTCLIENTIDXXX:XYEICHFERJ-+YEKFOEHE

Open Postman and create new request.

Get Token:


{ "grant_type":"client_credentials",


Get Data:

  • Create a request with url

URL has several parts and below is the different components of the url

           {servlet_context}/odatav4/{visibility}/{user_type}/{odata_service}/                                                         {odata_service_version}/{entity/function/action}

    • servlet_context: Base URL of your SFSF LMS
    • visibility: To define who can access this url.Is it Public or something specific to Group.
    • user_type: Who can access this url,either user or administrators.
    • OData_Service: Entity Set which you want to access
    • OData_Service_version: version of the exposed APIs .In our case v1.
    • Entity: Individual entity which is part of EntityContainer.
    • Actions are operations exposed by an OData service that MAY have side effects when invoked. Actions MAY return data but MUST NOT be further composed with additional path segments.
    • Functions are operations exposed by an OData service that MUST return data and MUST have no observable side effects.
  • Navigate to Headers section and Add header with Name Authorization and value Bearer <Value>

Add Authorization header with value of access token you have received from previous call.

Hit the Send Button to get response from SFSF LMS system.Below is the response you will be getting for sample Metadata call.On high level it has 3 parts and will discuss each in brief.


  1. Entity Containers: Entity containers define the entity sets, singletons, function and action imports exposed by the service.In the above example Entity Container is having 2 Entity Sets each referring to different Entity Sets
  2. Entity Type:Entity types are nominal structured types with a key that consists of one or more references to structural properties. An entity type is the template for an entity: any uniquely identifiable record such as a customer or order.
  3. Complex Types: Complex types are keyless nominal structured types. The lack of a key means that complex types cannot be referenced, created, updated or deleted independently of an entity type. Complex types allow entity models to group properties into common structures

Above will help Integration Consultant to see what are the different entities available in expose Microservice and what kind of data he will be getting in addition to identify key values.


Connectors are integral part of SFSF LMS which are mostly used to import the data ( earlier days there were connectors to export data too ).

Navigate to System Administration->Configuration-> System Configuration-> Connectors to view / edit the connector configurations.

Lets deep dive into configuration of Connectors by clicking Edit button.Once you click on Edit button it opens up side bar allowing you to change the parameters for all the connectors and once done with the changes you can click on Apply Changes.

There are different aspects of Connector Configuration and will try to summarise as much we can.

  • Common Connector Settings- Which is common for all the Connectors for below parameters.
    • Input File Settings
    • Output File Settings
  • Individual Connector Settings- Each Connector has its own set of parameters including
    • Default Values
    • Field Mapping

As you know its lengthy to go through each and every configuration I have put all these details into single place so that we can summarise easily.

Once you are done with the configuration you can explore each one of the connectors by navigating System Administration -> Connectors

Option 1 & 2 will let you to download the Template for each of the connector in the file format ( .txt,.csv and .zip formats ) required.

Option 3 and onwards are settings for each individual connectors.

Step 1:

Allows you to perform Connection test ( either FTP or SFTP ) based on the Connector Config shown in the earlier step.

Step 2:

Allows you to Monitor Errors,Reports for scheduler( History of all the runs so for ) and previously archived files.

Step 3:

Advanced scheduler to schedule your imports for the particular connector.

Step 4:

Once you are done with all the steps click on Apply Changes to schedule your job.


This Concludes first part of the blog.

Hope this helps Integration Consultant to understand some of the basic touch points from SFSF LMS perspective.Will See more details on how to export data from SFSF LMS and exploring integration using SAP Cloud Platform Integration Suite- Integration Service in upcoming blog.

Thanks to my colleague Ankush for all the support from functional aspects.



Sriprasad Shivaram Bhat

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Harish KINTALI
      Harish KINTALI

      Nice one Sri, good starting point for those who are starting with LMS integrations

      Author's profile photo Praveen Tirumareddy
      Praveen Tirumareddy

      Hi Sri,

      thanks for sharing such a detailed blog. I completely agree with Harish's comment, it's a good/must read for colleagues who would want to work on LMS integrations.

      Kudos for the detailing.

      thanks and regards,

      Praveen T

      Author's profile photo Yogananda Muthaiah
      Yogananda Muthaiah

      Sriprasad Shivaram Bhat

      It's a great article and people can learn a lot from these steps.

      Author's profile photo Antonio Ferreira Vicente
      Antonio Ferreira Vicente

      Good Job!

      Author's profile photo Venu Ravipati
      Venu Ravipati

      Thank you for sharing these good blogs..

      Best Regards,

      Author's profile photo Ankush Baloni
      Ankush Baloni

      Great blog Sri. Very insightful.

      Author's profile photo Sethukarasu Rajendran
      Sethukarasu Rajendran

      Hi Sri,

      I was searching for a similar basic intro and you had rightly made it available.




      Author's profile photo Murugavel Singaravel
      Murugavel Singaravel

      Hi Sri, The blog is very useful and we are trying to create one for user type "user" for which we are receiving HTTP 403 error. Is there any different setup has to be done for that.



      Author's profile photo Oscar Struijk
      Oscar Struijk

      Thanks for the detailed explanation!


      Author's profile photo Sudharshan Gudugunti
      Sudharshan Gudugunti

      Awesome!!. Thanks for the very useful blog.

      Author's profile photo Dolly Shah
      Dolly Shah

      Thanks a lot for sharing the detailed step by step process. However, i am not able to generate the access key. I am getting the error in postman application. Could you please clarify the below queries.

      1. is it the plateau URL or hcm2preview that needs to give in postman?
      2. In the body, client id means is it the one from the LMS OAuth screen. Because it is different from sf client id.
      3. While encoding, is it a sf client id or the one generated on the Oauth screen.

      I have tried all the combinations but still i am not able to generate access token. Please help.