Personio logoOmada logo

Identity and access management

Personio to Omada integration: employees from Personio as identities in Omada Identity

With an integration between Personio and Omada Identity, Omada reads every employee from Personio as an identity, with legal entity, department, team, job title, manager and a status that follows from the employment. KoppelHet prepares the Personio data as one row per employee that Omada's REST collector reads, so Omada assigns roles and revokes access.

What the integration does

Organisations that use Omada for access governance and Personio for HR often lack a source Omada can read directly. An export from Personio that someone loads into Omada by hand lags behind, and roles that depend on department or team then change too late.

  1. Personio gets an API client with read-only rights on persons, employments and org units.
  2. KoppelHet processes notifications from Personio and keeps one current row per employee, with the status according to your agreements.
  3. In Omada the administrator creates a system with the REST collector for identity data, with OAuth2 Client Credentials to KoppelHet.
  4. Omada reads identities and contexts, and links each identity to its entity, department and team.
  5. At go-live we set a threshold on deleted identities, so an error in the source does not make everyone disappear at once.
Personio → KoppelHet → OmadaSOURCEPersonioTARGETOmadaKoppelHetmapping · logging · monitoringPersonio → KoppelHet → OmadaSOURCEPersonioTARGETOmadaKoppelHetmapping · logging · monitoring
Out: Identity with business key and status · Legal entity, department and team as context · Job title and manager · Start date, last working day and end date · Internal or external

What to watch for with Personio and Omada

  • KoppelHet provides an endpoint that Omada's REST collector reads directly, without an intermediate file.
  • In Personio a person has one or more employments, newest first. Omada's REST collector only uses the first element of a list in nested data. KoppelHet therefore selects the applicable employment in advance and delivers one flat row per person.
  • Besides identities Omada also has contexts, with their own business key and type, and links identities to them. KoppelHet supplies the legal entities, departments and teams from Personio as contexts, so policy in Omada can differ per entity or team.
  • Personio sets employees on leave to LEAVE and new colleagues to ONBOARDING. Omada has the states active, inactive and terminated for an identity. KoppelHet translates LEAVE to active by default, ONBOARDING to inactive until the start date, and INACTIVE to terminated.
  • Omada warns that a status from the HR source can overwrite status changes made in Omada itself. Together with you we decide which side leads, so a block that security sets in Omada is not lifted by the next Personio import.
  • The manager is stored in Personio as a reference to another person. Omada needs the business key of that manager's identity for approvals and reviews. Because KoppelHet uses the Personio ID as the business key, the reference points straight to the right identity.
  • Personio has a last working day and a contract end date, which can be weeks apart. KoppelHet supplies both to Omada, so you can choose in Omada whether access ends on the last working day or on the end date.

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

Why not a CSV export from Personio?

Someone has to create and drop it, and it is out of date as soon as it is made. The REST collector reads the current state at every import.

Can Omada then create accounts in Entra ID or Active Directory itself?

Yes, with Omada's connectors. KoppelHet only supplies the HR source.

Does salary data go to Omada?

No. The API client in Personio cannot read compensations.

Technical details for IT

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

  • Personio through webhooks and the Personio API v2 (/v2/persons, /v2/persons/{id}/employments with status, type, org_units with type department or team, legal_entity, supervisor, position.title, employment_start_date and termination; filter updated_at.gt, limit at most 50, cursor). Read scopes only; no compensations.
  • Omada reads through the REST collector (Content: Identity data) with OAuth2 Client Credentials: identities with Business key, Unique ID, Name and Status, contexts with business key, Name and Type, and context assignments per identity. Paging through the Link header (rel=next); Thresholds for new, modified and deleted objects in percent (default 0, off); Error message JSON path for error messages from KoppelHet.

Which fields are transferred

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

Field in PersonioField in OmadaNotes
person.idBusiness key en Unique ID
preferred_name of first_name + last_nameName
status en last_working_dayStatus
legal_entityContext (juridische entiteit)
org_units (type department)Context (afdeling)
org_units (type team)Context (team)
position.titleFunctie
supervisor.idManager (business key)
type (INTERNAL of EXTERNAL)Soort identiteit
employment_start_date en termination_dateBegin- en einddatum

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.