Skip to main content

Integrating UKG With ServiceNow to Supplement Organizational Data

Toby Comer

Introduction

Many organizations leverage Active Directory for good reason—it serves as an excellent central repository for network resources like users, groups, and computers. This data can be imported into ServiceNow, providing visibility into both users as well as Active Directory groups and group memberships.

However, what about valuable data that exists outside Active Directory, such as UKG Human Resource information? UKG stores essential data about users, locations, organizations, and companies, offering deep insights into your organization and its people.

Cross-referencing data across multiple sources of truth can be difficult, tedious, and time-consuming, but allows for a more complete picture of your organization within ServiceNow.

We can leverage ServiceNow to integrate with your sources of truth.

In ServiceNow, we import data from additional sources (in this case, UKG Human Resources) and combine it with existing Active Directory data via Transform Maps to create a single "3-Dimensional" data point. This connects people, places, and things to provide comprehensive insights into your organization.

A great example of this is Location data. A user’s location in Active Directory may just be a string “New Jersey”, but you will need more details. What’s the location’s city, address or zip code? Supplementing this referential data can help with answering ‘how many users are located in each time zone’? Or who is the department head to approve a certain catalog request?

Data Sources / REST Messages

Data Sources / REST Messages act as "getters" of data, enabling ServiceNow to communicate with external sources like UKG Human Resources. You can request various data points such as user start dates, employment status, and location records using REST Messages.

Data requests are secure—authentication is required for accessing sensitive data. With UKG Human Resources, you must provide a username and password with your request to validate access, but also provide a Customer API Key and a User API Key.

Data sources will also allow you to schedule regular data imports to ensure the freshness of the supplemental data.

(function loadData(import_set_table, data_source, import_log, last_success_import_time) {

    var message = new sn_ws.RESTMessageV2('UKG integration', 'employee-employment-details');
    var resultStream = ukg_streamData(message);
    resultStream.forEach(function(result) {
        import_set_table.insert({
            "companyID": result["companyID"],
            "employeeID": result["employeeID"],
            "homeCompany": result["homeCompany"],
            "isHomeCompany": result["isHomeCompany"],
            "primaryJobCode": result["primaryJobCode"],
            "primaryWorkLocationCode": result["primaryWorkLocationCode"],
            "jobTitle": result["jobTitle"],
            "fullTimeOrPartTimeCode": result["fullTimeOrPartTimeCode"],
            "originalHireDate": result["originalHireDate"],
            "employeeTypeCode": result["employeeTypeCode"],
            "supervisorID": result["supervisorID"],
            "employeeStatusCode": result["employeeStatusCode"],
            "employeeNumber": result["employeeNumber"]
        });
    });

})(import_set_table, data_source, import_log, last_success_import_time);

An example of a Scripted Data Source to pull in user employment information from UKG via a Stream

Transform Maps

Transform maps are the "manipulators" of data. They take the data retrieved by Data Sources / REST Messages and organize it properly within ServiceNow by either creating new records or updating existing ones. For ServiceNow to correctly place data, it needs to coalesce data via a unique identifier that's consistent across all data sources. For user data from both UKG and Active Directory, we used the employee ID. After transforming your data, you have a robust, up-to-date "3-Dimensional" data point.

Have questions, or want to recreate the same record visibility within your organization? Feel free to reach out!