Personio logoSysAid logo

HR to ITSM

Personio to SysAid integration: end users per entity and service records for onboarding and offboarding

With an integration between Personio and SysAid, every employee from Personio becomes an end user in SysAid, under the company of their legal entity and with office, department and supervisor, and KoppelHet creates a service record for every new or terminated employment. The last working day from Personio becomes the due date of the offboarding record.

What the integration does

Organisations that use Personio for HR and SysAid for IT, with staff in more than one country, often add new colleagues to SysAid by hand. The entity, the language and the supervisor are then missing, and offboarding depends on a notification HR has to remember.

  1. Personio reports a change; KoppelHet reads the person and the most recent employment.
  2. If the legal entity does not yet exist as a company in SysAid, KoppelHet creates it.
  3. The end user is created or updated, with the supervisor as manager.
  4. Within the onboarding lead time a service record follows from the onboarding template.
  5. A termination produces an offboarding record; after the end date the end user is disabled.
Personio → KoppelHet → SysAidSOURCEPersonioTARGETSysAidKoppelHetmapping · logging · monitoringPersonio → KoppelHet → SysAidSOURCEPersonioTARGETSysAidKoppelHetmapping · logging · monitoring
Out: Company per legal entity · End user with department, location, manager and language · Onboarding service record · Offboarding service record with the last working day

What to watch for with Personio and SysAid

  • SysAid has an API for companies, and Personio returns the legal entity with each employment. KoppelHet creates a company per entity, so IT can filter and report per country or employer in SysAid.
  • Without a language SysAid sets an end user to English. Personio has a field for the employee's main language; KoppelHet passes it on, so the self-service portal opens in their own language for a colleague in Germany or the Netherlands.
  • The supervisor is a person in Personio, and SysAid records the manager by its own ID. KoppelHet first looks up the supervisor as an end user and creates them if needed, so approvals in SysAid reach the right person.
  • Personio distinguishes an end date and a last working day. The offboarding record gets the last working day as due date; the end user is only disabled after the end date, so the colleague can still log a request until then.
  • Personio does not send a webhook for every change to a standard attribute. The nightly comparison reads the end users in SysAid in pages of at most five hundred and stays below the limit of a thousand calls per five minutes.
  • External staff are type EXTERNAL in Personio. Because every end user counts towards the SysAid quota, KoppelHet agrees in advance whether external staff get an end user or are only named in their supervisor's service record.
  • SysAid has no field for an employee number. KoppelHet keeps the link between Personio ID and SysAid user itself and uses the work email as user name, so a colleague who returns after leaving gets their old end user back.

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, architecture and compliance

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.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Does SysAid have a Personio integration?

We found none. SysAid does have a HiBob connection for AI agents, but not for Personio. KoppelHet uses the APIs of both sides.

Can departments from Personio appear in SysAid automatically?

No, the SysAid API cannot create departments. IT adds new departments in SysAid; the integration reports when one is missing.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Personio through webhooks (Person.created, Person.updated, Employment.created, Employment.updated) and the Personio API v2 (persons and GET /v2/persons/{id}/employments with legal_entity, org_units, office, supervisor, type, status and termination.last_working_day), with read access only.
  • SysAid through https://{account}.sysaidit.com/connect/v1 with an access token. GET and POST /companies; GET /end-users (limit up to 500), POST /end-users with userName, firstName, lastName, userEmail, companyId, departmentId, locationId, managerId and language; PATCH /end-users/{id} with version and isDisabled. Service records through POST /service-records with type request, requestUser, dueDate and templateId; on 429 wait until X-RateLimit-Reset.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in PersonioField in SysAidNotes
emailuserName en userEmail
first_name en last_namefirstName en lastName
legal_entitycompanyId
officelocationIdThrough a lookup table
org_unitsdepartmentIdTo existing departments
supervisormanagerId
Main language of the employeelanguage
termination.last_working_daydueDate van het offboardingrecord

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.