Integrations between ServiceNow and SuccessFactors
ServiceNow (SNOW) is a cloud based platform and also has mobile service apps for the employees. Many of you may remember SNOW as a ticketing tool. ServiceNow provides a platform for all service departments to easily access the services they offer to employees. ServiceNow has evolved into a very mature platform for HR services by which many business probelms can be resolved. Many clients are getting attracted to services provided by SNOW hence it has become common to Integrate the HRIS system with SNOW.
I would talk about Integration options between SAP SuccessFactors (SF) and SNOW. It is possible to integrate SNOW with almost all HRIS systems. SNOW can be used for ESS and MSS transactions and can be integrated with SF using the APIs. SNOW is fully driven by APIs.
SAP and SNOW have made good progress in last couple of years by working together and building a robust and seemless Integration between SuccessFactors and SNOW. ServiceNow has a product Integration with SAP SF EC. ServiceNow’s enhanced integration with SuccessFactors allows customers to deliver a seamless enterprise‑wide employee service experience. This complementary solution offering allows customers to leverage the power of both systems and create a connected experience.
Firstly when SAP SF is system of record then very first integration we need is to bring in the Employee Demographic data from SF Employee Central (EC) to SNOW. This is required to get efficient service from SNOW because service teams have access to relevant employee data from SF. There is a pre-configured Integration in SNOW to extract employee profile data from SF EC. It is based on SOAP and REST. Basic and Oauth authentication is possible. Field selection and mapping are done in SNOW and job is scheduled. Similarly another preconfigured integration is to sync to-dos in SNOW and SF. These out of box Integrations can be set up quickly without much work to do.
For various other scenarios where there’s a business process for Employee or Manager self service we can easily set up Integrations between SNOW and SF. For ex. in LOA scenario where employee initiates the LOA in SNOW and it goes through various approvals, when the approvals are complete the SF APIs can be triggered from SNOW to update the LOA event in SF. Similarly for other HR processes, Direct Integrations or Point-to-Point (PTP) can be easily set up because both SNOW and SF have powerful APIs for connection and data updates. For such integrations error handling is also very smooth and straightforward. Since SNOW is a powerful ticketing tool we can configure our Integration to generate a ticket for success/error notifications. We actually don’t require an additional layer (i.e. middleware SAP CPI or Dell Boomi) to connect these systems.
There may be some complex scenarios where we need to build a heavy transformation logic then you can analyze whether it makes sense to have a middleware in between. For ex. if there are various steps in your logic which starts from reading employee data from SF and then transforming it based on some criteria and then update in SF in mutliple steps then it is better to have a middleware where this logic can be built and accordingly error handling can be done. In this case if sender is SNOW and receiver is SF then you can creatre a service in middleware and expose it via end-point url. Create a sender HTTPS channel for SNOW to trigger the middleware. Make sure the HTTPS adapter has user role defined as ESBMessaging.send. This role is required to process messages on the CPI tenant node.
This end-point url can be shared with the SNOW team to configure, trigger and send the data. The middleware gets the data in XML/JSON etc. format and updates in SF. Some integrations can be real time also i.e. when workflow is completed in SNOW then Integratio should be triggered and data should be updated in SF in real time. For all such Inbound Integrations to SF you can create a service in middleware and give the end-point url to SNOW to trigger the Integration.
I would like to thank Prateek Srivastava (@prateek.srivastava3) who assisted us initially around Best Practices for such Integrations and introducing us to the SNOW capabilities.