

Identity en access management
Darwinbox Okta koppeling: Darwinbox als HR-bron voor Okta, met het werkadres terug in Darwinbox
Met een koppeling tussen Darwinbox en Okta krijgt elke medewerker uit Darwinbox een Okta-gebruiker met functie, afdeling, group company en leidinggevende, en wordt hij gedeactiveerd op de goedgekeurde laatste werkdag. Darwinbox levert zelf een Okta Workflows-connector die het e-mailadres in Darwinbox kan bijwerken; KoppelHet maakt Darwinbox de HR-bron voor Okta via de Custom Identity Source en gebruikt die connector of de API voor de terugweg.
Wat de koppeling doet
Organisaties die Darwinbox als HR-systeem gebruiken en Okta voor SSO, zetten in Okta vaak alleen de Darwinbox-app voor inloggen aan. Gebruikers maakt IT dan met de hand aan, en het werkadres dat Okta uitdeelt, moet HR weer overtypen in Darwinbox.
- Bij Darwinbox vragen we API-toegang aan, met een dataset met de velden die Okta nodig heeft.
- In Okta maken we een Custom Identity Source en een service-app voor KoppelHet.
- Bij livegang koppelen we bestaande Okta-gebruikers aan hun Darwinbox-user-id.
- Daarna levert KoppelHet elk uur de wijzigingen aan Okta in één sessie, en deactiveert vertrekkers op hun laatste werkdag.
- Zodra Okta een werkadres heeft, zet KoppelHet het via de Darwinbox-API of de Workflows-connector in Darwinbox.
Waar je op let bij Darwinbox en Okta
- In de Okta-catalogus staat Darwinbox met een connector en een workflowsjabloon. De Okta Workflows-connector is volgens Okta gebouwd door Darwinbox zelf, met support via Darwinbox, en heeft acties om gebruikersvelden en het e-mailadres in Darwinbox bij te werken. Een HR-import van Darwinbox naar Okta is in die bronnen niet beschreven; daarvoor gebruikt KoppelHet de Custom Identity Source van Okta.
- Okta behandelt het externalId van een HR-bron als onveranderlijk. In Darwinbox kan het employee_id worden gewijzigd; de Darwinbox-aanroep die het e-mailadres zet, past volgens Darwinbox ook employee ID's aan. KoppelHet gebruikt daarom het interne user_id van Darwinbox als externalId en zet het employee_id als gewoon attribuut.
- Darwinbox geeft vertrekgegevens alleen voor een opgegeven lijst medewerkers, met de status goedgekeurd, in behandeling of ingetrokken. KoppelHet vraagt ze op voor de medewerkers uit de laatste ronde en deactiveert de Okta-gebruiker alleen bij een goedgekeurd vertrek, op de laatste werkdag. Wordt het vertrek ingetrokken, dan vervalt de planning.
- Darwinbox houdt een lijst bij van verwijderde aannames, met datum en reden. Heeft Okta voor zo iemand al een gebruiker klaargezet, dan haalt KoppelHet hem uit de HR-bron, zodat Okta hem deactiveert en er geen actief account blijft voor iemand die nooit begon.
- Darwinbox geeft datums in meerdere notaties terug, zoals 12-Aug-2011, en in de HR-bron van Okta is elk veld tekst. KoppelHet zet datum in dienst en laatste werkdag in één vaste notatie, zodat groepsregels in Okta erop kunnen sturen.
- Welke velden de Darwinbox-API teruggeeft, bepaalt een dataset die Darwinbox per klant inricht, en API-toegang krijg je alleen op aanvraag. Velden zoals group company, land en leidinggevende komen dus alleen mee als ze in die dataset staan. KoppelHet stelt de veldenlijst vooraf op met jullie en Darwinbox.
- Een sessie van de Okta HR-bron neemt tweehonderd gebruikers per aanlevering, en er kan per bron maar één sessie tegelijk lopen. Darwinbox kan alle gewijzigde medewerkers sinds een tijdstip in één aanroep teruggeven. KoppelHet bundelt die wijzigingen per uur in één sessie, zodat Okta niet vastloopt op elkaar overlappende sessies.
Deze koppeling hoort ook bij in-, door- en uitstroom.
Hoe we het bouwen en beheren
- De koppeling draait op het KoppelHet platform, gehost in een datacenter in de EU.
- Elke synchronisatie en elke fout is zichtbaar in de functionele logging; bij een fout krijgt jullie beheerder een melding.
- Een mutatie die niet door kan, wordt niet half doorgezet maar klaargezet om opnieuw te proberen.
- KoppelHet is ISO 27001-gecertificeerd. Gegevens gaan versleuteld over en blijven niet langer op het platform dan nodig.
- Na livegang beheren wij de koppeling en passen we hem aan als jullie proces verandert.
- De koppeling past naast je bestaande integratielaag. Alleen de velden uit het ontwerp gaan over; het platform houdt geen eigen registratie bij.
Implementatie en prijs
Dit is geen app die je aanzet. We bouwen de koppeling voor jullie organisatie op ons platform, met bouwstenen die we steeds opnieuw gebruiken. Zo is het maatwerk, zonder dat we bij nul beginnen.
Een consultant bereidt de intake voor en analyseert beide systemen. Daarna leggen we de mapping en uitzonderingen per veld vast, testen we in de test- of acceptatieomgeving en gaan we live op een moment dat jij kiest. De kosten bestaan uit een eenmalig bedrag voor de inrichting en een maandbedrag voor platform, monitoring en beheer.
Veelgestelde vragen
Is de Darwinbox-app in Okta niet genoeg?
Die regelt inloggen bij Darwinbox. Gebruikers in Okta aanmaken en deactiveren vanuit Darwinbox doet hij niet volgens de beschrijvingen die we vonden.
Wordt een vertrekker verwijderd uit Okta?
Nee, Okta deactiveert de gebruiker. Verwijderen blijft een keuze van IT.
Wat als HR een vertrek intrekt?
Dan ziet KoppelHet de status ingetrokken en blijft de gebruiker actief.
Technische details voor IT
Voor wie wil weten hoe het onder de motorkap werkt: gebruikte API's, velden en bronnen.
- Darwinbox Employee Core API's (api_key per endpoint met basic auth, of OAuth 2.0 client credentials met een token van 3600 seconden): masterapi/employee met datasetKey en last_modified of date_of_activation; UpdateEmployeeDetails/separationDetails met separation_status (Approved, Pending of Revoked) en een lijst employee_ids; UpdateEmployeeDetails/getDeletedEmployees; UpdateEmployeeDetails/update met email_id. Okta Workflows-connector van Darwinbox met de acties Update User Attributes en Update Email ID.
- Okta Identity Sources API (Custom Identity Source): sessie aanmaken, bulk-upsert van gebruikers (200 per aanlevering), bulk-delete bij vertrek of verwijderde aanname (Okta deactiveert), één actieve sessie per bron; externalId onveranderlijk; profielattributen alleen als string.
Welke velden overgaan
De belangrijkste velden. De volledige mapping stellen we per klant vast.
| Veld in Darwinbox | Veld in Okta | Toelichting |
|---|---|---|
user_id | externalId | |
employee_id | employeeNumber | |
first_name, last_name | firstName, lastName | |
Naamgevingsregel | login en email | |
designation_name | title | |
department_name | department | |
Group company | organization en groep | |
direct_manager_employee_id | managerId | |
date_of_joining, goedgekeurde laatste werkdag | Eigen attributen (tekst) en deactiveren | |
email (Okta) | email_id (Darwinbox) |
Gerelateerd
Darwinbox → Active Directory
Darwinbox Active Directory koppeling: domeinaccounts die Darwinbox volgen, per kantoorlocatie
Darwinbox → ADP iHCM
Darwinbox ADP iHCM koppeling: CTC-wijzigingen, extra betalingen en goedgekeurd vertrek naar de Nederlandse ADP-payroll
Darwinbox → AFAS Profit
Darwinbox AFAS koppeling: Nederlandse medewerkers uit Darwinbox in de AFAS-salarisadministratie
Darwinbox → Arbodienst (SIVI)
Darwinbox koppelen met de arbodienst via SIVI: goedgekeurde ziekteverloven als verzuimmelding