Skip to Content
Technical Articles
Author's profile photo Philip MUGGLESTONE

Building Extensions for SAP SuccessFactors using APIs and Events

Hi,

UPDATE: Nov 2022 – the series has been completely revised for 2022

Creation of cloud-first applications to extend core LoB solutions continues to be a hot topic.

One such LoB solution is SAP SuccessFactors.

OData APIs have been available for some time but how best to make use them? This is particularly true for side-by-side scenarios requiring enterprise grade authentication and authorization including single sign-on.

You might be wondering where to start and exactly which technology components get used where and exactly how to fit them all together?

We’ve just published a new tutorial series covering a very simple end-to-end sidecar extension scenario which you can access here:

Building Extensions for SAP SuccessFactors using APIs and Events Playlist

The scenario includes highlighting the location of US-based candidates on an interactive map:

It also covers how to trigger and process events a recruitment candidate’s details have been updated:

Tutorials cover a simple scenario that incorporates key aspects of developing side-by-side extensions to SAP SuccessFactors.

Technologies used include SAP Business Technology Platform, SAP SuccessFactors Extensibility, SAP Event Mesh, SAP HANA Cloud, SAP Launchpad, and SAP Cloud Application Programming Model (CAP).

So whether you’ve already got a scenario in mind and want to get going or you’re simply interested in seeing exactly how to get started hopefully these videos will be of use.

You can access the tutorials directly as follows:

Yeoman Generator to jump-start Full Stack Cloud Applications.

If you’re new to SAP Business Technology Platform itself then you might also want to check out our onboarding video tutorial series which should hopefully get you up to speed pretty quickly.

Subscribe to the SAP HANA Academy YouTube channel for updates or join us on LinkedIn: linkedin.com/in/saphanaacademy

Good luck in creating your own extension applications in SAP Business Technology Platform and let us know your feedback in the comments section below!

Philip

