UKG Pro Component
Manage employees, payroll, and talent onboarding in UKG Pro.
Component key: ukg-pro
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: ukgProBasicAuthUKG 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:
- Web Service Account credentials from the UKG Pro administrator
- Customer API Key from the UKG Pro account
- 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:
- Log into the UKG Pro administration portal
- Navigate to System Configuration > Web Services
- Select Create Web Service Account or locate an existing account
- 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)
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
lastPollTimein 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 pollendDate: 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
| Input | Notes | Example |
|---|---|---|
| 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:
- Navigate to the webhook management interface in UKG Pro
- Create a new webhook subscription
- Set the webhook URL to the flow webhook URL
- Select the employee lifecycle event types to monitor
- Configure a shared secret for signature verification (recommended)
- 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
| Input | Notes | Example |
|---|---|---|
| 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:
- NewHireAdded - A new hire that wasn't in the previous state map
- StatusChange - The status field changed (e.g., "In Progress" → "Completed")
- 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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 |
| 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