Connect Sympa to Microsoft Entra ID

Connect Sympa to Microsoft Entra ID

Connect Sympa to Microsoft Entra ID

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

Key takeaways

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

  • Joinly maps Sympa’s own structure — entity, unit, geography, department and job title — to the right Entra ID groups and licences, something the native Sympa Entra connector doesn’t do on its own.

  • Joinly reads the Sympa REST API many times a day, so changes reach Entra ID within hours instead of waiting for the native connector’s once-a-day full sync.

  • Because Sympa’s data model is fully configurable, Joinly maps the exact custom fields and interfaces your tenant exposes rather than assuming a fixed schema.

  • Every action is logged for a complete audit trail, aligned with NIS2 and ISO 27001.

Sympa

Joiner

Mover

Leaver

Microsoft Entra ID (formerly Azure AD)

Quick facts

Source system

Sympa (Sympa HR)

Target system

Microsoft Entra ID (formerly Azure AD)

Connection method

Sympa Open REST API → Entra ID

Supported events

Joiner, mover, leaver (incl. rehire, internal transfer between entities)

Synced attributes

Name, email / UPN, department, job title, manager, location, entity, unit, employee number, start and end date

Authentication

Sympa API key (X-ApiKey header) or HTTP Basic auth (key + secret)

Real-time or batch

Frequent sync, multiple times per day

Compliance

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

How does Joinly sync Sympa to Microsoft Entra ID?

Joinly reads each HR change in Sympa through the Open REST API and applies it to the matching Entra ID account automatically. Sympa holds the authoritative employment record, so it is the starting point for each identity action.

  1. Joiner. HR completes the hire in Sympa. Joinly reads the new employee profile through the REST API and determines the role from attributes like entity, 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.

  2. Mover. When someone changes position, unit or entity in Sympa, 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 — including transfers between entities in a multi-country structure.

  3. Leaver. On the end date recorded in Sympa, 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.

Example: A Nordic retailer hires a store supervisor in Sympa with a start date next Monday, in its Swedish entity. Joinly reads the profile through the REST API, waits until the start date, creates the Entra ID account, assigns a Microsoft 365 licence and adds the supervisor to the SE-Retail-Stores group. When that supervisor later transfers to the Finnish entity, Joinly swaps the entity-specific groups the same day and keeps a single, stable UPN.

What manual user management costs

Without automation, every account starts as a Sympa ticket or a line in a spreadsheet that IT works through by hand. Sympa’s native Entra ID connector can push employee data across, but it runs as a once-a-day full sync from one entity to one Entra environment and has no role-to-group 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, unit or entity, 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 — and a once-a-day sync can leave a leaver active for the rest of the day.

Joinly vs. the native Sympa Entra ID connector

Sympa’s own Microsoft Entra ID connector is a fine baseline, but it stops short of the part that actually decides access. Here’s how the two compare for a Sympa-driven setup.


Joinly

Sympa Entra ID connector

Source

Reads the Sympa REST API directly

Reads Sympa directly

Role-to-group mapping

Built in, rule-based on entity, unit and job title

Not available; syncs attributes only

Sync frequency

Frequent, multiple times per day

Once-a-day full sync

Multiple entities

Maps many Sympa entities in one setup

One Sympa entity to one Entra entity

Licence assignment

Driven by role / attributes

Manual or group-based only

On-premise AD

Yes, own agent plus the native Microsoft agent

No on-premise AD provisioning

Audit trail

Per-action logging tied to the HR source

Limited

Watch-outs when connecting Sympa to Microsoft Entra ID

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

  • Multi-country, multi-entity structure. In a typical Nordic Sympa setup a person sits under an entity, a unit and a geography and can move between them. A naive rule can put someone in the wrong groups after a cross-entity transfer. Joinly builds explicit mapping from entity, unit and geography to the correct Entra groups and licences, and reapplies it on every move.

  • Fully configurable data model. Sympa lets each customer build custom interfaces and fields, so the attributes your tenant exposes through the API differ from the next. Joinly maps the exact interfaces and fields your Sympa exposes rather than assuming a fixed schema, so nothing is missed and nothing is guessed.

  • Mapping units and entities to Entra groups. Entity, unit, department and job title 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, entity code or controlled tiebreaker — so every UPN is unique and predictable from day one.

  • Sync frequency vs. the native connector. The native Sympa connector runs a full sync once a day. Joinly reads the REST API multiple times per day, so a joiner, transfer or leaver reaches Entra ID within hours rather than waiting for the next nightly run.

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 Sympa 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 retail chain with around 4,500 employees across some 180 stores in Sweden, Finland and Norway, running Sympa as its HR core while its identity provisioning never quite keeps up. The native Sympa-to-Entra connector handles the simple cases, yet seasonal store staff, frequent transfers between stores and entities, and a steady stream of short contracts keep it behind — the once-a-day full sync means a new supervisor can wait most of a day for access, and cross-entity transfers leave people in the wrong groups.

