UKG Pro WFM

Overview

The UKG Pro WFM connector enables your AI Colleagues to integrate with your organization's UKG Pro Workforce Management platform, facilitating automated time-off management, leave requests, and approval workflows.

UKG Pro Workforce Management (WFM) is a comprehensive workforce management solution that helps organizations manage employee scheduling, time and attendance, and leave management. The UKG Pro WFM connector allows Leena AI to automate leave workflows, manage time-off requests, and interact with the workforce management system seamlessly.

API Details

Leena AI integrates with UKG Pro WFM via REST APIs.

Documentation link: https://developer.ukg.com/home

Setup

The UKG Pro WFM connector supports two authentication methods:

  1. OAuth 2.0 with Password Credentials (Resource Owner Password Credentials Grant)
  2. OAuth 2.0 with Authorization Code (Authorization Code Grant)

Prerequisites

Before setting up the UKG Pro WFM connector, ensure you have:

  • Administrator access to UKG Pro Workforce Management
  • Access to UKG Developer Portal or your tenant's API credentials
  • Client ID and Client Secret from your UKG tenant provisioning
  • Base URL for your UKG Pro WFM instance
  • Access to your Leena AI workspace with connector management permissions

Get credentials

Here is how to obtain the required credentials for UKG Pro WFM:

  1. Access Client ID and Client Secret:

    • Client ID and Client Secret are provided in a password-protected Excel file
    • This file is accessible from your Salesforce account during tenant provisioning
    • Contact your UKG account representative if you don't have access
  2. Generate App Key (if required):

    • Log in to UKG Pro Workforce Management as an administrator
    • Navigate to Administration > Developer Console
    • Go to Application Setup > Common Setup > My Apps
    • Create a new application and note the App Key
    • Note: Developer Admin permissions are required
  3. Note your Base URL:

    • Your Base URL follows the format: https://<<hostName>>/api
    • This is specific to your UKG tenant

Add connection

Here is how to add a connection on Leena AI:

  1. Log in to your Leena AI workspace
  2. Navigate to Settings > Integrations
  3. Search for "UKG Pro WFM" and select it from the list to add its new connector
  4. Enter the Base URL for your UKG Pro WFM instance
  5. Select the Auth Type based on your requirements:

For OAuth 2.0 Password Credentials:

  • Client ID: Your OAuth application client ID
  • Client Secret: Your OAuth application client secret
  • Grant Type: Pre-filled as 'password'
  • Username: Service account username for API access
  • Password: Service account password

For OAuth 2.0 Authorization Code:

  • Auth Type: Select 'User OAuth'
  • ID Mapping Fields: Pre-filled with 'employeeId'
  • Client ID: Your OAuth application client ID
  • Client Secret: Your OAuth application client secret
  • Grant Type: Pre-filled as 'authorization_code'
  • Redirect URI: Auto-generated by Leena AI
  1. Click Connect to complete the OAuth flow
  2. For Authorization Code flow:
    • You'll be redirected to UKG authorization page
    • Sign in with your UKG credentials if prompted
    • Authorize the application
    • You'll be redirected back to Leena AI with a successful connection
  3. Copy the Callback URL from Leena AI and add it to your UKG tenant's allowed redirect URIs:
    • In UKG, navigate to System settings > Global Values
    • Add the Callback URL to global.oAuth.authCode.redirection.uris

Actions

The following actions are supported for the UKG Pro WFM connector:

Apply Leave

Initiates a new time-off request in UKG Pro WFM. The Agent can leverage the skill (workflow), which has been designed to create a new leave request, once the user raises a query to do so.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Employee IDThe unique identifier of the employee requesting time off
SubtypeThe type of leave request (dynamically populated from UKG)
PeriodsArray of time-off periods with start date, end date, and duration details

Periods Array Fields

NameDescription
Start DateThe start date of the time-off period (format: YYYY-MM-DD)
End DateThe end date of the time-off period (format: YYYY-MM-DD)
Symbolic AmountDuration type: HOURS or FULL_DAY
Start TimeStart time for hourly requests (format: HH:mm:ss) - Required when Symbolic Amount is HOURS
End TimeEnd time for hourly requests (format: HH:mm:ss) - Required when Symbolic Amount is HOURS
PaycodeThe paycode for the time-off (dynamically populated based on selected Subtype)

Here is a sample JSON input:

{
  "params": {
    "person_number": "EMP001"
  },
  "payload": {
    "requestSubType": {
      "id": "VACATION"
    },
    "periods": [
      {
        "startDate": "2025-08-27",
        "endDate": "2025-08-28",
        "symbolicAmount": {
          "qualifier": "FULL_DAY"
        },
        "payCode": {
          "id": "VAC_PAY"
        }
      }
    ]
  }
}

Response

Upon successful creation, the action returns:

  • Request ID
  • Request status
  • Confirmation of submitted periods

Get Leave Balance