Assigned Tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Murali Shanmugham
      Murali Shanmugham

      This is awesome - Philip MUGGLESTONE . I was exploring the same with another colleague and had issues around the Destinations. Will now follow your videos to get it resolved. One question - any reason for not using SAP WebIDE to create a MTA project?

      Great work as always.

      Author's profile photo Philip MUGGLESTONE
      Philip MUGGLESTONE
      Blog Post Author

      Hi Murali,

      Thanks for the kind comments and glad to know the tutorials are proving useful.

      We chose to focus on local development for this scenario because of the support for SAP Cloud SDK from VSCode - code complete in particular.

      Going forward we hope to use SAP Business Application Studio once it becomes generally available.

      Thanks,

      Philip

      Author's profile photo Anshul Walia
      Anshul Walia

      Thanks for sharing .... exciting....

      Author's profile photo i gread
      i gread

      Hi Phillip,

       

      Nice blog for making a start with SF extension factory.

      I tried all the steps and was able to successfully deploy application. however executing application takes me to XS authentication rather than SF login page.

      I tried the same by deploying the same package in git-hub as well, but doesn't solve the problem. as current setup, I have only SF as trusted IDP for my account.

      Trust Configuration and XSUAA binding:

      Also, all the services on this account takes SF as IDP and requires user to login with SF user .
      can you please help me if i am missing anything here.

      Thank You
      Ishaan

      Author's profile photo Philip MUGGLESTONE
      Philip MUGGLESTONE
      Blog Post Author

      Hi Ishaan,

      Thanks for watching and your nice feedback.

      It sounds like your cloud foundry org name may not be the same as the subaccount subdomain? See Adapt App for SSO @ 14mins.

      Otherwise probably something went wrong when configuring the trust between SCP and SuccessFactors. See Configure Trust for SSO.

      I recommend to double check all the settings are consistent with the videos.

      If you're still having issues it's probably best to open a support ticket.

      Thanks,

      Philip

      Author's profile photo i gread
      i gread

      Thanks Phillip,

       

      Yes you are correct, Cloud Foundry orgname and Subaccount subdomain name are different in my case.

      is this a mandatory condition to have these names exactly same or we have a work around ?

       

      Thank You

      Ishaan

      Author's profile photo i gread
      i gread

      SOLVED !!!

      We had cloud foundry org name different to subaccount subdomain name. I created new subaccount having same name as subdomain and tried the same with that.

      however we were facing same issue. I noticed that other deployed apps were taking SF as IDP but not this one.

      IDP redirection for SFSDKAPP was goining to authentication.eu10.hana.ondemand.com (shared one). for other apps IDP was going to subacountname-authentication.eu10.hana.ondemand.com .

      changed tenant-mode to dedicated in xs-security.json file and then it starts taking authentication mechanism for respective sub-account.

      Author's profile photo Thanu Kumaraswamy
      Thanu Kumaraswamy

      Hi Philip,

      Awesome blog, thank you.

      I tried to convert this to a Multitenant App and after hosting in the subaccount I am encountering the below error in the hosted subaccount. The UI opens without any error but the get candidates fails with error message "get request to https://api5.successfactors.eu/odata/v2 $failed! ".

      Log from the sfsdksrv

      [
      	{
      		"message": "Unable to build destination for service binding: Service of type sap-successfactors-extensibility is not supported! Consider providing your own transformation function when calling destinationForServiceBinding, like this:\n destinationServiceForBinding(yourServiceName, { serviceBindingToDestination: yourTransformationFunction });",
      		"level": "warn",
      		"custom_fields": {
      			"package": "core",
      			"messageContext": "destination-accessor"
      		},
      		"logger": "sap-cloud-sdk-logger",
      		"timestamp": "2020-02-16T15:19:00.086Z",
      		"msg": "Unable to build destination for service binding: Service of type sap-successfactors-extensibility is not supported! Consider providing your own transformation function when calling destinationForServiceBinding, like this:\n destinationServiceForBinding(yourServiceName, { serviceBindingToDestination: yourTransformationFunction });",
      		"written_ts": 1581866340086,
      		"written_at": "2020-02-16T15:19:00.086Z"
      	},
      	{
      		"message": "Unable to match a specific XSUAA service instance to the given JWT. The following XSUAA instances are bound: xxxxx. The following one will be selected: xxxxxx. This might produce errors in other parts of the system!",
      		"level": "warn",
      		"custom_fields": {
      			"package": "core",
      			"messageContext": "environment-accessor"
      		},
      		"logger": "sap-cloud-sdk-logger",
      		"timestamp": "2020-02-16T15:19:00.212Z",
      		"msg": "Unable to match a specific XSUAA service instance to the given JWT. The following XSUAA instances are bound: xxxxxx. The following one will be selected: xxxxxx. This might produce errors in other parts of the system!",
      		"written_ts": 1581866340212,
      		"written_at": "2020-02-16T15:19:00.212Z"
      	}
      ]

      Thanks,

      Thanu

      Author's profile photo Jagadish Radhakrishanan
      Jagadish Radhakrishanan

      Hi Philip,

      Excellent blog, I'm stuck with Extension Factory Pairing step.

      After the enter Integration Token and click the add button in SuccessFactors in the provisioning companies account, below error message, is deployed

      Error: An unexpected error occurred. Report an SAP incident in SAP ONE Support Launchpad, component BC-NEO-EXT-SF.

       Error id: afe350e6-e53a-4eb0-b143-4089fbeb741c

      I tried to search the component(BC-NEO-EXT-SF) in SAP Incident, the component isn’t found.   Regarding these issues, I created ticket SuccessFactors in Support engineer reply check with  SAP IT Team.

      Can you please help me to resolve this issue?

      Thank you

      Jagadish

      Author's profile photo Philip MUGGLESTONE
      Philip MUGGLESTONE
      Blog Post Author

      UPDATE: 15 April 2021 – the series has been completely revised for 2021 and now includes support for events!

      Author's profile photo Philip MUGGLESTONE
      Philip MUGGLESTONE
      Blog Post Author

      UPDATE: Nov 2022 – the series has been completely revised for 2022