Skip to main content

UKG Pro Component

Manage employees, payroll, and talent onboarding in UKG Pro.

Component key: ukg-pro

Changelog ↓

Description

UKG Pro is a human capital management (HCM) platform. This component allows you to manage employees, organizational structures, payroll data, and talent onboarding processes within UKG Pro.

API Documentation

This component is built using the UKG Pro REST APIs, including the Personnel API, Talent Onboarding API, and Configuration API.

Connections

Basic Authentication

key: ukgProBasicAuth

UKG Pro Basic Auth (Web Service Account)

This connection method uses a Web Service Account to authenticate with UKG Pro's Personnel and Configuration APIs.

Prerequisites

Obtain the following items before configuring this connection:

  1. Web Service Account credentials from the UKG Pro administrator
  2. Customer API Key from the UKG Pro account
  3. Base URL for the UKG Pro environment

For more information about UKG Pro API authentication, see the UKG Pro API documentation.

Configure the Connection

Create a connection of type Basic Authentication and enter the following values:

  • API Base URL: The UKG Pro API base URL (e.g., https://service5.ultipro.com)
  • Customer API Key: The organization's unique Customer API Key
  • Service Account Username: Web Service Account username
  • Service Account Password: Web Service Account password

Obtain Web Service Account Credentials

Follow these steps to create and retrieve Web Service Account credentials:

  1. Log into the UKG Pro administration portal
  2. Navigate to System Configuration > Web Services
  3. Select Create Web Service Account or locate an existing account
  4. Copy the following values:
    • Username: The Web Service Account username
    • Password: The Web Service Account password
    • Customer API Key: Located in Web Services configuration

For detailed instructions, refer to the UKG Pro Web Services configuration guide.

Supported APIs

This connection type is used for:

  • Personnel API endpoints (employee demographics, employment details, changes)
  • Configuration API endpoints (companies, locations, jobs, positions)
InputNotesExample
API Base URL

The base URL for the UKG Pro API environment. Common values: https://service5.ultipro.com (US), https://service4.ultipro.ca (Canada). See Environment Configuration for details.

https://service5.ultipro.com
Customer API Key

The UKG Pro Customer API Key. Found in <strong>System Configuration > Security > Web Service Accounts</strong>. See Authentication Overview for details.

3SKPV
Service Account Password

The password for the Web Service Account.

Service Account Username

The username for the Web Service Account configured in UKG Pro.

api_service_account

Triggers

Employee Changes

Checks for new and updated employee records (hires, terminations, transfers, promotions) on a configured schedule. | key: pollEmployeeChanges

InputNotesExample
Company ID

Optional company ID to filter changes. Leave empty for all companies.

12345
Connection

Select your UKG Pro connection.

The Employee Changes polling trigger checks for new and updated employee records in UKG Pro on a configured schedule. This trigger monitors various employee lifecycle events including hires, terminations, transfers, promotions, compensation changes, and other personnel updates.

For more information, refer to the Get Employee Changes API documentation.

How It Works

The trigger polls the UKG Pro Employee Changes API endpoint at the configured polling interval. It maintains state to track the last successful poll time and only retrieves changes that occurred since that timestamp.

State Management

  • First Run: On the initial execution, the trigger retrieves changes from the past 24 hours
  • Subsequent Runs: The trigger tracks the lastPollTime in state and queries for changes since that timestamp
  • State Updates: After each successful poll, the current timestamp is stored as the new lastPollTime

Date Range Handling

The trigger converts poll timestamps to ISO date format (YYYY-MM-DD) for the UKG Pro API:

  • startDate: The date of the last successful poll
  • endDate: The current poll date

These date parameters are included in the response payload to indicate the time range covered by the poll.

Configuration

Configure the following input:

  • Company ID (Optional): Filter changes to a specific company within the UKG Pro tenant. When omitted, the trigger retrieves changes for all companies accessible to the authenticated connection.
Change Types (8)
  • New Hire (HIRE) - New employee added to the system
  • Update (UPD) - Changes to existing employee data
  • Termination (TERM) - Employee termination
  • Transfer (FER) - Department or location transfers
  • Promotion (PROMO) - Job level or title promotions
  • Compensation Change (COMP) - Salary or wage adjustments
  • Position Change (POS) - Job or role changes
  • Benefits Change (BEN) - Benefits enrollment updates

Returned Data

The trigger returns an object with the following structure:

Example Payload
{
"data": [
{
"employeeId": "EMP-12345",
"companyId": "COMP-001",
"employeeNumber": "E12345",
"firstName": "John",
"lastName": "Doe",
"changeType": "Update",
"changeTypeCode": "UPD",
"changedFields": ["jobTitle", "department", "payRate"],
"changeTimestamp": "2024-01-15T14:30:00.000Z",
"lastModifiedDate": "2024-01-15"
},
{
"employeeId": "EMP-12346",
"companyId": "COMP-001",
"employeeNumber": "E12346",
"firstName": "Jane",
"lastName": "Smith",
"changeType": "New Hire",
"changeTypeCode": "HIRE",
"changedFields": [],
"changeTimestamp": "2024-01-15T09:00:00.000Z",
"lastModifiedDate": "2024-01-15"
},
{
"employeeId": "EMP-12347",
"companyId": "COMP-001",
"employeeNumber": "E12347",
"firstName": "Bob",
"lastName": "Johnson",
"changeType": "Termination",
"changeTypeCode": "TERM",
"changedFields": ["employmentStatus", "terminationDate"],
"changeTimestamp": "2024-01-15T16:45:00.000Z",
"lastModifiedDate": "2024-01-15"
}
],
"pollStartDate": "2024-01-10",
"pollEndDate": "2024-01-15",
"totalCount": 3
}

Changed Fields

For update changes, the changedFields array indicates which specific employee attributes were modified (e.g., jobTitle, department, payRate, employmentStatus).


Employee Lifecycle Events

Receive and validate webhook requests from UKG Pro for manually configured employee lifecycle event subscriptions. | key: webhookEmployeeLifecycle

InputNotesExample
Connection

Select your UKG Pro connection.

Verify Webhook Signature

When true, validates the HMAC-SHA256 webhook signature using the webhook secret. Requires Webhook Secret to be configured.

false
Webhook Secret

The shared secret used to verify webhook signatures. Configure this in UKG Pro webhook settings and enter the same value here.

The Employee Lifecycle Events webhook trigger receives notifications from UKG Pro when employee lifecycle events occur. This trigger supports real-time detection of employee changes including hires, terminations, promotions, transfers, position changes, compensation updates, and benefits enrollment changes.

UKG Pro must be configured to send webhook notifications to the flow webhook URL for this trigger to receive events.

For more information on configuring webhooks in UKG Pro, refer to the UKG Webhooks documentation.

How It Works

When an employee lifecycle event occurs in UKG Pro, the system sends an HTTP POST request to the configured webhook URL. The trigger receives the webhook payload, optionally verifies the signature, and returns a 200 OK acknowledgment response.

Webhook Configuration in UKG Pro

To receive lifecycle events, configure a webhook subscription in UKG Pro:

  1. Navigate to the webhook management interface in UKG Pro
  2. Create a new webhook subscription
  3. Set the webhook URL to the flow webhook URL
  4. Select the employee lifecycle event types to monitor
  5. Configure a shared secret for signature verification (recommended)
  6. Activate the webhook subscription
Event Types (8)
  • created - New employee record created
  • updated - Employee record updated (any field)
  • terminated - Employee termination processed
  • transferred - Employee transferred to new department/location
  • promoted - Employee promoted to new position/level
  • position changed - Employee position or role changed
  • compensation changed - Employee compensation adjusted
  • benefits enrollment changed - Benefits enrollment modified

The specific event type is typically included in the webhook payload body or headers sent by UKG Pro.

Configuration

Verify Webhook Signature

Type: Boolean Default: true Required: No

When enabled, the trigger validates the webhook signature using the HMAC-SHA256 algorithm and the shared secret from the connection. UKG Pro includes the signature in the X-UKG-Signature header.

Note: Signature verification logic logs a warning if the signature is missing but does not reject the webhook. Complete signature validation with shared secret comparison should be implemented based on UKG Pro's webhook signature specification.

Webhook Payload

The structure of the webhook payload depends on the event type. A typical employee lifecycle event payload includes:

Example Payload
{
"eventId": "evt-789012",
"eventType": "employee.updated",
"timestamp": "2024-01-15T14:30:00.000Z",
"tenantId": "acme-corp",
"employee": {
"employeeId": "EMP-12345",
"employeeNumber": "E12345",
"companyId": "COMP-001",
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@acmecorp.example.com",
"status": "Active"
},
"changes": [
{
"field": "jobTitle",
"previousValue": "Software Engineer",
"newValue": "Senior Software Engineer"
},
{
"field": "department",
"previousValue": "Engineering",
"newValue": "Platform Engineering"
}
],
"effectiveDate": "2024-01-15"
}

Common Payload Fields

  • eventId - Unique identifier for the webhook event
  • eventType - Type of lifecycle event (e.g., employee.updated, employee.terminated)
  • timestamp - When the event occurred
  • tenantId - UKG Pro tenant identifier
  • employee - Employee record information
  • changes - Array of field changes (for update events)
  • effectiveDate - When the change takes effect

Event-Specific Fields

Different event types may include additional fields:

  • Termination events: terminationDate, terminationReason, terminationReasonCode
  • Transfer events: newDepartment, newLocation, transferType
  • Promotion events: newJobTitle, newJobLevel, promotionType
  • Compensation events: newSalary, newPayRate, compensationType

Response Handling

The trigger returns a 200 OK response with a JSON body to acknowledge receipt:

{
"received": true
}

New Hire Status

Checks for new and updated new hire onboarding records on a configured schedule. | key: pollNewHireStatus

InputNotesExample
Connection

Select your UKG Pro connection.

The New Hire Status polling trigger checks for new and updated new hire onboarding records in UKG Pro on a configured schedule. This trigger monitors new hire additions, status changes, and onboarding progress updates for employees going through the pre-employment onboarding process.

For more information, refer to the Get New Hires In Progress API documentation and Get Completed New Hires API documentation.

How It Works

The trigger polls the UKG Pro Talent Onboarding API endpoints to track new hire records across both in-progress and recently completed statuses. It maintains a state map of each new hire's status and progress percentage to detect changes between poll intervals.

State Management

The trigger stores a status map in state with the following structure:

State Map Structure
{
lastStatusMap: {
"NH-12347": {
status: "In Progress",
progress: 40
},
"NH-12348": {
status: "In Progress",
progress: 100
}
},
lastPollTime: "2024-01-15T10:30:00.000Z"
}

Change Detection

The trigger compares the current state of each new hire against the stored state to identify three types of changes:

  1. NewHireAdded - A new hire that wasn't in the previous state map
  2. StatusChange - The status field changed (e.g., "In Progress" → "Completed")
  3. ProgressUpdate - The onboarding progress percentage changed without a status change

Multi-Endpoint Polling

To capture new hires transitioning from in-progress to completed status, the trigger polls two endpoints:

  • /new-hires/in-progress - Active onboarding records
  • /new-hires/completed - Recently completed onboarding (last 50 records)

This dual-endpoint approach ensures status changes are detected even when a new hire completes onboarding between poll intervals.

Configuration

This trigger requires no additional configuration inputs beyond the UKG Pro connection. It automatically polls all new hire records accessible to the authenticated tenant.

Returned Data

The trigger returns an object with detected changes:

Example Payload
{
"data": [
{
"newHireId": "NH-12347",
"firstName": "Robert",
"lastName": "Johnson",
"changeType": "NewHireAdded",
"currentStatus": "In Progress",
"currentProgress": 40,
"detectedAt": "2024-01-15T10:30:00.000Z"
},
{
"newHireId": "NH-12348",
"firstName": "Alice",
"lastName": "Williams",
"changeType": "ProgressUpdate",
"previousStatus": "In Progress",
"currentStatus": "In Progress",
"previousProgress": 85,
"currentProgress": 100,
"detectedAt": "2024-01-15T10:30:00.000Z"
},
{
"newHireId": "NH-12346",
"firstName": "Jane",
"lastName": "Smith",
"changeType": "StatusChange",
"previousStatus": "In Progress",
"currentStatus": "Completed",
"previousProgress": 100,
"currentProgress": 100,
"detectedAt": "2024-01-15T10:30:00.000Z"
}
],
"inProgressCount": 8,
"completedCount": 50,
"pollTime": "2024-01-15T10:30:00.000Z"
}
Payload Fields

Each change object includes:

  • newHireId - Unique identifier for the new hire
  • firstName / lastName - New hire's name
  • changeType - Type of change detected
  • previousStatus - Status before the change (for StatusChange and ProgressUpdate)
  • currentStatus - Current status
  • previousProgress - Progress percentage before the change (0-100)
  • currentProgress - Current progress percentage (0-100)
  • detectedAt - Timestamp when the change was detected

The response also includes summary counts:

  • inProgressCount - Total number of in-progress new hires in current poll
  • completedCount - Number of completed new hires retrieved (up to 50)
  • pollTime - Timestamp of the poll execution

New Hire Statuses

UKG Pro new hires can have various statuses including:

  • In Progress - Onboarding is active
  • Completed - Onboarding has been completed, new hire is now an employee
  • Canceled - Onboarding was canceled (not tracked by this trigger)

Onboarding Progress Tracking

The overallPercentComplete field tracks completion across onboarding tasks:

  • Personal information forms
  • Tax forms (W-4, state withholding)
  • Direct deposit setup
  • I-9 employment verification
  • Benefits enrollment
  • Company policy acknowledgments
  • Equipment requests
  • Custom onboarding tasks

A new hire with 100% progress may still have status "In Progress" until the onboarding coordinator marks it as completed.


Data Sources

Select Company

Select a company from the available companies in UKG Pro. | key: selectCompany | type: picklist

InputNotesExample
Connection

Select your UKG Pro connection.

{
"result": [
{
"label": "ACME Corporation (ACME001)",
"key": "ACME001"
},
{
"label": "TechCorp Industries (TECH002)",
"key": "TECH002"
},
{
"label": "Global Services LLC (GLOB003)",
"key": "GLOB003"
}
]
}

Select Job

Select a job definition from the available jobs in UKG Pro. | key: selectJob | type: picklist

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

{
"result": [
{
"label": "Software Developer (SW-DEV)",
"key": "JOB-DEV-001"
},
{
"label": "Marketing Manager (MKT-MGR)",
"key": "JOB-MKT-001"
},
{
"label": "Sales Representative (SALES-REP)",
"key": "JOB-SALES-001"
},
{
"label": "HR Specialist (HR-SPEC)",
"key": "JOB-HR-001"
}
]
}

Select Location

Select a work location from the available locations in UKG Pro. | key: selectLocation | type: picklist

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

{
"result": [
{
"label": "San Francisco Headquarters (SF-HQ)",
"key": "LOC-SF"
},
{
"label": "New York Office (NYC-OFFICE)",
"key": "LOC-NYC"
},
{
"label": "Remote (REMOTE)",
"key": "LOC-REMOTE"
},
{
"label": "Chicago Branch (CHI-BRANCH)",
"key": "LOC-CHI"
}
]
}

Select Position

Select a position from the available positions in UKG Pro. | key: selectPosition | type: picklist

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

{
"result": [
{
"label": "Software Engineer (SW-ENG-001)",
"key": "POS-001"
},
{
"label": "Marketing Manager (MKT-MGR-001)",
"key": "POS-002"
},
{
"label": "Sales Lead (SALES-LEAD-001)",
"key": "POS-003"
},
{
"label": "HR Coordinator (HR-COORD-001)",
"key": "POS-004"
}
]
}

Actions

Get All Employment Contract Details

Retrieve contract details for all employees. | key: getEmploymentContractDetails

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter Parameters

Additional filter parameters as key-value pairs.

status=active,type=full-time
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

{
"data": [
{
"amendmentDate": null,
"companyId": "6Y4NV",
"contractEndDate": "2025-04-09T14:26:14.763",
"contractNumber": "FGB2388",
"contractReason": "EXWORKFORCE",
"contractStartDate": "2022-04-09T14:26:14.763",
"contractTypeCode": "FIXED",
"contractTypeDescription": "Fixed Term",
"dateTimeCreated": "2015-09-17T10:02:41.287",
"durationDays": 0,
"durationMonths": 0,
"durationWeeks": 0,
"durationYears": 3,
"employeeId": "9704HG0010K0",
"employmentContractId": 5,
"fteContractHours": 40,
"isAmendment": "N",
"isRenewal": "N",
"notes": null,
"noticePeriodDays": 180,
"noticePeriodMonths": 0,
"noticePeriodWeeks": 0,
"noticePeriodYears": 0,
"probationaryDays": 60,
"rehirePeriodDays": 0,
"rehirePeriodMonths": 3,
"rehirePeriodWeeks": 0,
"rehirePeriodYears": 0,
"renewalContractId": 0,
"rowLastChanged": "2022-05-09T14:26:14.763"
}
]
}

Get All Employment Details by Company

Retrieve employment details for all employees within a specific company. | key: getAllEmploymentDetailsByCompany

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter Parameters

Additional filter parameters as key-value pairs.

status=active,type=full-time
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

Get All Person Details

Retrieve person details for all employees across all companies. | key: getAllPersonDetails

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter Parameters

Additional filter parameters as key-value pairs.

status=active,type=full-time
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

{
"data": [
{
"additionalName1": "string",
"additionalName2": "string",
"addressId": "00000000-0000-0000-0000-000000000000",
"addressIsOnTaxBoundary": true,
"addressLatitude": 0,
"cobraExport": "string",
"cobraIsActive": true,
"cobraReason": "string",
"cobraStatus": "string",
"cobraStatusDate": "2026-01-14T18:10:21.710Z",
"communityBroadcastSmsCode": "string",
"consentElectronicW2": true,
"consentElectronicw2pr": true,
"dateDeceased": "2026-01-14T18:10:21.710Z",
"dateOfCobraEvent": "2026-01-14T18:10:21.710Z",
"dateOfCobraExport": "2026-01-14T18:10:21.710Z",
"dateOfCobraLetter": "2026-01-14T18:10:21.710Z",
"dateOfI9Expiration": "2026-01-14T18:10:21.710Z",
"datetimeChanged": "2026-01-14T18:10:21.710Z",
"datetimeCreated": "2026-01-14T18:10:21.710Z",
"disabilityType": "string",
"ethnicDescription": "string",
"formerName": "string",
"healthBloodType": "string",
"healthEyes": "string",
"healthHair": "string",
"healthHeightFeet": "string",
"healthHeightInches": "string",
"healthLastDonateDate": "2026-01-14T18:10:21.710Z",
"healthWeight": 0,
"i9AlienNumber": "string",
"i9DocA": "string",
"i9DocB": "string",
"i9DocC": "string",
"i9Verified": true,
"i9VisaType": "string",
"i9WorkAuth": "string",
"isDisabled": true,
"isMultiPayGroup": true,
"isSmoker": true,
"militaryService": true,
"militaryBranchServed": "string",
"militaryEra": "string",
"militaryIsDisabledVet": "string",
"militaryIsOthEligVet": "string",
"militaryIsOthEligVetBasis": "string",
"militaryIsActiveWartimeVet": "string",
"nameFormer": "string",
"previousSSN": "string",
"originCountry": "string",
"originLocation": "string",
"w2IsDeceased": true,
"cobraNotes": "string",
"addressSms": "string",
"militarySeparationDate": "2026-01-14T18:10:21.710Z",
"homePhoneIsPrivate": true,
"smsApprovals": true,
"smsPayNotification": true,
"i9VisaExpirationDate": "2026-01-14T18:10:21.710Z",
"militaryIsMedalVet": "string",
"lastNameNotSameAsSSCard": "string",
"chkCashingInstCode": "string",
"nationality1": "string",
"nationality2": "string",
"nationality3": "string",
"personId": "00000000-0000-0000-0000-000000000000",
"employeeId": "string",
"companyId": "string",
"userName": "string",
"firstName": "string",
"middleName": "string",
"lastName": "string",
"preferredName": "string",
"namePrefixCode": "string",
"nameSufixCode": "string",
"emailAddress": "string",
"emailAddressAlternate": "string",
"homePhone": "string",
"homePhoneCountry": "string",
"addressLine1": "string",
"addressLine2": "string",
"addressCity": "string",
"addressState": "string",
"addressZipCode": "string",
"addressCountry": "string",
"addressCounty": "string",
"nationalId": "string",
"nationalIdCountry": "string",
"dateOfBirth": "2026-01-14T18:10:21.710Z",
"gender": "string",
"ethnicIDCode": "string",
"maritalStatusCode": "string",
"ssn": "string",
"ssnIsSuppressed": true
}
]
}

Get Employee Changes by Date

Retrieve employees with changes since a specified date. Note: Date must be at least 3 hours ago. | key: getEmployeeChangesByDate

InputNotesExample
Connection

Select your UKG Pro connection.

End Date

End date for filtering results. Format: YYYY-MM-DD

2024-12-31
Fetch All

When true, automatically fetches all pages of results using pagination.

false
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100
Start Date

Start date for filtering results. Format: YYYY-MM-DD

2024-01-01

{
"data": [
{
"firstName": "Marion",
"lastName": "Kent",
"preferredName": "Marion",
"emailAddress": "Marion.Kent@usgmail.net",
"countryCode": "USA",
"languageCode": "en-us",
"employeeNumber": "000000104",
"employeeId": "1HHZIT000080",
"personId": "7edf43b3-9a91-5668-9a80-9463067fcf0b",
"userIntegrationKey": "",
"companyName": "Eastwood(289)",
"companyId": "HDLBX",
"supervisorId": "1HHTJQ000080",
"salaryOrHourly": "S",
"fullTimeOrPartTime": "F",
"isActive": true,
"workLocationCode": "SEAL",
"jobCode": "TECH1",
"projectCode": "Z",
"orgLevel1Code": "SOFT",
"orgLevel2Code": "SUPP",
"orgLevel3Code": "WES",
"orgLevel4Code": "",
"middleName": "M.",
"workPhone": "4155551200",
"homePhone": "4155554987",
"employeeAddress1": "1228 Electric Ave",
"employeeAddress2": "",
"city": "Seal Beach",
"state": "CA",
"zipCode": "90740",
"terminationDate": "",
"hireDate": "1/1/1996 12:00:00 AM",
"supervisorName": "Lyle Smith",
"suffix": "",
"prefix": "MR",
"alternateEmailAddress": "",
"gender": "M",
"employeeStatus": "A",
"employeeType": "REG",
"emplStatusStartDate": "1/1/1997 12:00:00 AM",
"dateInJob": "1/1/1997 12:00:00 AM",
"dateOfLastHire": "1/1/1997 12:00:00 AM",
"jobGroupCode": "",
"alternateJobTitle": ""
}
]
}

Get Employee Changes by ID

Retrieve change history for a specific employee. | key: getEmployeeChangesById

InputNotesExample
Connection

Select your UKG Pro connection.

Employee ID

The unique identifier for the employee in UKG Pro.

12345

{
"data": {
"employeeId": "EMP-12345",
"companyId": "COMP-001",
"changes": [
{
"changeId": "CHG-789012",
"changeType": "Update",
"changeTypeCode": "UPD",
"changeCategory": "Job Information",
"changeCategoryCode": "JOB",
"field": "jobTitle",
"fieldDisplayName": "Job Title",
"oldValue": "Software Engineer",
"newValue": "Senior Software Engineer",
"changeTimestamp": "2024-01-15T14:30:00.000Z",
"effectiveDate": "2024-01-15",
"changedBy": {
"userId": "USR-HR-001",
"userName": "HR Admin",
"userType": "System User"
},
"approvedBy": {
"userId": "USR-MGR-001",
"userName": "Jane Smith",
"userType": "Manager"
}
},
{
"changeId": "CHG-789013",
"changeType": "Update",
"changeTypeCode": "UPD",
"changeCategory": "Compensation",
"changeCategoryCode": "COMP",
"field": "payRate",
"fieldDisplayName": "Pay Rate",
"oldValue": "95000",
"newValue": "115000",
"changeTimestamp": "2024-01-15T14:30:00.000Z",
"effectiveDate": "2024-01-15",
"changedBy": {
"userId": "USR-HR-001",
"userName": "HR Admin",
"userType": "System User"
},
"approvedBy": {
"userId": "USR-MGR-001",
"userName": "Jane Smith",
"userType": "Manager"
}
},
{
"changeId": "CHG-789014",
"changeType": "Update",
"changeTypeCode": "UPD",
"changeCategory": "Organization",
"changeCategoryCode": "ORG",
"field": "department",
"fieldDisplayName": "Department",
"oldValue": "Engineering",
"newValue": "Platform Engineering",
"changeTimestamp": "2024-01-10T09:15:00.000Z",
"effectiveDate": "2024-01-10",
"changedBy": {
"userId": "SYSTEM",
"userName": "System",
"userType": "System"
},
"approvedBy": null
}
],
"totalChanges": 3
}
}

Get Employee Demographic Details

Retrieve demographic details for employees, optionally filtered by date range. | key: getEmployeeDemographicDetails

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter Parameters

Additional filter parameters as key-value pairs.

status=active,type=full-time
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

Get Employee Employment Details

Retrieve employee's employment details according to the specified query parameters. | key: getEmployeeEmploymentDetails

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Deduction Group Code

Filter by one or more deduction group codes (comma-separated).

DED-001,DED-002
Earning Group Code

Filter by one or more earning group codes (comma-separated).

EARN-001,EARN-002
Employee ID

The unique identifier for the employee in UKG Pro.

12345
Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter Parameters

Additional filter parameters as key-value pairs.

status=active,type=full-time
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100
Primary Job Code

Filter by one or more primary job codes (comma-separated). Example: SW-ENG,MKT-MGR

SW-ENG,MKT-MGR
Primary Project Code

Filter by one or more project codes (comma-separated). Example: PROJ-001,PROJ-002

PROJ-001,PROJ-002
Primary Work Location Code

Filter by one or more work location codes (comma-separated). Example: ATL-HQ,SF-WEST

ATL-HQ,SF-WEST

{
"data": [
{
"companyID": "6Y4NV",
"employeeID": "EQKKKU000020",
"homeCompany": "6Y4NV",
"isHomeCompany": true,
"isSupervisor": false,
"primaryJobCode": "CAADMIN",
"orgLevel1Code": "ADMIN",
"orgLevel2Code": "CSTSVR",
"orgLevel3Code": "CAN",
"orgLevel4Code": null,
"originalHireDate": "2021-09-20T00:00:00",
"lastHireDate": "2021-09-20T00:00:00",
"fullTimeOrPartTimeCode": "F",
"primaryWorkLocationCode": "CAHQ1",
"languageCode": "EN",
"primaryProjectCode": null,
"workPhoneNumber": "9056263314",
"workPhoneExtension": "1437",
"workPhoneCountry": "CAN",
"dateInJob": "2021-09-20T00:00:00",
"dateLastWorked": null,
"benefitSeniorityDate": "2021-09-20T00:00:00",
"seniorityDate": "2021-09-20T00:00:00",
"deductionGroupCode": "CABN",
"earningGroupCode": "CAHRY",
"jobChangeReasonCode": "301",
"jobTitle": null,
"employeeTypeCode": "REG",
"employeeStatusCode": "A",
"employeeNumber": "000012444",
"leaveReasonCode": null,
"supervisorID": "96ZZ520000K0",
"autoAllocate": "N",
"clockCode": null,
"dateLastPayDatePaid": "2023-05-12T00:00:00",
"earlyRetirementDate": "2060-06-15T00:00:00",
"retirementDate": "2063-06-15T00:00:00",
"suspensionDate": null,
"terminationDate": null,
"payGroupCode": "CAHOUR",
"payPeriod": "W",
"paidThruDate": null,
"employeeStatusStartDate": "2021-09-20T00:00:00",
"hireSource": "WEB",
"isAutoAllocated": false,
"isAutoPaid": true,
"isHighlyCompensated": false,
"isMultipleJob": true,
"jobCode": "CAADMIN",
"jobGroupCode": "ADMN",
"annualSalary": 58240,
"mailstop": null,
"okToRehire": "N",
"plannedLeaveReason": null,
"positionCode": null,
"salaryOrHourly": "H",
"scheduledAnnualHours": 2080,
"scheduledFTE": 1,
"scheduledWorkHours": 40,
"shift": "Z",
"shiftGroup": "Z",
"terminationReasonCode": null,
"terminationDescription": null,
"termType": null,
"timeClockID": null,
"weeklyHours": 0,
"dateTimeCreated": "2023-03-29T08:24:30.16",
"dateTimeChanged": "2023-03-29T11:43:28.927",
"employeeStatusExpectedEndDate": null,
"integrationRecordId": "6d600600-ee9e-46fb-b9da-5c256e71404c",
"currentCompanyCountryCode": "CAN",
"homeCompanyCountryCode": "CAN",
"isKeyEmployee": false,
"hourlyPayRate": 28,
"salaryEffectiveDate": "2021-09-20T00:00:00",
"unionLocalCode": null,
"unionNationalCode": null
}
]
}

Get Employee Employment Details by Employee ID and Company ID

Retrieve employment details for a specific employee by company and employee ID. | key: getEmployeeEmploymentDetailsByEmployeeIdAndCompanyId

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Employee ID

The unique identifier for the employee in UKG Pro.

12345
Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter Parameters

Additional filter parameters as key-value pairs.

status=active,type=full-time
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

{
"data": [
{
"companyID": "6Y4NV",
"employeeID": "EQKKKU000020",
"homeCompany": "6Y4NV",
"isHomeCompany": true,
"isSupervisor": false,
"primaryJobCode": "CAADMIN",
"orgLevel1Code": "ADMIN",
"orgLevel2Code": "CSTSVR",
"orgLevel3Code": "CAN",
"orgLevel4Code": null,
"originalHireDate": "2021-09-20T00:00:00",
"lastHireDate": "2021-09-20T00:00:00",
"fullTimeOrPartTimeCode": "F",
"primaryWorkLocationCode": "CAHQ1",
"languageCode": "EN",
"primaryProjectCode": null,
"workPhoneNumber": "9056263314",
"workPhoneExtension": "1437",
"workPhoneCountry": "CAN",
"dateInJob": "2021-09-20T00:00:00",
"dateLastWorked": null,
"benefitSeniorityDate": "2021-09-20T00:00:00",
"seniorityDate": "2021-09-20T00:00:00",
"deductionGroupCode": "CABN",
"earningGroupCode": "CAHRY",
"jobChangeReasonCode": "301",
"jobTitle": null,
"employeeTypeCode": "REG",
"employeeStatusCode": "A",
"employeeNumber": "000012444",
"leaveReasonCode": null,
"supervisorID": "96ZZ520000K0",
"autoAllocate": "N",
"clockCode": null,
"dateLastPayDatePaid": "2023-05-12T00:00:00",
"earlyRetirementDate": "2060-06-15T00:00:00",
"retirementDate": "2063-06-15T00:00:00",
"suspensionDate": null,
"terminationDate": null,
"payGroupCode": "CAHOUR",
"payPeriod": "W",
"paidThruDate": null,
"employeeStatusStartDate": "2021-09-20T00:00:00",
"hireSource": "WEB",
"isAutoAllocated": false,
"isAutoPaid": true,
"isHighlyCompensated": false,
"isMultipleJob": true,
"jobCode": "CAADMIN",
"jobGroupCode": "ADMN",
"annualSalary": 58240,
"mailstop": null,
"okToRehire": "N",
"plannedLeaveReason": null,
"positionCode": null,
"salaryOrHourly": "H",
"scheduledAnnualHours": 2080,
"scheduledFTE": 1,
"scheduledWorkHours": 40,
"shift": "Z",
"shiftGroup": "Z",
"terminationReasonCode": null,
"terminationDescription": null,
"termType": null,
"timeClockID": null,
"weeklyHours": 0,
"dateTimeCreated": "2023-03-29T08:24:30.16",
"dateTimeChanged": "2023-03-29T11:43:28.927",
"employeeStatusExpectedEndDate": null,
"integrationRecordId": "6d600600-ee9e-46fb-b9da-5c256e71404c",
"currentCompanyCountryCode": "CAN",
"homeCompanyCountryCode": "CAN",
"isKeyEmployee": false,
"hourlyPayRate": 28,
"salaryEffectiveDate": "2021-09-20T00:00:00",
"unionLocalCode": null,
"unionNationalCode": null
}
]
}

Get Employee Job History

Retrieve the complete job history for a specific employee. | key: getEmployeeJobHistory

InputNotesExample
Connection

Select your UKG Pro connection.

Employee ID

The unique identifier for the employee in UKG Pro.

12345
Fetch All

When true, automatically fetches all pages of results using pagination.

false
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

{
"data": [
{
"annualSalary": 100000,
"companyId": "1E4P1",
"dateTimeCreated": "2010-05-27T21:26:53.05",
"employeeId": "81E8SL0000K0",
"employeeType": "REG",
"employeeStatus": "A",
"flsaCategory": null,
"fullTimeOrPartTime": "F",
"hourlyPayRate": 0,
"isJobChange": false,
"isOrgchange": false,
"isOutsideGuidelines": false,
"isOutsideRange": false,
"isPromotion": false,
"isRateChange": false,
"isSystem": true,
"isTransfer": false,
"jobCode": "HRMGRF",
"jobDescription": "HR Manager",
"jobEffectiveDate": "2010-01-01T00:00:00",
"jobGroupCode": null,
"locationCode": "0",
"orgLevel1Code": "ADMIN",
"orgLevel2Code": "HR",
"orgLevel3Code": null,
"orgLevel4Code": null,
"otherRate1": 0,
"otherRate2": 0,
"otherRate3": 0,
"otherRate4": 0,
"payGroupCode": "0",
"payPeriodCode": null,
"payScaleCode": null,
"percentChange": 0,
"periodPayRate": 0,
"piecePayRate": 0,
"positionCode": null,
"reasonCode": "100",
"salaryGrade": "0",
"salaryOrHourly": "S",
"scheduledAnnualHours": 0,
"scheduledFullTimeEquivalency": 0,
"scheduledWorkHours": 0,
"shiftCode": "0",
"shiftGroupCode": "Z",
"stepNumber": 0,
"supervisorId": null,
"supervisorNameFirst": null,
"supervisorNameLast": null,
"supervisorNameSuffix": null,
"supervisorNotInList": false,
"systemId": "81E8SM0020K0",
"unionNational": null,
"unionLocal": null,
"usePayScales": false,
"weeklyPayRate": 0,
"notes": null,
"homeCompanyId": "1E4P1",
"integrationEffectiveDate": "2010-01-01T00:00:00",
"projectCode": null,
"numberOfPayments": 0,
"weeklyHours": 0,
"isViewableByEmployee": true,
"createdByUserId": 0,
"jobTitle": null
}
]
}

Get File Status

Fetch the status of a file submitted to the import tool. | key: getImportFileStatus

InputNotesExample
Connection

Select your UKG Pro connection.

File ID

The unique identifier for the file in the Import Tool.

12345678-abcd-1234-efgh-567890ijklmn

{
"data": {
"stagingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"fileName": "newhire-batch-2024-02-15.xml",
"fileStatus": "Processed",
"fileStatusCode": "PROCESSED",
"dateTimeUploaded": "2024-02-15T14:30:00.000Z",
"dateTimeProcessed": "2024-02-15T14:35:00.000Z",
"fileSizeBytes": 4096,
"transactionCount": 10,
"validationStatus": "Valid",
"validationStatusCode": "VALID",
"validationErrors": []
}
}

Get File Summary

Fetch a summary of a file submitted to the import tool. | key: getImportFileSummary

InputNotesExample
Connection

Select your UKG Pro connection.

File ID

The unique identifier for the file in the Import Tool.

12345678-abcd-1234-efgh-567890ijklmn

{
"data": {
"stagingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"fileName": "newhire-batch-2024-02-15.xml",
"transactionType": "New Hire/Re-Hire",
"transactionTypeCode": "NEWHIRE",
"dateTimeCreated": "2024-02-15T14:30:00.000Z",
"dateTimeCompleted": "2024-02-15T14:35:00.000Z",
"status": "Completed",
"statusCode": "COMPLETED",
"summary": {
"totalRecords": 10,
"successfulRecords": 9,
"failedRecords": 1,
"warningRecords": 0
},
"results": [
{
"recordNumber": 1,
"employeeNumber": "E12350",
"employeeName": "John Smith",
"status": "Success",
"statusCode": "SUCCESS",
"message": "Employee record created successfully"
},
{
"recordNumber": 2,
"employeeNumber": null,
"employeeName": "Jane Doe",
"status": "Failed",
"statusCode": "FAILED",
"message": "Required field 'SSN' is missing",
"errorCode": "MISSING_REQUIRED_FIELD"
}
]
}
}

Get Import Status

Retrieve the status of an import tool transaction using the staging ID. | key: getImportStatus

InputNotesExample
Connection

Select your UKG Pro connection.

Staging ID

The unique staging identifier returned from the Import XML Data action. Used to track transaction status.

12345678-abcd-1234-efgh-567890ijklmn

{
"data": {
"stagingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "Processing",
"statusCode": "PROCESSING",
"dateTimeCreated": "2024-02-15T14:30:00.000Z",
"dateTimeStarted": "2024-02-15T14:30:05.000Z",
"dateTimeCompleted": null,
"fileName": "newhire-batch-2024-02-15.xml",
"totalRecords": 10,
"processedRecords": 4,
"successfulRecords": 4,
"failedRecords": 0,
"percentComplete": 40
}
}

Get Job

Retrieve detailed information for a specific job definition. | key: getJob

InputNotesExample
Connection

Select your UKG Pro connection.

Job ID

The unique identifier for the job.

JOB-001

{
"data": {
"countryCode": "USA",
"jobCode": "SW-ENG-001",
"title": "Software Engineer",
"jobFamilyCode": "ENG",
"isActive": true,
"longDescription": "Designs, develops, and maintains software applications and systems.",
"jobEE0Category": "Professional",
"jobGroup": "Engineering",
"flsaTypeCode": "EXEMPT",
"integrationRecordId": "JOB-ENG-SW-001",
"workEnvirornmentCode": "OFFICE",
"workEnvironmentDesc": "Office Environment"
}
}

Get Person Details by Company

Retrieve person details for all employees within a specific company. | key: getPersonDetailsByCompany

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Filter Parameters

Additional filter parameters as key-value pairs.

status=active,type=full-time
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

{
"data": [
{
"additionalName1": "string",
"additionalName2": "string",
"addressId": "00000000-0000-0000-0000-000000000000",
"addressIsOnTaxBoundary": true,
"addressLatitude": 0,
"cobraExport": "string",
"cobraIsActive": true,
"cobraReason": "string",
"cobraStatus": "string",
"cobraStatusDate": "2026-01-14T18:10:21.710Z",
"communityBroadcastSmsCode": "string",
"consentElectronicW2": true,
"consentElectronicw2pr": true,
"dateDeceased": "2026-01-14T18:10:21.710Z",
"dateOfCobraEvent": "2026-01-14T18:10:21.710Z",
"dateOfCobraExport": "2026-01-14T18:10:21.710Z",
"dateOfCobraLetter": "2026-01-14T18:10:21.710Z",
"dateOfI9Expiration": "2026-01-14T18:10:21.710Z",
"datetimeChanged": "2026-01-14T18:10:21.710Z",
"datetimeCreated": "2026-01-14T18:10:21.710Z",
"disabilityType": "string",
"ethnicDescription": "string",
"formerName": "string",
"healthBloodType": "string",
"healthEyes": "string",
"healthHair": "string",
"healthHeightFeet": "string",
"healthHeightInches": "string",
"healthLastDonateDate": "2026-01-14T18:10:21.710Z",
"healthWeight": 0,
"i9AlienNumber": "string",
"i9DocA": "string",
"i9DocB": "string",
"i9DocC": "string",
"i9Verified": true,
"i9VisaType": "string",
"i9WorkAuth": "string",
"isDisabled": true,
"isMultiPayGroup": true,
"isSmoker": true,
"militaryService": true,
"militaryBranchServed": "string",
"militaryEra": "string",
"militaryIsDisabledVet": "string",
"militaryIsOthEligVet": "string",
"militaryIsOthEligVetBasis": "string",
"militaryIsActiveWartimeVet": "string",
"nameFormer": "string",
"previousSSN": "string",
"originCountry": "string",
"originLocation": "string",
"w2IsDeceased": true,
"cobraNotes": "string",
"addressSms": "string",
"militarySeparationDate": "2026-01-14T18:10:21.710Z",
"homePhoneIsPrivate": true,
"smsApprovals": true,
"smsPayNotification": true,
"i9VisaExpirationDate": "2026-01-14T18:10:21.710Z",
"militaryIsMedalVet": "string",
"lastNameNotSameAsSSCard": "string",
"chkCashingInstCode": "string",
"nationality1": "string",
"nationality2": "string",
"nationality3": "string",
"personId": "00000000-0000-0000-0000-000000000000",
"employeeId": "string",
"companyId": "string",
"userName": "string",
"firstName": "string",
"middleName": "string",
"lastName": "string",
"preferredName": "string",
"namePrefixCode": "string",
"nameSufixCode": "string",
"emailAddress": "string",
"emailAddressAlternate": "string",
"homePhone": "string",
"homePhoneCountry": "string",
"addressLine1": "string",
"addressLine2": "string",
"addressCity": "string",
"addressState": "string",
"addressZipCode": "string",
"addressCountry": "string",
"addressCounty": "string",
"nationalId": "string",
"nationalIdCountry": "string",
"dateOfBirth": "2026-01-14T18:10:21.710Z",
"gender": "string",
"ethnicIDCode": "string",
"maritalStatusCode": "string",
"ssn": "string",
"ssnIsSuppressed": true
}
]
}

Get Single Location

Retrieve detailed information for a specific work location. | key: getSingleLocation

InputNotesExample
Connection

Select your UKG Pro connection.

Location ID

The unique identifier for the location.

LOC-001

{
"data": {
"locationCode": "ALBUQ",
"description": "Albuquerque, NM",
"isActive": true,
"addressLine1": "618 Rio Grande Blvd NW",
"addressLine2": "",
"city": "Albuquerque",
"state": "NM",
"zipOrPostalCode": "87104",
"countryCode": "USA",
"locationGLSegment": "120"
}
}

Get Transaction Status

Fetch the transaction name and status for an import tool transaction. | key: getImportTransactionStatus

InputNotesExample
Connection

Select your UKG Pro connection.

{
"data": {
"stagingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"transactionName": "New Hire/Re-Hire",
"transactionType": "NEWHIRE",
"status": "Completed",
"statusCode": "COMPLETED",
"dateTimeCreated": "2024-02-15T14:30:00.000Z",
"dateTimeCompleted": "2024-02-15T14:35:00.000Z",
"fileName": "newhire-batch-2024-02-15.xml"
}
}

Import XML Data

Submit an encoded XML transaction to the UKG Pro Import Tool for processing employee data imports. | key: importXmlData

InputNotesExample
Connection

Select your UKG Pro connection.

Unique File Name

Optional unique file name for the import transaction. Must end with .xml extension.

newhire-batch-2024-01-15.xml
XML Transaction

The encoded XML transaction to submit to the Import Tool. See the Import Tool XML and Configuration Settings Guide for transaction format.

{
"data": {
"stagingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"dateTimeCreated": "2024-02-15T14:30:00.000Z",
"fileName": "newhire-batch-2024-02-15.xml",
"message": "XML transaction submitted successfully. Use stagingId to check status."
}
}

List Companies

Retrieve a list of all companies defined in the organization. | key: listCompanies

InputNotesExample
Company Code

Filter by company code.

COMP-001
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Is Master Company

When true, filters to only master companies.

false
Master Company ID

Filter by master company ID.

MCOMP-001
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

{
"data": [
{
"isMasterCompany": "Y",
"masterCompanyId": "MASTER001",
"companyID": "COMP-12345",
"companyCode": "ACME01",
"companyName": "ACME Corporation",
"addressLine1": "123 Business Park Drive",
"addressLine2": "Suite 400",
"addressCity": "San Francisco",
"addressState": "CA",
"addressZipCode": "94105",
"addressCountry": "USA",
"addressCounty": "San Francisco County",
"phoneNumber": "415-555-0100",
"phoneNumberExtension": "1001",
"federalTaxId": "12-3456789",
"orgLevel1Code": "CORP",
"orgLevel2Code": "USA",
"orgLevel3Code": "WEST",
"orgLevel4Code": "CAHQ"
}
]
}

List Jobs

Retrieve a list of job definitions in the organization. | key: listJobs

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Fetch All

When true, automatically fetches all pages of results using pagination.

false
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100

List Locations

Retrieve a list of work locations defined in the organization. | key: listLocations

InputNotesExample
Connection

Select your UKG Pro connection.

Country Code

Filter locations by country code (e.g., US, CA, GB).

US
Is Active

When true, filters to only active jobs.

false

{
"data": {
"locations": [
{
"locationCode": "ALBUQ",
"description": "Albuquerque, NM",
"isActive": true,
"addressLine1": "618 Rio Grande Blvd NW",
"addressLine2": "",
"city": "Albuquerque",
"state": "NM",
"zipOrPostalCode": "87104",
"countryCode": "USA",
"locationGLSegment": "120"
}
],
"totalCount": 3,
"pageNumber": 1,
"pageSize": 100
}
}

List Positions

Retrieve a list of positions defined in the organization. | key: listPositions

InputNotesExample
Company ID

The 5-digit company identifier in UKG Pro. See Company Access Code documentation for details.

12345
Connection

Select your UKG Pro connection.

Employee Type

Filter by employee type (Full-Time, Part-Time, Contractor, Temporary).

FT
Fetch All

When true, automatically fetches all pages of results using pagination.

false
Is Approved

When true, filters to only approved employee positions.

false
Is Eligible For Benefits

When true, filters to only employee positions eligible for benefits.

false
Is Prorated

When true, filters to only prorated employee positions.

false
Page

The page number to retrieve (1-indexed). Defaults to 1.

1
Pay Group Code

Filter by pay group code (e.g., WEEKLY, BIWEEKLY, MONTHLY).

WEEKLY
Per Page

Number of records to return per page. Defaults to API default (usually 100).

100
Position Code

Filter positions by position code.

ENG-SR
Project Code

Filter by project code.

PROJ-001
Shift Group Code

Filter by shift group code (e.g., DAY, NIGHT, SWING).

DAY
Status Code

Filter by employee status code (Active, Inactive, Terminated, Leave of Absence).

A

{
"data": [
{
"alternateTitle": "Senior Software Engineer",
"companyId": "COMP-12345",
"dateTimeChanged": "2024-01-15T14:30:00.000Z",
"dateTimeCreated": "2023-06-10T09:00:00.000Z",
"employeeType": "REG",
"effectiveStartDate": "2023-06-15T00:00:00.000Z",
"effectiveStopDate": "2025-06-15T00:00:00.000Z",
"fundID": "FUND-001",
"glSegment": "6000",
"isApproved": true,
"isEligibleForBenefits": true,
"isProrated": false,
"jobcode": "SW-ENG-001",
"locationCode": "SF-WEST",
"notes": "Key technical position for platform engineering team",
"organizationLevelCode1": "CORP",
"organizationLevelCode2": "ENG",
"organizationLevelCode3": "PLATFORM",
"organizationLevelCode4": "BACKEND",
"overstaffingAllowed": false,
"payGroupCode": "EXEMPT",
"positionCode": "POS-ENG-001",
"projectCode": "PROJ-001",
"shiftGroupCode": "DAY",
"statusCode": "ACTIVE",
"statusAsOfDate": "2023-06-15T00:00:00.000Z",
"userDefinedField01": "Custom data 1",
"userDefinedField02": "2024-01-01T00:00:00.000Z",
"userDefinedField03": 100,
"userDefinedField04": {
"isNull": false,
"Value": 85000
},
"integrationRecordId": "INT-POS-ENG-001"
}
]
}

Raw Request

Send raw HTTP request to UKG Pro API. | key: rawRequest

InputNotesExample
Connection

Select your UKG Pro connection.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (/personnel/v1/employee-changes). The base URL is already included from the connection. For example, to call the employee changes endpoint, enter /personnel/v1/employee-changes.

/personnel/v1/employee-changes
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

Changelog

2026-02-05

Initial release of UKG Pro component with comprehensive integration capabilities