Skip to content
Components

UKG HR

Extract requests, employees, employee documents, organizations and users from UKG HR Service Delivery into Storage, with incremental loading.

UKG HR Service Delivery (HRSD) is UKG’s HR case management and employee document platform. The UKG HR data source connector reads its API v2 and writes HR resources to Storage.

One configuration row extracts one resource:

  • requests: People Assist requests and cases. Incremental by updated_at, created_at or closed_at.
  • employees: the employee directory. Incremental by created_at.
  • employee_documents: employee document metadata. Incremental by created_at. The document files themselves are not downloaded.
  • organizations: the company structure. Full load only, because the API has no date filter.
  • users: user profiles. Full load only.

The connector authenticates with the OAuth2 client-credentials flow and obtains and refreshes access tokens itself. From your UKG HR tenant you need:

  • the application ID and application secret,
  • the client ID,
  • the deployment region: EU, US, ATL (UltiPro) or TOR (UltiPro Canada).

The credentials are stored encrypted. No Keboola OAuth broker or partner registration is needed.

Create a new configuration of the UKG HR data source connector.

FieldDescription
Application IDApplication identifier from the UKG HR service.
Application secretApplication secret from the UKG HR service.
Client IDClient identifier for the OAuth2 token requests.
RegionDeployment region of the tenant: eu, us, atl or tor.

Click Test connection, then save.

Screenshot - UKG HR connection settings

Click Add Row and configure one row per resource:

FieldDescription
Resourcerequests, employees, employee_documents, organizations or users. The filter fields change with the resource.
Load typeIncremental load (default) extracts the records changed since the last run and upserts them by primary key. Full load replaces the table. Organizations and users are full load only.

Incremental options for requests, employees and employee documents:

FieldDescription
Date fieldRequests only: updated_at (default), created_at or closed_at. Employees and employee documents always filter by created_at.
Start dateLower bound of the first incremental run: an ISO 8601 datetime such as 2026-01-01T00:00:00+00:00, or a relative phrase such as yesterday or 3 days ago.
Overlap margin (seconds)Seconds subtracted from the last watermark, so a small window is read again and late-arriving records are caught. The primary key makes the overlap idempotent.

Screenshot - UKG HR row for the requests resource

Filters by resource:

  • Requests: status, priority, organization IDs, embed related objects (creator, employee, closed by), full-text query.
  • Employees: organization IDs, terminated (true for terminated only, false for active only, empty for all), synchronization date.
  • Employee documents: document type ID, organization IDs, expired, trashed.
  • Organizations: parent organization ID, recursive, full-text query.
  • Users: active users only, role ID, organization ID, email.

Each row produces one table with id as the primary key. Nested objects are flattened into underscore-separated columns; lists and arrays of objects are stored as JSON strings. Datetime fields are typed as TIMESTAMP.

The API has no field-selection parameter, so each resource always returns its full object shape. Organizations and users have no date filter, so those two resources are always a full load.

Ask Kai

Hi, I'm Kai — Keboola's AI assistant for the docs. Ask me anything and I'll answer from the documentation and cite the pages I use.

Kai is an AI and can make mistakes. Check the sources it links.