
HR to ITSM
UKG Pro to Freshservice integration: requesters and onboarding and offboarding requests from UKG Pro
With an integration between UKG Pro and Freshservice, every employee from UKG Pro becomes a requester in Freshservice, with department, location, manager and language, and a hire or departure in UKG Pro sets up an onboarding or offboarding request. Freshworks has its own UKG connector with recipes for these steps; KoppelHet comes in when the service account in UKG Pro should see as little as possible, when several companies share one UKG environment, or when you do not want a price per task.
What the integration does
Organisations with UKG Pro as HR system and Freshservice as service desk often put requesters into Freshservice by hand or through a directory sync, without a manager. Onboarding starts with a form the manager fills in themselves, and a termination reaches IT through an email from HR.
- KoppelHet asks UKG Pro for the employees changed since the previous run.
- Each record is compared with the previous state; only real changes in name, job, organisation, location, manager or dates go through.
- The manager becomes a requester first, then the employee, with language and location from UKG Pro.
- A new hireDate or dateOfLastHire produces an onboarding request on behalf of the manager.
- A terminationDate produces an offboarding request; after that date the requester is deactivated.
What to watch for with UKG Pro and Freshservice
- Freshworks' UKG connector has recipes for updating requesters, onboarding and offboarding, and asks for username, password, API URL and Customer API Key. The UKG account must be able to read the services for all employees, employment details and person details. Freshworks bills on executed tasks.
- The connector's field list also includes home phone and home address. KoppelHet only reads the UKG Pro changes service with the View role on EmployeeExport and leaves private data out before anything goes to Freshservice.
- UKG Pro gives changes at most every three hours and then delivers the whole record. KoppelHet compares with the previous run and only updates requesters that really differ, so Freshservice's per-minute call limit stays ample for agents.
- Departments in Freshservice are a flat list, while UKG Pro has four organisation levels. At the start we choose which level becomes the Freshservice department; the other levels go to custom requester fields for reporting.
- On a rehire UKG Pro sets a new dateOfLastHire next to the original hireDate. KoppelHet then reactivates the existing Freshservice requester instead of creating a new one, so earlier tickets and assets stay with the same person.
- UKG Pro gives a language code per employee, and a Freshservice requester defaults to English. KoppelHet sets the requester's language to that code, so colleagues in Quebec or Germany see the portal in their own language, as far as it is enabled in Freshservice.
- Every employee belongs to a company in UKG Pro. If several companies share one UKG environment but not one service desk, KoppelHet only includes the companies belonging to this Freshservice environment; managers from outside become requesters without requests of their own.
This integration is also part of joiner, mover, leaver.
How we build and run it
- The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
- Every sync and every error is visible in the functional log; on an error your administrator is notified.
- A change that cannot go through is not half-applied but queued for another attempt.
- KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
- After go-live we manage the integration and adjust it when your process changes.
- The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.
Implementation and price
This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.
A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.
Frequently asked questions
Why not more often than every three hours?
UKG Pro does not allow the changes service more often. Hires are usually recorded weeks ahead, so for onboarding it does not matter.
Does pay data go to Freshservice?
No. The UKG response also contains pay fields, but KoppelHet leaves them out.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- UKG Pro through GET /personnel/v1/employee-changes (startDate, endDate, page, per_page; at least three hours between calls) with the US-CUSTOMER-API-KEY header and basic authentication of a service account with the View role on EmployeeExport. Fields include employeeId, companyId, orgLevel1Code to orgLevel4Code, workLocation, supervisorId, emailAddress, languageCode, hireDate, dateOfLastHire and terminationDate.
- Freshservice through the API v2. Requesters with department_ids, location_id, reporting_manager_id, language and custom_fields; deactivate with DELETE /api/v2/requesters/{id}, reactivate with PUT /api/v2/requesters/{id}/reactivate. POST /api/v2/onboarding_requests and /api/v2/offboarding_requests with initiator_id, which only an administrator may use. Limits per minute per plan, for example 400 overall on Pro.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in UKG Pro | Field in Freshservice | Notes |
|---|---|---|
employeeId | Eigen aanvragersveld | Fixed key |
firstName, lastName | first_name, last_name | |
emailAddress | primary_email | |
jobCode / alternateJobTitle | job_title | |
orgLevel-code (afgesproken niveau) | department_ids | |
workLocation | location_id | |
supervisorId | reporting_manager_id | |
languageCode | language | |
companyId | Filter of eigen veld |
Related
Recruitee → UKG Pro
Recruitee to UKG Pro integration: European hires through the Global New Hire service in UKG Pro
Teamtailor → UKG Pro
Teamtailor to UKG Pro integration: European hires as global new hires
UKG Pro → Active Directory
UKG Pro to Active Directory integration: domain accounts for the Dutch branch
UKG Pro → ADP iHCM
UKG Pro to ADP iHCM integration: salary and terminations of the Dutch pay group to ADP