

HR to ITSM
Unit4 HR Freshservice integration: employees per company as requesters and requests on joining and leaving
With an integration between Unit4 HR and Freshservice, every employee from Unit4 ERPx becomes a requester in Freshservice, with department, job and manager, and KoppelHet submits an onboarding request for a new employment and an offboarding request for an end date. KoppelHet reads Unit4 through the ObjectAPI on the last modified date and writes to the Freshservice API v2.
What the integration does
Organisations that run HR and finance in Unit4 ERPx and IT in Freshservice often enter a new employee twice: in Unit4 by HR and in the onboarding form by the manager. A change of department then does not reach Freshservice, and approvals go to the old manager.
- Every hour KoppelHet asks Unit4 for the employees that changed since the previous run.
- Records still in an approval workflow are skipped by KoppelHet until they are approved.
- A new main employment produces an onboarding request with start date, job and department.
- With the work email from Unit4, KoppelHet creates or updates the requester, with department and manager on their effective date.
- An end date produces an offboarding request; after that day the requester is deactivated.
What to watch for with Unit4 HR and Freshservice
- In Unit4 a personId is only unique within one company. KoppelHet stores company and personId together in a custom field on the requester, so employees of different companies in one Freshservice account do not clash.
- Department, cost centre and manager are attached to an employee in Unit4 as relations, each with a start and end date. KoppelHet only applies a relation that starts later on that date in Freshservice.
- An employee can have more than one employment in Unit4. Only the employment marked as main position determines the job in Freshservice; a second position does not produce a second requester.
- Changes in Unit4 can wait for approval in a workflow. KoppelHet only takes over an employee once the workflow is done, so Freshservice starts no onboarding for an appointment that is still rejected.
- Besides the official first name, Unit4 has an alias name. Freshservice gets the alias as first name, so the service desk finds someone under the name colleagues use.
- The manager from Unit4 becomes the requester's reporting manager in Freshservice. Approvals for a service catalog item therefore go to the manager HR recorded in Unit4, also after a transfer.
- The Unit4 Identity Services token is valid for an hour. KoppelHet requests a new token per run with client credentials, so no user password is stored in the integration.
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
Does this also work with Unit4 on-premise (Agresso)?
This page assumes Unit4 ERPx in the cloud. For an on-premise version we look at which API is available during the intake.
Does financial or salary data go to Freshservice?
No. The integration only takes name, work email, job, department, manager, company and the employment dates.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Unit4 ERPx through the ObjectAPI (GET /v1/objects/employees) with OAuth 2.0 client credentials through Unit4 Identity Services (scope u4erp, token 3600 seconds), incremental on lastUpdated. Fields include companyId, personId, nameInformation (firstName, surname, aliasName), contactPoints, workflowState, employments (isMainPosition, employmentStartDate, employmentEndDate) and relatedValues with dateFrom and dateTo.
- Freshservice through the API v2: requesters (primary_email or a phone number required; department_ids, location_id, reporting_manager_id, custom_fields; deactivate), POST /api/v2/onboarding_requests and /api/v2/offboarding_requests with form fields such as cf_date_of_joining. Per-minute limits depending on the plan.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Unit4 HR | Field in Freshservice | Notes |
|---|---|---|
companyId + personId | Eigen aanvragersveld (custom_fields) | personId is unique per company |
nameInformation.firstName / aliasName, surname | first_name, last_name | |
Werkmail uit contactPoints | primary_email | |
Functie van het hoofddienstverband (isMainPosition) | job_title | |
relatedValues: afdeling | department_ids | On dateFrom |
relatedValues: leidinggevende | reporting_manager_id | |
companyId | location_id of eigen veld | |
employmentStartDate | Onboardingveld cf_date_of_joining | |
employmentEndDate | Offboardingverzoek, daarna deactiveren |
Related
Greenhouse → Unit4 HR
Greenhouse to Unit4 HR integration: accepted offer as an employee in the right Unit4 company
Recruitee → Unit4 HR
Recruitee to Unit4 HR integration: hired candidate as employee in Unit4, validated before it is saved
SmartRecruiters → Unit4 HR
SmartRecruiters to Unit4 HR integration: hire on the position from SmartRecruiters, with onboarding status back
Teamtailor → Unit4 HR
Teamtailor to Unit4 HR integration: hired candidates as employees in Unit4 ERPx, with company and position