Outbound Integartion to workday from service now using HRSD components.

Apoorva A H
Tera Contributor

How to Integrate outbound to workday from service now using HRSD components? Can you provide me the steps in details and with one example.

6 REPLIES 6

Dr Atul G- LNG
Tera Patron
Tera Patron

Hi @Apoorva A H 

 

https://www.servicenow.com/docs/bundle/xanadu-employee-service-management/page/product/human-resourc...

*************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.

Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/atul_grover_lng [ Connect for 1-1 Session]

****************************************************************************************************************

Ankur Bawiskar
Tera Patron
Tera Patron

@Apoorva A H 

there is a integration spoke available for Workday

Did you check that?

HR Service Delivery Integration with Workday 

Workday IntegrationHub Spoke FAQ and Demo 

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Rajesh Chopade1
Mega Sage

hi @Apoorva A H 

 

First identify the Integration Requirements

  • Data Mapping: Identify which Workday data you need to send from ServiceNow (e.g., employee information, benefits data, position data).
  • API Endpoints: Workday provides REST and SOAP APIs for integration. Determine which APIs you'll use (most likely REST API).
  • Security Considerations: Workday requires authentication through OAuth 2.0 or API keys, so ensure you have the appropriate credentials to access the Workday APIs.
  • Data Format: Determine if Workday requires data in JSON, XML, or another format.

You will create a custom outbound REST message in ServiceNow that will trigger communication from ServiceNow to Workday.

 

Create an Outbound REST Message in ServiceNow:

Endpoint: Workday API endpoint (e.g., https://workday.com/api/v1/employeeData)
Authentication: Choose OAuth 2.0 or API Key based on Workday’s requirements. (You'll need to configure OAuth details, including the client ID, client secret, and the OAuth token URL.)

 

Set Up HTTP Methods:

Method: Choose POST (or another method as per Workday's API requirement).
In the HTTP Request section, provide the request body (in JSON format) based on what data you need to send.

 

Create a Script Include in ServiceNow that will transform the data from ServiceNow into the format expected by Workday.

example:

 

var WorkdayIntegration = Class.create();
WorkdayIntegration.prototype = {
    initialize: function() {
    },

    transformEmployeeData: function(employee) {
        // Transform employee data to the structure required by Workday
        var payload = {
            "employeeId": employee.employee_id,
            "firstName": employee.first_name,
            "lastName": employee.last_name,
            "email": employee.email,
            "jobTitle": employee.job_title,
            "department": employee.department
        };
        return JSON.stringify(payload);
    }
};

 

 

You can use a Business Rule or a Scheduled Job to trigger the outbound integration when certain events happen (e.g., when an employee record is created or updated).

Condition: (Define if you want this to run for specific conditions, such as only when certain fields are updated).

Example script which call the payload created via script include:

 

var workdayIntegration = new WorkdayIntegration();
var payload = workdayIntegration.transformEmployeeData(current);

// Call the Outbound REST Message
var request = new sn_ws.RESTMessageV2('Workday Employee Data Integration', 'POST');
request.setRequestBody(payload);
var response = request.execute();

var responseBody = response.getBody();
var httpStatus = response.getStatusCode();

if (httpStatus == 200) {
    gs.info("Employee data sent successfully to Workday.");
} else {
    gs.error("Error sending employee data to Workday: " + responseBody);
}

 

 

Then test the integration - Create or update an employee record and confirm that the data is sent to Workday.

----------------------

Also you can handle this integration with a Flow instead of using a Business Rule in ServiceNow. Flows are part of the Flow Designer in ServiceNow and are a more modern and user-friendly way of automating processes, including outbound integrations like sending data to Workday. Flows can be used to orchestrate actions such as calling REST APIs, creating records, and handling logic in a more visual and modular way.

 

I hope my answer helps you to resolve your issue, if yes please mark my answer helpful and correct.

thank you

Rajesh

 

 

Apoorva A H
Tera Contributor

Hii @Dr Atul G- LNG @Ankur Bawiskar  

 

Whatever you have provided I have seen but not able to see the Spokes as we need a subscription for that. And I came a crossed Regarding HR Integrations Is this achievable for outbound integrations. If yes can u elaborate it how we can use?