Connect Sesame HR to Microsoft Entra ID

Connect Sesame HR to Microsoft Entra ID

Connect Sesame HR to Microsoft Entra ID

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

Key takeaways

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

  • Joinly reads the Sesame HR REST API over an authenticated (Bearer token) connection — no custom SCIM bridge for you to build or maintain.

  • Joinly maps Sesame HR departments, offices and the org-chart manager to the right Entra ID groups and licences, something a generic provisioning setup can’t do on its own.

  • Because Sesame HR is attendance- and shift-first, its records can be light on structured org fields; Joinly builds robust mapping rules so sparse or missing departments still resolve to the right access.

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

Sesame HR

Joiner

Mover

Leaver

Microsoft Entra ID (formerly Azure AD)

Quick facts

Source system

Sesame HR (employee directory)

Target system

Microsoft Entra ID (formerly Azure AD)

Connection method

Sesame HR REST API → Entra ID

Supported events

Joiner, mover, leaver (incl. rehire and part-time / seasonal staff)

Synced attributes

Name, email / UPN, department, job title, manager, office / work centre, start and end date

Authentication

Bearer token (Sesame HR API token), region-specific endpoint

Real-time or batch

Frequent sync, multiple times per day

Compliance

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

How does Joinly sync Sesame HR to Microsoft Entra ID?

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

  1. Joiner. HR completes the hire in Sesame HR. Joinly reads the new employee record and determines the role from attributes like department, office 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 department, office or manager in Sesame HR, 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 end date recorded in Sesame HR, Joinly disables the Entra ID account automatically. There are no orphaned accounts left active after someone has left, and because SME workforces churn — part-time, temporary and seasonal staff — Joinly matches a rehire back to the person’s existing account rather than creating a duplicate.

Example: A hospitality group hires a front-desk employee in Sesame HR with a start date next Monday, at its Barcelona office. Joinly reads the record, waits until the start date, creates the Entra ID account, assigns a Business Basic licence and adds the person to the Barcelona-FrontOffice group. When that employee later returns for the next season, Joinly recognises the rehire and re-activates the same account instead of spinning up a second one.

What manual user management costs

Without automation, every account starts as a Sesame HR note or a line in a spreadsheet that IT works through by hand. You can wire Sesame HR’s REST API to Entra ID’s generic API-driven provisioning yourself, but that moves attributes at best — it has no role-to-group logic and no Sesame-specific handling, 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 — painful when a shift worker is expected on the floor from day one.

  • Permissions that don’t keep up (privilege creep). When movers change department or office, 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 with frequent seasonal turnover it is easy to lose track of who has actually left.

Joinly vs. native Entra ID provisioning

There is no prebuilt Entra ID provisioning app for Sesame HR, so the native path means wiring the Sesame HR API to Entra’s generic API-driven (custom SCIM) provisioning and maintaining it yourself. Here’s how the two compare for a Sesame HR-driven setup.


Joinly

Native Entra API-driven provisioning

Source

Reads the Sesame HR REST API directly

Needs a custom SCIM / API bridge you build

Role-to-group mapping

Built in, rule-based on department / office

No role-to-group logic out of the box

Sparse / missing org fields

Robust mapping rules with fallbacks

Fails or mis-maps when a field is empty

Rehire / seasonal staff

Matches back to the existing account

Risk of duplicate accounts on rehire

Licence assignment

Driven by role / attributes

Manual or group-based only

On-premise AD

Yes, own agent plus the native Microsoft agent

Separate provisioning agent, limited mapping

Audit trail

Per-action logging tied to the HR source

Limited

