Live data in SuccessFactors homepage through integration
I hope everyone is safe and sound during this pandemic. During this course of time, our lifestyle has changed, our way of working has changed, and even our daily routine has changed us so much into an anxious person that we are always looking for the hot spot revolving around. This blog explains the feature of how to publish the live data through integration using standard functionality in Success factors. Our example would be to display the Coronavirus data based on the continent to the homepage of the success factors. Let us begin,
This concept was originally been thought when there was a customer requirement where we need to publish the budget data from ERP to Success factors homepage. The following functionalities/tools have been used for this use case,
- Background element
- Integration (CPI)
- Open API
- Tile report
- RBP permissions
I have used an open API from the internet and defined the same structure in the background element below.
All the fields are determined as Varchar type since some of the integer values may cross the Background element field limit.
The main scenario of this process is the integration flow.
Let me start with the Request reply task, where it is been used for the synchronous connection(HTTP) to fetch the data from an open API. The groovy script is been used to define the proper JSON structure as the open API had an array structure in its response. Once the response is structured, it should be converted from JSON to XML since Success factors only accept the XML responses. The message mapping is been used to define the mapping between the fields from an open API to the Success factors Background element.
As you all know, the Background element will display over the people profile. Therefore, the primary key would be userid and backgroundelementid. The backgroundelementid would be different for different records. To achieve this, a hard-coded value is required at this place since we all know what type of data will be fetched from the open API. Therefore, we have created dummy data in the success factors background element of ‘sfadmin’ user profile. Get method has been used to fetch the backgroundelementid for the particular userid.
The logic written here is to hard code the backgroundelementid with the continent name. The response is always going to upsert the same backgroundelementid value in the success factors. Similarly, the userid will replace it with a constant ‘sfadmin’.
The connection between the response and the success factors is distinguished using the OData adapter. A scheduler is used for the whole integration flow to run every 30 minutes. Therefore, every 30 minutes the scheduler runs to fetch the values from the open API, and it will be upserted to the defined userid / backgroudnelementid in the success factors.
Now the data has come through integration. It is time to run a Tile report to fetch the data from people’s profiles.
The Tile report should start from ‘sfadmin’ & include starting from user option enabled. The report can be displayed to the homepage by enabling the RBP permission in the respective roles.
There goes the live data of coronavirus count on the success factors homepage.
To conclude, the success factors Background element is very flexible for this kind of requirement rather than going for MDF objects always. Thanks for your time in reading this. Stay home and stay safe.
PS: Thanks to the integration consultant who has worked with me during the entire use case.
Open API: https://corona.lmao.ninja/v2/continents