BuddeeHR logoOkta logo

Identity and access management

BuddeeHR to Okta integration: Buddee as HR source for Okta

With an integration between BuddeeHR and Okta, every employee from Buddee becomes an Okta user with job title, department, location, employment type and manager, and the groups in Okta follow the position that applies on that day. After the last contract in Buddee Okta deactivates the user, and the Okta login address goes back to Buddee as work email.

What the integration does

Organisations that do HR in BuddeeHR and use Okta for access now put new colleagues into Okta by hand. A move to another department as of the first of the month is applied too early or too late, and an agency worker with a series of temporary contracts sometimes loses access between two contracts.

  1. Buddee gets a separate account for the integration, and Okta a custom HR source with a service app for KoppelHet.
  2. KoppelHet reads employees, employments, contracts and positions and selects the position that applies that day.
  3. KoppelHet delivers new and changed employees, groups and memberships in one Okta session.
  4. Okta creates the user; KoppelHet writes the login address back to the work email in Buddee.
  5. After the last contract in the series KoppelHet delivers a deletion, and Okta deactivates the user.
BuddeeHR → KoppelHet → OktaSOURCEBuddeeHRTARGETOktaKoppelHetmapping · logging · monitoringBuddeeHR → KoppelHet → OktaSOURCEBuddeeHRTARGETOktaKoppelHetmapping · logging · monitoring
Out: Okta user from a custom HR source · Groups per department, location and company · Employment type as text attribute · Work email back to Buddee
Back: The Okta login address goes back to the employee's work email through the Buddee API.

What to watch for with BuddeeHR and Okta

  • Buddee offers sign-in with Microsoft or Google, but no integration with Okta. KoppelHet uses Okta's custom HR source, so Buddee decides who gets an Okta user and Okta then handles the apps.
  • Buddee returns lists in pages of two hundred, and Okta accepts at most two hundred users per request, with fifty requests per session. At the first load KoppelHet turns each Buddee page into one request and spreads a large organisation over several sessions in a row.
  • Contracts in Buddee are stored as a series with a sequence number and a flag for the last contract. KoppelHet only delivers an employee to Okta as a deletion once the last contract of the series has ended, so an agency worker keeps their Okta user between two temporary contracts.
  • Besides the manager, Buddee has an indirect manager, an HR manager and a buddy. Okta only has a field for the manager; KoppelHet fills it with the direct manager and puts the buddy in its own text attribute, so an Okta workflow can send the buddy a message at the start.
  • Department, location and job title are stored in Buddee as positions with a start and end date. Okta accepts no lists from a custom HR source. KoppelHet selects the position that applies today and delivers it on the effective date, so the groups in Okta only switch on the day of the move.
  • Buddee has six employment types, from employee to freelancer and volunteer. KoppelHet puts the type as text in Okta, so a group rule only gives a volunteer or freelancer the apps that belong to their role.
  • The Buddee API signs in with email and password of a regular user. If an organisation later enforces sign-in with Microsoft or Google, that integration account must keep a password. KoppelHet uses a separate account with only the necessary rights and excludes it from the HR source for Okta.

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

Does Buddee have an Okta integration?

Not according to Buddee's integrations page; it lists sign-in with Microsoft and Google. KoppelHet delivers Buddee to Okta through the custom HR source.

Does salary or bank data go to Okta?

No. KoppelHet reads no salaries and drops IBAN and BSN from the employee record immediately.

Technical details for IT

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

  • Buddee through the REST API on api.buddee.nl: /employees (company_id, number, first_name, composed_last_name, manager_id, buddy_id, work_email), /employments (type, start_date, end_date), /contracts (sequence_number, is_last_in_sequence, start_date, end_date) and /positions (job_id, department_id, location_id, manager_id with start_date and end_date); per_page 200; filter active=1. Basic Auth on /auth/token, then a JWT access token with refresh token. Write-back through PUT /employees/{id} (work_email).
  • Okta through the Identity Sources API (Custom Identity Source) with a service app: one session at a time per source, bulk upsert with externalId and text attributes only (200 per request, 50 requests per session), groups and memberships separately, bulk delete deactivates. importType INCREMENTAL only.

Which fields are transferred

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

Field in BuddeeHRField in OktaNotes
company_id + numberexternalId en employeeNumbernumber is unique within a company
first_namefirstName
composed_last_name_prefix + composed_last_namelastName
Naamgevingsregel of work_emailemail en login
Functie (job_id, positie van vandaag)title
Afdeling (department_id)department en groep
Locatie (location_id)Groep per locatie
manager_idmanagerIdExternal ID of the manager
buddy_idEigen attribuut buddy (tekst)
employment.typeuserType
Laatste contract in de reeksUit de HR-bron (deactiveren)

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.