Watch-outs when connecting Sesame HR to Microsoft Entra ID

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

  • Sparse or attendance-first records. Sesame HR started as a time-tracking tool, so the employee directory is often lighter on structured org attributes than an enterprise HR core — a department, office or manager may be missing. Joinly builds mapping rules with sensible fallbacks so a thin record still resolves to the right group rather than failing the sync.

  • Part-time, temporary and seasonal churn. SME workforces here turn over quickly, and the same person often comes back next season. A naive rule creates a fresh account each time. Joinly matches a rehire to the existing identity and re-activates it, so history and mailbox stay intact.

  • Mapping departments and offices to Entra groups. Sesame HR departments and offices (work centres) 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, office code or controlled tiebreaker — so every UPN is unique and predictable from day one.

  • Frequent sync without over-reading attendance data. Sesame HR carries a lot of high-volume time and clock-in data alongside identities. Joinly reads the employee, department and office objects it needs on a frequent schedule and leaves the attendance stream alone, so provisioning stays fast and focused.

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 Sesame HR 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 hospitality group with around 900 employees across a dozen hotels and restaurants, running Sesame HR for time tracking and scheduling while its identity management never quite keeps up. Every seasonal hire, transfer between venues and returning summer worker becomes a manual account job, and with staff expected on shift from day one, a new starter waiting for a login is a real operational problem. Returning seasonal staff keep getting brand-new accounts, so mailboxes and history are scattered.

Connect Sesame HR to Microsoft Entra ID with Joinly and that work disappears. Joinly reads each HR change in Sesame HR at the source and acts on it automatically: new hires have their account, licence and group access ready on their start date, transfers between venues swap the right groups the same day, returning seasonal staff are matched back to their existing account, and leavers are disabled on their end date with a 30-day soft-delete grace window.

“Seasonal turnover used to mean a pile of manual account work and duplicate logins every summer. Now an account is simply ready on the start date, a returning worker keeps their old one, and we can show exactly which Sesame HR change created every bit of access.” — Head of IT, hospitality group

The outcome this setup is designed for: onboarding drops from days to zero touch, duplicate accounts from rehires 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 Sesame HR 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 Sesame HR to Microsoft Entra ID

Connect Sesame HR to Microsoft Entra ID

Installation guide

Follow these steps to connect Sesame HR 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 — which matters when returning seasonal staff already have an account from a previous contract.

4. Find the Sesame HR integration in the Joinly marketplace

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

5. Follow the installation wizard

You may be redirected to integrations.joinly.app. Create an account there and enter your Sesame HR connection details: your API token (generated in the Sesame HR admin area) and your region-specific API endpoint. We only ask for the information needed to establish a successful connection with Sesame HR. All data is encrypted and stored securely.


Joinly installation wizard for entering Sesame HR connection details


Enter your Sesame HR API token and region endpoint 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 Sesame HR fields.

Frequently asked questions

  • How do I map the manager? Reference the employee’s manager from the Sesame HR org chart in the mapping and Joinly resolves the link to the right manager automatically.

  • What if a department or office is missing? Set a fallback in the mapping so a thin record still resolves to a sensible default group instead of failing.

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


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

Frequently asked questions

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

How does Joinly connect to Sesame HR?
Through the Sesame HR REST API, using a Bearer token (an API token you generate in the Sesame HR admin area) against your region-specific endpoint. Joinly reads the employee, department, office and org-chart data it needs and leaves the high-volume attendance stream alone.

How are returning seasonal or rehired staff handled?
Joinly matches the person back to their existing Entra ID account and re-activates it instead of creating a duplicate, so history, mailbox and identity stay intact across contracts.

Which attributes sync from Sesame HR to Entra ID?
Name, email / UPN, department, job title, manager, office / work centre, and start and end date. Additional Sesame HR fields can be mapped via Liquid templates.

Is there a native Entra provisioning app for Sesame HR I should use instead?
There is no prebuilt Entra ID provisioning app for Sesame HR, so the native route means building and maintaining a custom API / SCIM bridge yourself. Joinly reads the Sesame HR API directly and adds the role-to-group mapping, fallback handling and rehire matching that a raw bridge doesn’t have.

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 Sesame HR to Active Directory guide.

Request installation support