AlexisHR logoMicrosoft Entra ID logo

Identity and access management

AlexisHR to Entra ID integration: users with employee number and groups, blocked on leaving

With an integration between AlexisHR, now Simployer One, and Microsoft Entra ID, every employee is a user in Entra ID, with employee number, job title, department, manager and the groups of their department. On the leaving date KoppelHet blocks sign-in and removes the department groups.

What the integration does

Organisations that use AlexisHR and manage their accounts in Microsoft Entra ID want a new colleague to have an account on day one and leavers not to keep signing in. An account that only gets a leaving date and otherwise stays enabled leaves access open.

  1. In AlexisHR we point webhooks at KoppelHet's address, with a secret key for signing.
  2. On a notification KoppelHet fetches the employee and updates the user in Entra ID, with employee number and groups.
  3. On an offboarding whose end date has been reached, KoppelHet blocks sign-in and removes the groups that belonged to the department.
  4. Every night KoppelHet compares all employees with Entra ID and reports who did not get an account, for example because of a missing work email.
AlexisHR → KoppelHet → Microsoft Entra IDSOURCEAlexisHRTARGETMicrosoft Entra IDKoppelHetmapping · logging · monitoringAlexisHR → KoppelHet → Microsoft Entra IDSOURCEAlexisHRTARGETMicrosoft Entra IDKoppelHetmapping · logging · monitoring
Out: User with name, work email, job title and department · Employee number and organisation · Manager · Hire date and leaving date · Sign-in blocked after leaving

What to watch for with AlexisHR and Microsoft Entra ID

  • Without a work email, first name or last name, or with a work email on a domain that is not in the Entra tenant, no user arrives in Entra ID. KoppelHet compares every night and reports those employees to HR.
  • A filled-in employeeLeaveDateTime does not disable an account in Entra ID. KoppelHet blocks sign-in itself, on the employee.offboarded notification AlexisHR sends when the end date is reached, without needing a Lifecycle Workflow in Entra ID Governance for it.
  • KoppelHet puts employeeNumber from AlexisHR into employeeId, so other systems can find the account by employee number, even after a name change.
  • A mail nickname of first name dot last name collides for two colleagues with the same name. KoppelHet checks beforehand whether the alias is free and reports a duplicate name before the first working day.
  • AlexisHR sends signed webhooks for creating, updating, onboarding, offboarding and deleting an employee, with a fixed eventId per change. KoppelHet checks the signature and uses that eventId to process a repeated notification only once.
  • KoppelHet keeps a log per employee, so IT can still see later when an account was created or blocked.
  • One AlexisHR account can hold several companies. KoppelHet puts the company in companyName and creates the groups per company, so a subsidiary with its own domain still follows the same department rules.

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

Is AlexisHR the same as Simployer One?

Yes. The API still runs on the AlexisHR domain; the documentation and support are at Simployer.

What if someone already had an account before the integration was switched on?

KoppelHet checks beforehand whether every existing account matches an employee and reports the differences.

Technical details for IT

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

  • AlexisHR through the HRM One API (api.alexishr.com/v1, bearer token with owner rights): GET /employee with select and relations (employeeNumber, workEmail, title, managerEmployeeId, departmentId, companyId, organization, hireDate, endDate, offboardDate, active) and filters[updated][$gte] for the nightly comparison. Webhooks employee.created, employee.updated, employee.onboarded, employee.offboarded and employee.deleted, signed with X-Simployer-Signature (HMAC-SHA256 over body and X-Simployer-Timestamp).
  • Entra ID through Microsoft Graph with application permissions: employeeId (at most 16 characters), companyName (at most 64), accountEnabled, manager through $ref and group memberships. Writing employeeLeaveDateTime requires User.Read.All and User-LifeCycleInfo.ReadWrite.All.

Which fields are transferred

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

Field in AlexisHRField in Microsoft Entra IDNotes
employeeNumberemployeeIdAt most 16 characters in Entra ID
workEmailmail en userPrincipalNameDomain must be in the tenant
firstName, lastNamegivenName, surname, displayName
titlejobTitle
departmentId (naam via /department)department en groepen
managerEmployeeIdmanagerThrough the manager's account
organization / companyIdcompanyName
hireDateemployeeHireDate
offboardDateemployeeLeaveDateTime en accountEnabled = false

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.