Connect rexx systems to Microsoft Entra ID

Connect rexx systems to Microsoft Entra ID

Connect rexx systems to Microsoft Entra ID

When someone joins, moves or leaves in rexx systems, you want that change reflected in Microsoft Entra ID without anyone touching it by hand. To connect rexx systems to Microsoft Entra ID, Joinly reads each HR change in rexx at the source — through the rexx API — and applies it automatically to the right account. rexx stays your source of truth; Joinly is the engine that keeps every action accurate and traceable.

Key takeaways

  • rexx HR stays your source of truth; Joinly applies every joiner, mover and leaver to Entra ID automatically.

  • Joinly maps rexx org structures — Abteilung, Standort, Kostenstelle and Position from the Stellenplan — to the right Entra ID groups and licences, which a plain CSV or API import can’t do on its own.

  • The rexx API export is primarily a bulk, one-directional import with no native joiner/mover/leaver events; Joinly adds the change detection so each HR change turns into exactly one account action.

  • Joinly builds a unique, predictable UPN from your own rules — including a controlled tiebreaker for duplicate names — so sign-in works from day one.

  • Every action is logged for a complete audit trail, aligned with NIS2 and ISO 27001, and hosted in an EU data centre.

rexx systems

Joiner

Mover

Leaver

Microsoft Entra ID (formerly Azure AD)

Quick facts

Source system

rexx systems (rexx HR / Personalmanagement)

Target system

Microsoft Entra ID (formerly Azure AD)

Connection method

rexx API → Entra ID

Supported events

Joiner, mover, leaver (change detection added by Joinly)

Synced attributes

Name, email / UPN, department (Abteilung), job title, manager, cost centre (Kostenstelle), location (Standort), start and end date

Authentication

rexx API credentials / key over HTTPS

Real-time or batch

Frequent sync, multiple times per day

Compliance

ISO 27001, NIS2-ready, GDPR (EU data centre)

How does Joinly sync rexx systems to Microsoft Entra ID?

Joinly reads each HR change in rexx through the rexx API and applies it to the matching Entra ID account automatically. rexx HR holds the authoritative personnel record, so it is the starting point for each identity action — and because the rexx export is bulk-oriented, Joinly compares each import against its last known state to work out exactly what changed.

  1. Joiner. HR completes the hire in rexx. Joinly reads the new employee record and determines the role from attributes like Abteilung, Position and Kostenstelle. It then creates the account in Entra ID, assigns the right licences and maps the person into the correct groups — timed to the recorded start date (Eintrittsdatum).

  2. Mover. When someone changes position, department or location (Standort) in rexx, Joinly updates their group membership, permissions and licences to match. Access that no longer fits the new position is revoked, so permissions stay aligned with the actual job.

  3. Leaver. On the exit date (Austrittsdatum) recorded in rexx, Joinly disables the Entra ID account automatically. There are no orphaned accounts left active after someone has left, and a soft-delete grace window keeps the account recoverable for a set period.

Example: A German engineering firm hires a design engineer in rexx with a start date next Monday, in its Stuttgart Standort. Joinly reads the record, waits until the start date, creates the Entra ID account, assigns a Microsoft 365 E3 licence and adds the engineer to the DE-Engineering group. When that engineer later moves from the design department to project management, Joinly swaps the groups the same day and leaves nothing from the old role attached.

What manual user management costs

Without automation, every account starts as a rexx ticket or a line in a spreadsheet that IT works through by hand. A plain rexx CSV export or a generic API import can move attributes across, but it delivers a full list rather than the specific changes, maps nothing to groups, and has no concept of a joiner, mover or leaver — so the part that actually decides access still falls to people.

  • Onboarding delays. New joiners wait for accounts, licences and group access while a ticket sits in a queue, losing productive days in their first week.

  • Permissions that don’t keep up (privilege creep). When movers change position or location, old access often stays attached, so people accumulate rights they no longer need.

  • Forgotten offboarding. Accounts that aren’t disabled on time are both a security and audit risk, and unused licences keep costing money — easy to miss when the source only delivers a full export rather than a clear leaver signal.

Joinly vs. a native rexx import to Entra ID

Entra Cloud Sync with a CSV or API feed (or a generic IAM connector on the rexx export) is a fine baseline, but it stops short of the part that actually decides access. Here’s how the two compare for a rexx-driven setup.


