CatalystOne → Microsoft Entra ID (formerly Azure AD)
Connect CatalystOne to Microsoft Entra ID
When someone joins, moves or leaves in CatalystOne, you want that change reflected in Microsoft Entra ID without anyone touching it by hand. To connect CatalystOne to Microsoft Entra ID, Joinly reads each HR change in CatalystOne HR Master Data at the source — through the CatalystOne REST API and its webhooks — and applies it automatically to the right account. CatalystOne stays your source of truth; Joinly is the engine that keeps every action accurate and traceable.
Key takeaways
CatalystOne HR Master Data stays your source of truth; Joinly applies every joiner, mover and leaver to Entra ID automatically.
Joinly reads the CatalystOne REST API and subscribes to its webhooks, so a hire, transfer or termination reaches Entra ID within minutes rather than on a nightly batch.
Joinly maps CatalystOne organisations and organisational units to the right Entra ID groups and licences — role-to-group logic that a plain API-driven connector leaves to manual rules.
Nordic multi-country tenants are handled correctly: Swedish, Danish and Norwegian records with different national-ID formats each drive a clean, unique UPN.
Every action is logged for a complete audit trail, aligned with NIS2 and ISO 27001.


Quick facts
Source system | CatalystOne (HR Master Data) |
Target system | Microsoft Entra ID (formerly Azure AD) |
Connection method | CatalystOne REST API & webhooks → Entra ID |
Supported events | Joiner, mover, leaver (incl. rehire and cross-country transfers) |
Synced attributes | Name, email / UPN, department, job title, manager, organisation / unit, start and end date |
Authentication | CatalystOne API key over HTTPS |
Real-time or batch | Frequent sync, multiple times per day |
Compliance | ISO 27001, NIS2-ready, GDPR (EU data centre) |
Liever in het Nederlands? CatalystOne koppelen met Microsoft Entra ID
How does Joinly sync CatalystOne to Microsoft Entra ID?
Joinly reads each HR change in CatalystOne through the REST API and its webhooks, then applies it to the matching Entra ID account automatically. HR Master Data holds the authoritative employment record, so it is the starting point for each identity action.
Joiner. HR completes the hire in CatalystOne. Joinly reads the new employee and organisation records and determines the role from attributes like organisational unit, department and job title. 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.
Mover. When someone changes position, department or organisation in CatalystOne, 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.
Leaver. On the termination date recorded in CatalystOne, 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 before it is retired for good.
Example: A Nordic energy company hires a grid engineer in CatalystOne with a start date next Monday, in its Norwegian organisation. Joinly reads the record, waits until the start date, creates the Entra ID account, assigns an Office E3 licence and adds the engineer to the NO-GridOps group. When that engineer later transfers to the Swedish organisation, Joinly rebuilds the UPN to the Swedish domain and swaps the groups the same day, without breaking sign-in.
What manual user management costs
Without automation, every account starts as a CatalystOne ticket or a line in a spreadsheet that IT works through by hand. A custom Entra API-driven connector wired to the CatalystOne REST API can move attributes across, but it maps organisations to groups through manual rules and has no built-in role logic — 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 organisation, 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.
Joinly vs. native Entra API-driven provisioning
CatalystOne isn’t a Microsoft-gallery app, so the native path is an Entra API-driven (SCIM) inbound connector built on the CatalystOne REST API. That’s a fine baseline, but it stops short of the part that actually decides access. Here’s how the two compare for a CatalystOne-driven setup.
Joinly | Entra API-driven provisioning | |
|---|---|---|
Source | Reads the CatalystOne REST API and webhooks | Custom SCIM/API connector you build and maintain |
Role-to-group mapping | Built in, rule-based on organisations and units | Manual expression mappings; no role-to-group out of the box |
Future-dated hires | Times account creation to the recorded start date | Needs custom date-window configuration |
Nordic multi-country | Per-country UPN and national-ID rules built in | Manual, per-tenant 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 CatalystOne to Microsoft Entra ID
A few CatalystOne-specific details decide whether this connection stays reliable at scale.
Nordic multi-country localisation. A single CatalystOne tenant can hold Swedish, Danish and Norwegian employees with different national-ID (personnummer) formats and country-specific fields. A naive rule mixes them up. Joinly applies per-country transformation rules so each record drives the right domain, UPN and licence set.
Mapping organisations to Entra groups. CatalystOne organisations and organisational units 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.
Webhook events plus reconciliation. CatalystOne webhooks fire the moment something changes, which is fast — but a single missed event can leave an account stale. Joinly acts on the webhook and periodically reconciles against the REST API, so nothing is ever silently skipped.
UPN format with duplicate names. When two employees share a name, a naive UPN rule produces collisions. Joinly applies custom transformation rules — a suffix, organisation code or controlled tiebreaker — so every UPN is unique and predictable from day one.
API-key rotation and early-access endpoints. The CatalystOne developer platform is in early access and each integration uses its own API key. Joinly manages the key securely and adapts to endpoint changes centrally, so key rotation or an API update doesn’t break provisioning.
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 CatalystOne 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 Nordic energy and utilities group with around 4,500 employees split across Norwegian, Swedish and Danish organisations, running CatalystOne as its HR core while its identity provisioning never quite keeps up. A hand-built connector handles the simple cases, yet cross-country transfers, field technicians on seasonal contracts and country-specific national-ID formats keep breaking it — engineers who move between the Norwegian and Swedish organisations end up with the wrong domain on their UPN, and new hires are provisioned the moment HR saves the record rather than on their actual start date.
Connect CatalystOne to Microsoft Entra ID with Joinly and that work disappears. Joinly reads each HR change in CatalystOne at the source and acts on it automatically: new hires have their account, Office licence and group access ready on their start date, cross-country transfers rebuild the UPN and swap the right groups the same day, and leavers are disabled on their termination date with a 30-day soft-delete grace window.
“Cross-country transfers used to be the thing that broke every sync. Now an account is simply ready on the start date, a move to another country just rebuilds the UPN and groups, and we can show the auditor exactly which CatalystOne change created every bit of access.” — Head of IT, energy and utilities group
The outcome this setup is designed for: onboarding drops from days to zero touch, cross-country UPN errors stop entirely, and the team can walk into its next NIS2 assessment with a complete, source-backed audit trail.
Installation guide
Follow these steps to connect CatalystOne 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.

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.

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 CatalystOne integration in the Joinly marketplace
Open the Joinly marketplace and search for the CatalystOne integration.
Don’t see your system listed? Get in touch at support@koppelhet.nl and we’ll help you out.

