Microsoft Entra ID logoZenya logo

Accounts in applications

Microsoft Entra ID to Zenya integration: users, positions and organisation units in Zenya from Entra ID

With an integration between Microsoft Entra ID and Zenya, every employee IT creates in Entra ID automatically gets a Zenya user, in the right user groups, and that user is set to inactive as soon as the account is disabled in Entra ID. KoppelHet sets up SCIM from Entra ID for this and also fills position, organisation units and manager in Zenya through the Zenya API.

What the integration does

Care and education organisations that manage accounts in Entra ID and keep protocols and reports in Zenya often only set up sign-in through SSO. Who must read which documents and who handles a team's reports is then maintained by hand in Zenya by application management, and that lags behind every reorganisation.

  1. Application management creates a provider with a permanent token under external user management in Zenya, and IT switches on provisioning to Zenya in Entra ID.
  2. Entra ID creates the users and groups assigned to Zenya through SCIM.
  3. KoppelHet reads department, job title and manager from Entra ID and looks up the matching position and organisation units in Zenya.
  4. KoppelHet updates the Zenya user with position, organisation units and manager.
  5. When IT disables the account, SCIM sets the user to inactive in Zenya; documents and reports in their name remain.
Microsoft Entra ID → KoppelHet → ZenyaSOURCEMicrosoft Entra IDTARGETZenyaKoppelHetmapping · logging · monitoringMicrosoft Entra ID → KoppelHet → ZenyaSOURCEMicrosoft Entra IDTARGETZenyaKoppelHetmapping · logging · monitoring
Out: Zenya user with login code, name and email · User groups and members · Position and organisation units · Manager · Active or inactive

What to watch for with Microsoft Entra ID and Zenya

  • Besides a text field for department, Zenya has organisation units with their own number, and Zenya reports incidents and risks on those. SCIM only fills the department text. KoppelHet translates the department from Entra ID into the Zenya organisation units, so a report reaches the right team.
  • A position in Zenya is an object with its own ID, just like an organisation unit. A new job title from Entra ID therefore does not exist there yet. KoppelHet does not create positions on its own but lists them for application management, because read confirmations are often set up per position.
  • Zenya has personal accounts and group accounts, for example for a ward computer. Entra ID only delivers people through SCIM. KoppelHet leaves group accounts in Zenya alone and excludes them from the daily check on users without an Entra account.
  • Assignment to Zenya in Entra ID determines who gets a user. Anyone not assigned does not exist in Zenya. Organisations that want everyone in Zenya assign a dynamic group or use a scoping filter; IT sets that up in Entra ID, not in Zenya.
  • The SCIM provider in Zenya uses a permanent token that is only visible once, with an optional IP address restriction. KoppelHet uses its own API key in Zenya for its addition, so a replaced SCIM token does not stop the addition and vice versa.
  • SCIM fills the external_id in Zenya with the ID from Entra ID. KoppelHet looks up the Zenya user by that external_id and not by name or login, so a name change in Entra ID does not make the enrichment fail.
  • Entra ID gives the manager as its own Entra object, Zenya wants the ID of a Zenya user in manager_id. KoppelHet first looks up the manager in Zenya by their external_id; if that user does not exist there yet, the manager follows in the next run.

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

What happens to documents of someone who leaves?

The user becomes inactive, not deleted. Documents, reports and tasks in their name stay in Zenya and application management transfers them.

Does this work without SSO?

Yes, but Microsoft recommends SSO. With SSO the employee signs in with their Entra account and Zenya needs no password of its own.

Technical details for IT

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

  • SCIM 2.0 from Entra ID (Tenant URL with /scim/, Secret Token is the permanent token from Zenya > Application management > External user management). User attributes active, displayName, emails[type eq "work"], preferredLanguage, userName, phoneNumbers[type eq "work"], externalId, title and the enterprise extensions department and manager; groups with displayName, members and externalID.
  • Addition through the Zenya REST API v5 (token through POST /tokens with api_key and username). GET /users filtered on external_ids, PATCH /users/{user_id} with position_id, organization_unit_ids and manager_id; GET /positions and GET /organization_units for the IDs. account_type has personal and group. Entra ID is read through Microsoft Graph with a delta query (department, jobTitle, manager, accountEnabled), with read-only rights.

Which fields are transferred

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

Field in Microsoft Entra IDField in ZenyaNotes
userPrincipalNameuserName / login_code
displayNamedisplayName / name
mailemails[type eq "work"] / email_address
objectId of employeeIdexternalId / external_id
accountEnabledactive
jobTitletitle en position_idposition_id through KoppelHet; the position must exist in Zenya
departmentdepartment en organization_unit_idsorganization_unit_ids through a KoppelHet lookup table
managermanager_idThrough KoppelHet, looked up by external_id
Groepen toegewezen aan de appuser_groups met members

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.