Connect Sympa to Microsoft Entra ID with Joinly and that work disappears. Joinly reads each HR change in Sympa at the source and acts on it automatically: new hires have their account, Microsoft 365 licence and group access ready on their start date, transfers between entities swap the right groups the same day, duplicate names get a stable, unique UPN, and leavers are disabled on their end date with a 30-day soft-delete grace window.

“Peak season used to mean a backlog of store accounts and people in the wrong groups after every transfer. Now an account is simply ready on the start date, a transfer just swaps the access, and we can show the auditor exactly which Sympa change created every bit of access.” — Head of IT, Nordic retail chain

The outcome this setup is designed for: onboarding drops from most of a day to zero touch, cross-entity transfer errors stop, and the team can walk into its next NIS2 assessment with a complete, source-backed audit trail.

More than a connector

A standalone Sympa 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 Sympa to Microsoft Entra ID

Connect Sympa to Microsoft Entra ID

Installation guide

Follow these steps to connect Sympa 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 Sympa integration in the Joinly marketplace

Open the Joinly marketplace and search for the Sympa 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 Sympa integration.

5. Follow the installation wizard

You may be redirected to integrations.joinly.app. Create an account there and enter your Sympa connection details: your Sympa API endpoint URL and your API key (used in the X-ApiKey header, or as the username with your Secret for Basic auth). You configure the API endpoints and key under Settings > API in Sympa first. We only ask for the information needed to establish a successful connection with Sympa. All data is encrypted and stored securely.


Joinly installation wizard for entering Sympa connection details


Enter your Sympa API endpoint and API key in the wizard.

6. Configure your field mapping

Set up all your field mappings here. Because Sympa’s data model is configurable, map the exact interfaces and fields your tenant exposes. Templates support Liquid, so you can build your display name, UPN and other attributes dynamically from Sympa fields.

Frequently asked questions

  • How do I map the manager? Reference the manager’s employee number (or the identifier your Sympa interface exposes) in the mapping and Joinly resolves the link to the right manager automatically.

  • How do I handle multiple entities? Map entity and unit to the right groups and OUs; Joinly applies the correct mapping per entity and reapplies it on a transfer.

  • 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 Sympa attributes using Liquid templates


Map Sympa 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 Sympa 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 Sympa flows straight through to Entra ID. Finally, add a threshold workflow with the Entra soft delete action that runs a set period after the end 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 Sympa to Active Directory, or contact support at support@koppelhet.nl to request setup of the Joinly AD Agent.

Frequently asked questions

Does the Sympa to Microsoft Entra ID connection work in real time?
It runs as a frequent sync that updates multiple times per day, so changes in Sympa reach Entra ID quickly — unlike the native Sympa connector, which runs a full sync once a day.

How does Joinly connect to Sympa?
Through the Sympa Open REST API. You configure the API endpoints and an API key under Settings > API in Sympa, and Joinly authenticates with the key (in the X-ApiKey header, or as the username with your Secret for Basic auth).

How does Joinly handle Sympa’s configurable fields?
Sympa lets each customer build custom interfaces and fields, so Joinly maps the exact interfaces and fields your tenant exposes rather than assuming a fixed schema. Attributes like a local employee number land in the right place via Liquid templates.

Which attributes sync from Sympa to Entra ID?
Name, email / UPN, department, job title, manager, location, entity, unit, employee number, and start and end date. Custom Sympa fields can be mapped via Liquid templates.

Do I still need the native Sympa Entra ID connector?
No. Joinly takes over the provisioning, role-to-group mapping and frequent sync that the native daily connector does manually, once a day or not at all, and maintains it as your Sympa 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 Sympa to Active Directory guide.

Request installation support