Search the marketplace for the CatalystOne integration.
5. Follow the installation wizard
You may be redirected to integrations.joinly.app. Create an account there and enter your CatalystOne connection details: your CatalystOne API base URL and the API key issued for the integration. We only ask for the information needed to establish a successful connection with CatalystOne. All data is encrypted and stored securely.

Enter your CatalystOne API base URL and API key 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 CatalystOne fields.
Frequently asked questions
How do I map the manager? Reference the manager’s employee identifier in the mapping and Joinly resolves the link to the right manager automatically.
How do I handle Nordic multi-country records? Drive the domain and UPN from the employee’s country and organisation, so Swedish, Danish and Norwegian records each land in the right namespace.
How do I prevent duplicate usernames? Use the
generateUniqueUsernamehelper, which falls back to the next pattern when the first one is already taken:{{ generateUniqueUsername: “{firstName}.{prefix}.{lastName}”, “{initials}.{prefix}.{lastName}” }}

Map CatalystOne 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 CatalystOne should run. Joinly acts on CatalystOne webhooks in real time and reconciles on this schedule so nothing is missed.
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 CatalystOne flows straight through to Entra ID. Finally, add a threshold workflow with the Entra soft delete action that runs a set period after the termination date (for example 30 days) to retire accounts safely.

Create a trigger-based onboarding workflow.

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

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 CatalystOne to Active Directory, or contact support at support@koppelhet.nl to request setup of the Joinly AD Agent.
Frequently asked questions
Does the CatalystOne to Microsoft Entra ID connection work in real time?
It acts on CatalystOne webhooks as changes happen and runs a frequent reconciliation sync on top, so a hire, transfer or termination reaches Entra ID quickly without waiting for a nightly batch.
How does Joinly handle Nordic multi-country records?
Joinly drives the domain, UPN and licence set from the employee’s country and organisation, so Swedish, Danish and Norwegian records — each with their own national-ID format — land in the right namespace without collisions.
How does Joinly connect to CatalystOne?
Through the CatalystOne REST API and its webhooks, authenticating with the API key issued for your integration over HTTPS. Joinly reads employees and organisations and applies changes to Entra ID.
Which attributes sync from CatalystOne to Entra ID?
Name, email / UPN, department, job title, manager, organisation / unit, and start and end date. Additional CatalystOne fields can be mapped via Liquid templates.
Do I still need a custom Entra API-driven connector?
No. Joinly takes over the provisioning, role-to-group mapping and multi-country handling that a hand-built connector does manually or not at all, and maintains it as your CatalystOne 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 CatalystOne to Active Directory guide.
More than a connector
A standalone CatalystOne 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.
Request installation support
Other guides
Frequently asked
Questions about connecting CatalystOne to Microsoft Entra ID (formerly Azure AD)
How does Joinly connect CatalystOne to Microsoft Entra ID?
The connection reads HR changes at the source (CatalystOne REST API & webhooks → Entra ID.) Authentication: CatalystOne API key over HTTPS. Joinly writes to Entra ID through Microsoft Graph, with its own app registration and application permissions — no synchronisation server, agent or extra infrastructure. If you prefer Microsoft's API-driven provisioning endpoint, Joinly can deliver the same changes as a SCIM 2.0 bulk request instead.
Which HR events does the CatalystOne → Entra ID connection handle?
Joiner, mover, leaver (incl. rehire and cross-country transfers). Each event runs the workflow you configured for it: a joiner gets an account, groups and licences before the start date, a mover has the access of the old position removed and the new one added, and a leaver is disabled on the termination date.
Which CatalystOne attributes are synced to Entra ID?
Name, email / UPN, department, job title, manager, organisation / unit, start and end date. The mapping is configurable per field with Liquid templates, so your own naming convention for the user principal name, display name and e-mail address keeps applying.
How often does Joinly sync CatalystOne with Entra ID?
Frequent sync, multiple times per day. The import schedule is yours to set — hourly, daily or weekly at a fixed time — and every run only processes what changed since the previous one.
Will Joinly overwrite the accounts that already exist in Entra ID?
No. Joinly first imports your existing directory and matches those accounts to the employees from CatalystOne. Existing accounts are recognised and adopted rather than created twice. Which matching strategy applies — user principal name, e-mail address, employee ID or a person identifier — is a setting.
Can I try this without anything being written?
Yes. Run the import as a dry run and you get an Excel export of exactly what would happen. You can also leave the connection in read-only mode, where Joinly calculates everything but writes nothing, and set thresholds for how many creations, activations and deactivations one run may produce before it is blocked for approval.
Is CatalystOne a ready-made connector in Joinly?
Yes. CatalystOne is a ready-made HR connector in Joinly: you enable it, enter the details of your CatalystOne environment and Joinly reads the employees from there. Nothing has to be developed on either side.
What happens when someone has more than one contract in CatalystOne?
Joinly recognises that it is one person and decides which employment leads for the account, the manager and the department. You do not get two accounts for the same employee, and when one contract ends the account is only disabled when the last active employment ends.
Do I need a Microsoft Entra ID P1 or P2 licence for this?
Not for the Microsoft Graph path: Joinly uses its own app registration and the permissions you grant it. Microsoft's API-driven inbound provisioning endpoint, which Joinly can also target with SCIM bulk requests, follows Microsoft's own licensing for that feature.
Does the CatalystOne → Entra ID connection support NIS2 and ISO 27001?
ISO 27001, NIS2-ready, GDPR (EU data centre). Every mutation lands in the audit log with its source — HR import, manual, from Entra, by the system or through an API key — and a link to the workflow that caused it. That is the evidence an auditor asks for when they want to know who had access to what, and why.
More on CatalystOne
Everything Joinly publishes about CatalystOne: the other installation guide, how the connection compares with Microsoft's own provisioning, what offboarding looks like, and the SCIM route.
See what Joinly can do for your organisation?
Start a free trial today or get in touch for advice on your HR and Microsoft environment.