Skip to main content
Joinly by KoppelHet

SD Worx · SCIM

SD Worx SCIM provisioning to Microsoft Entra ID

"SD Worx SCIM to Entra ID" usually means one thing: getting SD Worx employees into Microsoft's API-driven inbound provisioning, which speaks SCIM. Joinly is the client that reads SD Worx, builds the SCIM bulk request and delivers it. This page describes that route — and when you do not need it.

SD Worx

What SCIM to Entra ID means for SD Worx

Microsoft's API-driven inbound provisioning exposes a /bulkUpload endpoint per provisioning app. It accepts SCIM 2.0 bulk requests — the core user schema, the enterprise extension and, if you register them, your own extension attributes — and the Entra provisioning service takes it from there: it compares each record with the directory, decides whether to create, update, enable or disable, applies the attribute mappings and writes to Entra ID or, through the provisioning agent, to on-premise Active Directory.

What the endpoint does not do is read SD Worx. In Microsoft's words, "the API developer/partner/system integrator builds an API client to send authoritative identity data". Whatever SD Worx itself offers toward Microsoft 365, this route needs a client that speaks SD Worx on one side and SCIM on the other.

How Joinly builds the SCIM request from SD Worx

Joinly reads SD Worx through the SD Worx REST API (SD Connect) (oAuth 2.0 (access / refresh token), scoped by SD Worx Company ID) into its normalised employee model and packages the identities as a SCIM 2.0 BulkRequest for the provisioning app you configured — API2AAD for Entra ID, API2AD for Active Directory.

  • Attribute mapping per customer with Liquid templates: name, email / UPN, afdeling (department), job title, manager, kostenplaats (cost center), werkgever entity, personeelsnummer, start and end date land on the SCIM attributes Entra expects, plus Joinly's own extension schema for anything Microsoft's core schema lacks.
  • An identity filter decides which identities are in scope, so contractors, a pilot department or one legal entity can go first.
  • A sample export to Excel shows the exact payload before the first upload, and a scheduled export runs it on your cadence afterwards.
  • The provisioning history records every run, chunk by chunk, with the error Microsoft returned, so a failed upload is visible and the job can be restarted once the cause is fixed.
  • Bulk requests are split into chunks of 50 operations, Microsoft's limit per call, so a large first load does not trip the endpoint.

SCIM or Microsoft Graph for SD Worx?

Joinly speaks both, and they are not competing routes so much as different places to put the write.

SCIM to API-driven provisioningMicrosoft Graph
Who writes to the directoryThe Entra provisioning serviceJoinly, through its app registration
On-premise Active DirectoryThrough the Microsoft Entra provisioning agentThrough the Joinly AD Agent
LicensingEntra ID P1, P2 or GovernanceNo P1 or P2 required
Groups, licences, manager, TAP, sessionsAttribute flow only; the rest through Lifecycle WorkflowsPart of the same workflow
Where the logs areEntra provisioning logs plus Joinly's historyJoinly's audit log
Good fit whenEntra's provisioning service must remain the only writer, or Microsoft's provisioning agent is already in placeYou want groups, licences and offboarding steps decided and applied in one place

What you need for the SCIM route

  • An API-driven inbound provisioning app from the Entra gallery — one per data source — with the attribute mappings you want.
  • Microsoft Entra ID P1, P2 or Governance.
  • For on-premise Active Directory: the Microsoft Entra provisioning agent on a server that can reach your domain.
  • Access to SD Worx — oAuth 2.0 (access / refresh token), scoped by SD Worx Company ID — for Joinly's import.

Frequently asked

Questions about SD Worx

  • Does SD Worx have a SCIM endpoint for Entra ID?

    That is not how the route works. SCIM here is what Microsoft's inbound provisioning endpoint accepts; SD Worx is the source that has to be read and translated into it. Joinly is that translation, whatever SD Worx itself offers toward Microsoft 365.

  • Can I send the same data to Entra ID and to Active Directory?

    Yes. Joinly keeps a provisioning configuration per target — API2AAD for Entra ID, API2AD for on-premise AD through Microsoft's provisioning agent — each with its own mapping and filter.

  • What happens to records Microsoft rejects?

    The Entra provisioning logs report the outcome per record. Joinly's provisioning history keeps the result of every chunk it uploaded, with the error Microsoft returned, and the job can be restarted once the cause is fixed.

  • Is Graph not simpler?

    Often, yes. If you are not tied to Entra's provisioning service as the writer, the Microsoft Graph path lets Joinly create the account and assign groups, licences and the manager in the same workflow, without an Entra ID P1 or P2 licence. The SD Worx installation guide describes that path.

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.