Connect Silae to Microsoft Entra ID

Connect Silae to Microsoft Entra ID

Connect Silae to Microsoft Entra ID

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

Key takeaways

  • Silae stays your source of truth; Joinly applies every joiner, mover and leaver to Entra ID automatically from the Silae Paie REST API.

  • Joinly maps Silae structure — dossier, societe, etablissement and the salarie’s emploi — to the right Entra ID groups and licences, which a raw API integration does not do on its own.

  • Because Silae is payroll-first with no native leaver event, Joinly derives the exit (date de sortie) from the employment record and disables the Entra ID account on the right day.

  • API access on a Silae dossier is opened by your expert-comptable or Silae partner; Joinly is built to work cleanly with that partner-administered, per-dossier access model.

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

Silae

Joiner

Mover

Leaver

Microsoft Entra ID (formerly Azure AD)

Quick facts

Source system

Silae (Silae Paie dossier)

Target system

Microsoft Entra ID (formerly Azure AD)

Connection method

Silae Paie REST API → Entra ID

Supported events

Joiner, mover, leaver (incl. rehire and multi-etablissement)

Synced attributes

Name, email / UPN, matricule, department, job title, manager, etablissement, societe, start and end date

Authentication

OAuth 2.0 client credentials (client_id / client_secret + subscription key) — per dossier

Real-time or batch

Frequent sync, multiple times per day

Compliance

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

How does Joinly sync Silae to Microsoft Entra ID?

Joinly reads each HR change in the Silae dossier through the Silae Paie REST API and applies it to the matching Entra ID account automatically. Silae holds the authoritative employment record — the emploi — so it is the starting point for each identity action.

  1. Joiner. The payroll team enters the new salarie in Silae. Joinly reads the fiche salarie and its emploi through the API and determines the role from attributes like etablissement, job title and department. It then creates the account in Entra ID, assigns the right licences and maps the person into the correct groups — timed to the start date on the record.

  2. Mover. When someone changes job, department or etablissement in Silae, a new emploi record is generated. Joinly reads it and updates 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. Silae is payroll-first and does not push a leaver event, so Joinly derives the exit from the employment record — the date de sortie — and disables the Entra ID account on that date automatically. There are no orphaned accounts left active after someone has left.

Example: An accountancy firm running Silae hires a payroll assistant with a start date next Monday, attached to its Lyon etablissement. Joinly reads the new emploi, waits until the start date, creates the Entra ID account, assigns a Microsoft 365 licence and adds the assistant to the Lyon-Payroll group. When that assistant later moves to the audit team, Joinly reads the new emploi, swaps the groups and updates the job title the same day — no ticket, no manual edit.

What manual user management costs

Without automation, every account starts as a message from the payroll team or a line in a spreadsheet that IT works through by hand. Silae exposes a clean REST API, but on its own that API just returns data: it has no role-to-group logic, no lifecycle timing and no leaver event — so the part that actually decides access still falls to people.

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

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

  • Forgotten offboarding. Because Silae never sends a leaver event, an exit can slip past IT entirely — the account stays active, which is both a security and audit risk, and unused licences keep costing money.

Joinly vs. a custom Silae API integration

Silae has no Microsoft-native inbound provisioning app, so the realistic alternative is building on the Silae Paie REST API yourself or wiring it through a generic middleware. That gets you the data; it does not get you the decisions. Here’s how the two compare.


Joinly

Custom Silae API / middleware

Source

Reads the Silae Paie REST API directly

Reads the Silae API — you build and maintain the client

Role-to-group mapping

Built in, rule-based on etablissement and job

You code it and own every edge case

Leaver handling

Derives date de sortie and disables on the day

No native leaver event; you must poll and reconcile

Licence assignment

Driven by role / attributes

Custom code only

On-premise AD

Yes, own agent plus the native Microsoft agent

Separate build and infrastructure

Audit trail

Per-action logging tied to the HR source

Whatever you log yourself

