Integration of SuccessFactors Intelligent Services with SAP Cloud Identity using SAP HCP-IS(HCI)
In this Blog I would like to talk about Integration of SuccessFactors Intelligent Services with SAP Cloud Identity using SAP HCP-Integration Service (SAP HCI) as middleware.
When an employee is hired in SuccessFactors, a corresponding User should be created in SAP Cloud Identity. And if the User is terminated the corresponding SAP Cloud Identity User should be deactivated.
The Business requirement can be met on the basis that External Applications can subscribe to SuccessFactors Intelligent Services Events. Hence when an Employee is Hired/Terminated in SuccessFactors, a Intelligent Services Event can be triggered. SAP HCP-IS (HCI) can subscribe to this Event, thus starting a custom iFlow which in turn can create an User on SAP Cloud Identity.
So the 3 main components involved are:
SuccessFactors Intelligent Services is a set of capabilities in the SuccessFactors HCM suite that makes complex HR events simple. For example, when a change is initiated in the core HR system, Intelligent Services automatically predicts all associated tasks and processes, and cascades them through multiple systems to completion. Thus quickly and easily guiding HR and employees through the necessary steps when dealing with an employee change. For more details about SuccessFactors Intelligent Services please refer Intelligent Services – SAP Help Portal Page
SAP Cloud Identity service is a cloud solution for identity lifecycle management for SAP HANA Cloud Platform applications, and optionally for on-premise applications. It provides services for authentication, single sign-on, and on-premise integration as well as self-services such as registration or password reset for employees, customer partners, and consumers. For administrators, SAP Cloud Identity service provides features for user lifecycle management and application configurations. For more details about SAP Cloud Identity please refer, SAP Cloud Identity Service – SAP Help Portal Page
SAP HCP-Integration Service (Also known as SAP HCI) as middleware.
We break down this scenario into 2 parts. Scenario 1 for New Hire of Employee and Scenario 2 for Termination of Employee:
As soon as a New Employee is created in SuccessFactors, an Intelligent Services Event can be triggered. SAP HCP-IS(HCI) Web service, the subscriber of this event is called and a custom integration flow is triggered. The Custom integration flow creates a corresponding user in SAP Cloud Identity. The created User detail is sent back to SAP HCP-Integration Service which in turn sends a success/fail message to SuccessFactors.
On Termination of an Employee in SuccessFactors an Intelligent Services Event can be raised. SAP HCP-IS(HCI) Web service listens to this event and an custom integration flow is triggered. This deactivates already created user on SAP Cloud Identity. The response is sent back to SAP HCP-IS which then sends a success/fail message to SuccessFactors.
The steps followed are:
1. SAP HCP-Integration Service(HCI) subscribes to Employee Change(Employee Hire/Termination) Events in SuccessFactors (Intelligent Services – SAP Help Portal Page –> Implementation Guides –> External Event Notifications)
2. Intelligent Service Event gets triggered in SuccessFactors system on Employee Change(Employee Hire/Termination).
3. All the Subscribers of the Event are triggered. Thus SAP HCP-Integration Service (HCI) Webservice as a subscriber of the event gets called.
4. The Event is sent from SuccessFactors to SAP HCP-Integration Service(HCI) as a SOAP Message
5. A custom iFlow in SAP HCP-Integration service(HCI) starts.
6. SAP HCP-Integration Service(HCI) makes API calls to SuccessFactors to get more details about the Employee
7. SAP HCP-Integration Service(HCI) makes REST API calls onto SAP Cloud Identity to Create/Deactivate User
8. SAP Cloud Identity sends back response
9. SAP HCP-Integration Service(HCI) sends a success/fail event response back to SuccessFactors
Listed below are some Prerequisites before we actually start creating the Custom iFlow.
- System/User Requirements:
1. Access to SAP SuccessFactors with right role. A User to create Business Rules/Manage Business Configuration and to Subscribe to New Hire Event. A User to Create New Employee, thereby triggering New Hire Event. (More details Intelligent Services – SAP Help Portal Page , Implementation Guides –> External Events Notifications and Configuration Guides –> Setting Up Intelligent Services)
2. SAP HCP-Integration Services (HCI) Tenant. User ID/Password for the Tenant should be available with the right role (More details in SAP HANA Cloud Integration – SAP Help Portal Page )
3. Eclipse/SAP HCI Tooling: If you are using Eclipse for creating the iFlow, like I did, then SAP HANA Cloud Integration Tool for Eclipse should be installed ( SAP Development Tools for Eclipse)
4. Technical User/Password to create users in SAP Cloud Identity. This is needed in the Custom iFlow to create user in SCI.
- SuccessFactors Intelligent Services Event configuration:
Below are some sample steps to create a Business Rule to trigger Event and to Subscribe to this event. (More details can be found at Intelligent Services – SAP Help Portal Page –> Configuration Guides)
1. Configure Business Rule: Logon to SuccessFactors, Go to Admin Center and tool search for Configure Business Rule to create a new Rule. Here we set the rule that ‘If a New Hire happens trigger a New Hire Event’
Enter If –> Then Rule.
2. Manage Business Configuration: In Admin Center go to Manage Business Configuration
I go to Employee Central –> jobInfo. Go to Trigger Rules (You might have to scroll down a little on the Right Hand Side).
3. Event Subscription in SuccessFactors: In Admin Center go to Event Notification Subscription.
Finally The Endpoint URL of the SAP HCI Webservice (created from Custom iFlow : See Scenario 1 and 2) should be maintained for NewHire Event
- Prerequisites for building the iFlow:
1. A wsdl file that describes the fields and operations of Intelligent Services Event (New Hire/Termination in SuccessFactors). The Endpoint URL/Web Service in SAP HCP-Integration Service(HCI) can be built using the corresponding WSDL xml file.The wsdl file can be found in Intelligent Services – SAP Help Portal Page –> Implementation Guides –> External Events Notifications. Sameple wsdl
2. Next we need the xsd(xml schema definition) file that describes the elements and attributes needed for creation of User on Sap Cloud Identity and their order. This will be used for mapping SuccessFactors Employee related fields to SAP Cloud Identity User creation fields.
a. The json schema is available at https://help.hana.ondemand.com/cloud_identity/frameset.htm?2f215687fcf34170b0bbc8b36b60f2e9.html#loiocea87780bee94c6994b8005c6d6a4815. Create xsd based on this schema (make all necessary modifications). (We had to first convert the schema into an xml, Make corrections/modifications. Then conver the xml into xsd using various tools available online)
Note: This is needed for New Hire
Once the Prerequisites are in place, we can start building the corresponding iFlows. Please check the follow up Blogs.
1. Create User in SAP Cloud Identity on Employee Hire in SuccessFactors using SAP HCP-Integration Service (HCI). Refer Integration of SFSF Intelligent Services with SAP Cloud Identity using SAP HCP-IS(HCI) – New Employee
2. Deactivate User in SAP Cloud Identity on Termination of an Employee in SuccessFactors using SAP HCP-Integration Service (HCI). Refer Integration of SFSF Intelligent Services with SAP Cloud Identity using SAP HCP-IS(HCI) – Employee Termination