Joinly

Entra Cloud Sync / CSV / generic connector

Source

Reads the rexx API and diffs each import

Reads a full CSV / API export as-is

Role-to-group mapping

Built in, rule-based on Abteilung / Standort / Position

Manual mappings; no role-to-group out of the box

Joiner / mover / leaver events

Change detection layered on the bulk export

No native event model; full re-import only

Future-dated hires

Times account creation to the start date

Needs custom date-window configuration

Licence assignment

Driven by role / attributes

Manual or group-based only

On-premise AD

Yes, own agent plus the native Microsoft agent

Provisioning agent required, limited mapping

Audit trail

Per-action logging tied to the HR source

Limited

Watch-outs when connecting rexx systems to Microsoft Entra ID

A few rexx-specific details decide whether this connection stays reliable at scale.

  • Bulk export, not delta updates. The rexx API export is primarily one-directional and returns the full population rather than only what changed, with no native joiner/mover/leaver event. Joinly compares each import against its last known state and turns the difference into precise account actions, so one HR change becomes exactly one Entra change.

  • Mapping rexx org structures to Entra groups. Abteilung, Standort, Kostenstelle and Position from the Stellenplan don’t translate one-to-one to Entra ID groups. Joinly builds explicit mapping rules from those structures to the correct groups and licences, so role drives access rather than manual assignment.

  • UPN format with duplicate names. When two employees share a name, a naive UPN rule produces collisions. Joinly applies custom transformation rules — a suffix, a Standort code or a controlled tiebreaker — so every UPN is unique and predictable from day one.

  • Module and tenant variations. rexx is modular and hosted in different ways, so the exact fields exposed differ per tenant and module mix. Joinly maps the fields you actually have via Liquid templates, so a local personnel number or a custom attribute still lands in the right place.

Joinly handles each of these by default with custom mapping and transformation.

Always audit-ready

Every account action Joinly performs is logged: who was affected, when it happened, which access changed and which rexx change triggered it. For NIS2 that matters directly: access can be traced back to an authorised HR source rather than an ad-hoc request. Joinly is ISO 27001 certified, runs in an EU data centre in Amsterdam, applies least-privilege by default, and is built to meet NIS2 and ISO 27001.

Example case

Picture a German engineering firm with around 1,800 employees across three sites, running rexx systems as its HR core while its identity provisioning never quite keeps up. A nightly CSV export from rexx feeds a script that IT babysits — it lists everyone, so working out who actually joined, moved or left is a manual comparison every morning, and new engineers routinely wait until day two or three for their account, licence and group access.

Connect rexx systems to Microsoft Entra ID with Joinly and that work disappears. Joinly reads each HR change in rexx at the source and acts on it automatically: new hires have their account, Microsoft 365 licence and group access ready on their start date, a move from the design department to project management swaps the right groups the same day, duplicate names get a stable, unique UPN, and leavers are disabled on their exit date with a 30-day soft-delete grace window.

“We used to start every morning diffing a spreadsheet to find out who changed. Now an account is simply ready on the start date, a transfer just swaps the groups, and we can show the auditor exactly which rexx change created every bit of access.” — Head of IT, engineering firm

The outcome this setup is designed for: onboarding drops from days to zero touch, the daily manual diff disappears, and the team can walk into its next NIS2 assessment with a complete, source-backed audit trail.

More than a connector

A standalone rexx systems to Entra ID connection is a good start, but identity rarely stops at one target. Joinly manages the complete chain from joiner to leaver across all your systems, with logging and governance built in. You review the exceptions; Joinly maintains the chain.

Schedule a demo

Installation manual

Installation manual

Connect rexx systems to Microsoft Entra ID

Connect rexx systems to Microsoft Entra ID

Installation guide

Follow these steps to connect rexx systems to Microsoft Entra ID with Joinly. The entire cloud setup happens in the platform, with no scripts or local software required.

1. Create your account

Go to platform.joinly.app and create your account.

Note: charges may apply for using the platform after the trial period ends.


Joinly account creation screen at platform.joinly.app


Sign up at platform.joinly.app to get started.

2. Connect your Microsoft account

Open platform.joinly.app/settings/provisioning/idp-setup and connect your Microsoft tenant. Select the scopes you need. For provisioning you don’t need any additional scopes.