Watch-outs when connecting Silae to Microsoft Entra ID

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

  • Partner-administered, per-dossier API access. API access on a Silae dossier is opened by your expert-comptable or Silae partner, not by you directly, and it is scoped per dossier with a subscription key. Joinly is built to work with that model: you request access from your firm once, and Joinly reads only the dossiers you authorise.

  • No native leaver event. Silae is a payroll platform and does not emit an offboarding trigger. Joinly reads the employment record and derives the exit (date de sortie), then disables the Entra ID account on that date, so leavers are handled reliably even though the source never announces them.

  • The emploi record and the matricule. Each payroll-impacting change generates a new emploi record, and the matricule is not a stable identifier on its own. Joinly matches on the durable person identity rather than the matricule, so a job change or a re-keyed matricule never creates a duplicate account.

  • Mapping etablissement and job to Entra groups. Etablissement, societe 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 salaries share a name, a naive UPN rule produces collisions. Joinly applies custom transformation rules — a suffix, etablissement code or controlled tiebreaker — so every UPN is unique and predictable from day one.

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 Silae 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 an accountancy and advisory firm with around 900 staff across eight offices, running Silae as its payroll core while its identity provisioning never quite keeps up. Because Silae is administered through the firm’s own payroll team and access is opened per dossier, IT only hears about a new joiner when someone forwards a message — and it never hears about a leaver at all, because payroll simply closes the emploi. New consultants wait until day two or three for an account, and closed contracts linger in Entra ID for weeks.

Connect Silae to Microsoft Entra ID with Joinly and that work disappears. Joinly reads each change in the Silae dossier 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 to another office or team swaps the right groups the same day, and leavers are disabled on the derived date de sortie with a 30-day soft-delete grace window.

“The thing that used to catch us was leavers — payroll just closed the contract and nobody told IT. Now the account disables itself on the exit date, and we can show exactly which Silae change created every bit of access.” — Head of IT, accountancy firm

The outcome this setup is designed for: onboarding drops from days to zero touch, dormant accounts after an exit stop entirely, and the team can walk into its next NIS2 assessment with a complete, source-backed audit trail.

More than a connector

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

Connect Silae to Microsoft Entra ID

Installation guide

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

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

5. Follow the installation wizard

You may be redirected to integrations.joinly.app. Create an account there and enter your Silae connection details: the OAuth client_id and client_secret, your subscription key (Ocp-Apim-Subscription-Key) and the dossier number(s) to read. Your expert-comptable or Silae partner opens API access on the dossier and provides these credentials. We only ask for the information needed to establish a successful connection with Silae. All data is encrypted and stored securely.


Joinly installation wizard for entering Silae connection details


Enter your Silae OAuth credentials, subscription key and dossier number 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 Silae fields.

Frequently asked questions

  • How do I map the manager? Reference the manager on the salarie record in the mapping and Joinly resolves the link to the right manager automatically.

  • How do I handle the exit date? Map the date de sortie from the employment record; Joinly uses it to drive offboarding even though Silae sends no leaver event.

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


Map Silae 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 Silae should run. Because the Silae API is polling-based, this schedule is what keeps Entra ID current — several runs per day.

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 the Silae dossier 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 Silae to Active Directory, or contact support at support@koppelhet.nl to request setup of the Joinly AD Agent.

Frequently asked questions

Does the Silae to Microsoft Entra ID connection work in real time?
It runs as a frequent sync that updates multiple times per day. The Silae Paie API is polling-based rather than event-driven, so Joinly reads it on a schedule and applies changes to Entra ID quickly without waiting for a nightly batch.

Who opens API access on the Silae dossier?
Your expert-comptable or Silae partner opens API access on the dossier and provides the OAuth credentials and subscription key. Silae access is partner-administered and scoped per dossier, and Joinly is built to work with that model.

How does Joinly handle leavers when Silae sends no leaver event?
Joinly reads the employment record and derives the exit date (date de sortie), then disables the Entra ID account on that date. You don’t need Silae to emit an offboarding trigger for offboarding to happen on time.

Which attributes sync from Silae to Entra ID?
Name, email / UPN, matricule, department, job title, manager, etablissement, societe, and start and end date. Additional fields exposed by the Silae API for your dossier can be mapped via Liquid templates.

Do I need to build my own Silae API integration?
No. Silae has no Microsoft-native provisioning app, so the alternative would be building on the REST API yourself. Joinly provides the connection, role-to-group mapping and leaver logic out of the box and maintains it as your Silae 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 Silae to Active Directory guide.

Request installation support