Retrieves the time-off balance for an employee from UKG Pro WFM. This action can be leveraged by Leena AI Orchestrator/Agent to check available leave balance for a specific leave type.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
SubtypeThe type of leave to check balance for (dynamically populated from UKG)

Optional

NameDescription
DateThe date for which to retrieve the balance (defaults to current date, format: YYYY-MM-DD)

Here is a sample JSON input:

{
  "params": {
    "subtype_id": "VACATION",
    "date": "2025-08-27"
  }
}

Response

The action returns the leave balance details including:

  • Available balance
  • Accrued amount
  • Used amount
  • Balance as of the specified date

Get Leave History

Retrieves a list of time-off requests for an employee within a specified date range. This action can be leveraged to view past and upcoming leave requests.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Employee IDThe unique identifier of the employee
Start DateThe start date of the search range (format: YYYY-MM-DD)
End DateThe end date of the search range (format: YYYY-MM-DD)

Here is a sample JSON input:

{
  "params": {
    "person_number": "EMP001"
  },
  "payload": {
    "dateRange": {
      "startDate": "2025-01-01",
      "endDate": "2025-12-31"
    }
  }
}

Response

The action returns a list of time-off requests, each containing:

  • Request ID
  • Request status
  • Leave type
  • Start and end dates
  • Duration
  • Approval status

Update Leave Status

Updates the status of an existing time-off request. The Agent can leverage this action to cancel a pending leave request.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Time Off Request IDThe unique identifier of the time-off request to update
StatusThe new status for the request (e.g., Cancelled)

Here is a sample JSON input:

{
  "payload": {
    "id": "TOR123456",
    "toStatus": {
      "qualifier": "Cancelled"
    }
  }
}

Response

Upon successful update, the action returns:

  • Updated request status
  • Confirmation message
  • Timestamp of the update

Get Manager Approval Leave Requests

Retrieves pending time-off requests that require manager approval. This action is designed for managers to view all pending leave requests from their team members.


Input Parameters

Here are the input parameters required to set up this action:

Optional

NameDescription
Employee IDsComma-separated list of employee IDs to filter requests
Start DateFilter requests starting from this date (format: YYYY-MM-DD)
End DateFilter requests up to this date (format: YYYY-MM-DD)

Here is a sample JSON input:

{
  "params": {
    "include_overridden_shifts": true,
    "completion_state": "COMPLETE"
  },
  "payload": {
    "employeeIds": "EMP001,EMP002,EMP003",
    "dateRange": {
      "startDate": "2025-01-01",
      "endDate": "2025-12-31"
    }
  }
}

Response

The action returns a list of pending approval requests, each containing:

  • Request ID
  • Employee information
  • Leave type
  • Requested dates
  • Duration
  • Current status

Apply Leave As Manager

Allows a manager to submit a time-off request on behalf of an employee. This action includes additional validation controls and override options.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Employee IDThe unique identifier of the employee
Employee QualifierThe type of employee identifier being used
SubtypeThe type of leave request (dynamically populated from UKG)
PeriodsArray of time-off periods with start date, end date, and duration details

Optional

NameDescription
Override Accrual WarningsWhether to override accrual warning messages
Skip Accrual ValidationWhether to skip accrual balance validation

Periods Array Fields

NameDescription
Start DateThe start date of the time-off period (format: YYYY-MM-DD)
End DateThe end date of the time-off period (format: YYYY-MM-DD)
Symbolic AmountDuration type: HOURS or FULL_DAY
Start TimeStart time for hourly requests (format: HH:mm:ss)
End TimeEnd time for hourly requests (format: HH:mm:ss)
Paycode IDThe paycode identifier for the time-off
Paycode QualifierThe paycode qualifier type

Here is a sample JSON input:

{
  "payload": {
    "employee": {
      "id": "EMP001",
      "qualifier": "PERSON_NUMBER"
    },
    "requestSubType": {
      "id": "SICK_LEAVE"
    },
    "overrideAccrualWarnings": false,
    "skipAccrualValidation": false,
    "periods": [
      {
        "startDate": "2025-08-27",
        "endDate": "2025-08-27",
        "symbolicAmount": {
          "qualifier": "FULL_DAY"
        },
        "payCode": {
          "id": "SICK_PAY",
          "qualifier": "PAY_CODE_NAME"
        }
      }
    ]
  }
}

Response

Upon successful creation, the action returns:

  • Request ID
  • Request status
  • Employee notification status
  • Submitted period details

Update Leave Status As Manager

Allows a manager to update the status of an employee's time-off request. This action provides flexibility in setting various status values for approval workflows.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Time Off Request IDThe unique identifier of the time-off request to update
Status KeyThe status field to update
Status ValueThe new value for the status field

Here is a sample JSON input:

{
  "payload": {
    "id": "TOR123456",
    "statusKey": "qualifier",
    "statusValue": "Approved"
  }
}

Response

Upon successful update, the action returns:

  • Updated request details
  • New status confirmation
  • Timestamp of the action