Joinly identity provider setup screen for connecting a Microsoft Entra tenant


Connect your Microsoft tenant and pick your scopes.

3. Import your existing accounts from Entra ID

Import all existing accounts from Entra ID at platform.joinly.app/settings/provisioning/entra-import. This gives Joinly a baseline of every account that already exists, so it can match people to their current account instead of creating duplicates.

4. Find the rexx systems integration in the Joinly marketplace

Open the Joinly marketplace and search for the rexx systems integration.

Don’t see your system listed? Get in touch at support@koppelhet.nl and we’ll help you out.


Joinly marketplace showing available HR integrations


Search the marketplace for the rexx systems integration.

5. Follow the installation wizard

You may be redirected to integrations.joinly.app. Create an account there and enter your rexx connection details: your rexx API base URL and API credentials / key. We only ask for the information needed to establish a successful connection with rexx. All data is encrypted and stored securely.


Joinly installation wizard for entering rexx systems connection details


Enter your rexx API endpoint and credentials in the wizard.

6. Configure your field mapping

Set up all your field mappings here. Templates support Liquid, so you can build your display name, UPN and other attributes dynamically from rexx fields.

Frequently asked questions

  • How do I map the manager? Reference the manager’s identifier in the mapping and Joinly resolves the link to the right manager automatically.

  • How do I detect who changed? Joinly diffs each rexx import against its last known state, so you get clean joiner, mover and leaver signals even though the export is bulk.

  • How do I prevent duplicate usernames? Use the generateUniqueUsername helper, which falls back to the next pattern when the first one is already taken:
    {{ generateUniqueUsername: “{firstName}.{prefix}.{lastName}”, “{initials}.{prefix}.{lastName}” }}


Joinly field mapping screen for rexx systems attributes using Liquid templates


Map rexx fields to Entra ID attributes with Liquid templates.

7. Configure the scheduled import

At platform.joinly.app/settings/import-configs, configure how often the import from rexx should run.

8. Configure your workflows

Workflows are where Joinly turns each HR change into the right action in Entra ID. Create an onboarding (joiner) and offboarding (leaver) workflow with trigger-based execution, then an Identity updated workflow with a Create/update employee in Entra action so every change in rexx flows straight through to Entra ID. Finally, add a threshold workflow with the Entra soft delete action that runs a set period after the exit date (for example 30 days) to retire accounts safely.


Joinly workflow editor creating an employee onboarding workflow


Create a trigger-based onboarding workflow.


Adding the create or update employee in Entra action to a workflow


Add the create/update action, then set your matching strategy and field mapping.


Adding the Entra soft delete action to remove accounts on employee leave


Add the Entra soft delete action to retire accounts safely.

## AD on-premise support

Need to provision to an on-premise Active Directory as well? See our dedicated guide on connecting rexx systems to Active Directory, or contact support at support@koppelhet.nl to request setup of the Joinly AD Agent.

Frequently asked questions

Does the rexx systems to Microsoft Entra ID connection work in real time?
It runs as a frequent sync that updates multiple times per day, so changes in rexx reach Entra ID quickly without waiting for a nightly batch.

The rexx export is bulk and one-directional — how does Joinly know who changed?
Joinly compares each rexx import against its last known state and derives clean joiner, mover and leaver signals from the difference, so a single HR change becomes exactly one account action even though the source delivers a full population.

How are future-dated hires handled?
Joinly reads the recorded start date (Eintrittsdatum) on the rexx record and times account creation to it, so access is ready on the start date rather than the moment HR saved the record.

Which attributes sync from rexx to Entra ID?
Name, email / UPN, department (Abteilung), job title, manager, cost centre (Kostenstelle), location (Standort), and start and end date. Additional rexx fields can be mapped via Liquid templates.

Do I still need a native import or a separate IAM connector?
No. Joinly takes over the change detection, role-to-group mapping and UPN handling that a plain CSV or API import does manually or not at all, and maintains it as your rexx data changes.

Does Joinly also support AD on-premise or hybrid provisioning?
Yes. Joinly has its own AD on-premise agent and also supports the native Microsoft Entra provisioning agent, so you can provision users to your on-premise AD environment as well. See the rexx systems to Active Directory guide.

Request installation support