Deel logoSailPoint logo

Identity and access management

Deel to SailPoint integration: employees, EOR and contractors as one source for roles

With an integration between Deel and SailPoint Identity Security Cloud, Deel becomes the authoritative source, so SailPoint has one identity for everyone who works through Deel, with type of engagement, entity, country, department and manager. SailPoint has no Deel connector of its own; KoppelHet reads the people and contracts from Deel and delivers them in the form SailPoint expects, also when someone moves from contractor to employee.

What the integration does

Organisations with own entities plus EOR employees and contractors in Deel that introduce SailPoint with roles per team and country often track contractors by hand in a separate spreadsheet. For ISO 27001 and customer audits SailPoint then misses part of the people with access.

  1. You create a token in Deel with read-only rights on people and contracts, and a webhook to KoppelHet.
  2. KoppelHet merges each person's current contracts into one record, with the type of engagement of the active contract.
  3. KoppelHet delivers the records to the SailPoint source and has SailPoint start processing straight away.
  4. SailPoint determines the lifecycle and roles per team, country and type of engagement, and creates or changes the accounts in the target systems.
  5. When the last contract ends, KoppelHet delivers the person as inactive on the last working day.
Deel → KoppelHet → SailPointSOURCEDeelTARGETSailPointKoppelHetmapping · logging · monitoringDeel → KoppelHet → SailPointSOURCEDeelTARGETSailPointKoppelHetmapping · logging · monitoring
Out: Identity per person, not per contract · Type of engagement: own entity, EOR or contractor · Entity, country, department and job · Manager · Status and start and end date

What to watch for with Deel and SailPoint

  • SailPoint has no Deel connector in its catalogue. SailPoint's generic SCIM connector could read Deel's SCIM API, but Deel delivers the contracts there as a list inside one user. Roles based on the active contract therefore need a conversion first, and KoppelHet does that before SailPoint sees the data.
  • An identity in SailPoint belongs to exactly one identity profile. If you put contractors and employees in two separate sources, someone moving from contractor to employee switches profile and may lose access and review history. KoppelHet delivers everyone from Deel in one source with the type of engagement as an attribute, so the identity stays and only the roles change.
  • With employer of record, Deel or a partner is the legal employer, not your own entity. KoppelHet sets your own entity or the country as the company for those people, so roles and reviews per business unit do not end up with an outside employer.
  • Contractors are often in Deel with only a private address, while SailPoint requires a work address. KoppelHet fills the work address from your naming rule and does not pass on a private address.
  • Deel gives the manager as a work address, and SailPoint links the manager through an identity. KoppelHet translates the address into the manager's user name in SailPoint, so a quarterly review of a contractor in Portugal reaches the team lead in the Netherlands.
  • People who have not started yet in Deel are already delivered by KoppelHet with their start date. SailPoint puts them in the pre-hire lifecycle state, so laptop and accounts are ready without access being open in advance.
  • Deel limits the number of requests and returns an error when too many are made. KoppelHet therefore works on Deel's notifications and does one full comparison per night, so SailPoint is updated quickly without other integrations on Deel being affected.

This integration is also part of joiner, mover, leaver.

How we build and run it

  • The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
  • Every sync and every error is visible in the functional log; on an error your administrator is notified.
  • A change that cannot go through is not half-applied but queued for another attempt.
  • KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
  • After go-live we manage the integration and adjust it when your process changes.
  • The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.

Implementation, architecture and compliance

Implementation and price

This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.

A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Why not point SailPoint's SCIM connector directly at Deel?

That can work for a simple situation. As soon as roles depend on the active contract, the employer under EOR or a switch between contract types, something has to be converted first. KoppelHet does that, with logging per person.

Does pay data from Deel go to SailPoint?

No. KoppelHet only reads the data SailPoint needs for identity and roles; pay, rates and home addresses stay in Deel.

Can people outside Deel also be in SailPoint?

Yes, as a separate source with its own identity profile. The priority of the profiles decides which source wins if someone is in both. That can be added later as an extension.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Deel is read through the HRIS People API and contracts (worker_id, hiring_type, person_status ACTIVE, NOT_STARTED or INACTIVE, client_legal_entity, termination_last_day, direct_manager.work_email) with an organisation token, plus webhooks signed with x-deel-signature. The Deel SCIM API (GET /scim/Users, scope Users:read) returns contracts as an employments list in its own extension and answers with 429 when too many requests are made.
  • SailPoint Identity Security Cloud gets a Delimited File source as authoritative source; KoppelHet sends the file through the import accounts API, which starts aggregation straight away. uid, email and lastname are required in every identity profile; uid must be unique across all identities. Lifecycle states prehire, active and inactive through a transform on startDate, endDate and status.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in DeelField in SailPointNotes
worker_id (persoon)uidPer person, not per contract
first_namefirstname
last_namelastname
work_email of naamgevingsregelemail
hiring_type van het actieve contractworkerTypeOwn entity, EOR or contractor
client_legal_entitycompany
Land van het contractcountry
department en job_titledepartment en title
direct_manager.work_emailmanagerTranslated to the manager's uid
person_status en termination_last_daystartDate, endDate en status

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.