ADP GlobalView logoOkta logo

Identity and access management

ADP GlobalView to Okta integration: Okta users from all countries in GlobalView

With an integration between ADP GlobalView and Okta, every employee from GlobalView becomes an Okta user with country, legal entity, organisational unit, job title and manager, for every country GlobalView processes for you. After the end date in GlobalView Okta deactivates the user, without date of birth, address or pay reaching Okta.

What the integration does

Organisations that run payroll in several countries through ADP GlobalView and use Okta as central access get new colleagues per country through email or a ticket. Okta then lags behind differently per country, and an employee who moves to another entity sometimes gets a second user.

  1. GlobalView gets a communication user and the ADP Consumer Application Registry the scope for the Worker Demographics API; Okta gets a custom HR source with a service app.
  2. KoppelHet reads the employees per country in pages of a hundred and first collects all countries.
  3. KoppelHet determines the primary assignment per employee and compares with the previous state.
  4. All changes go into one Okta session: users, groups and memberships, then the managers.
  5. After the end date KoppelHet delivers the employee as a deletion, and Okta deactivates the user.
ADP GlobalView → KoppelHet → OktaSOURCEADP GlobalViewTARGETOktaKoppelHetmapping · logging · monitoringADP GlobalView → KoppelHet → OktaSOURCEADP GlobalViewTARGETOktaKoppelHetmapping · logging · monitoring
Out: Okta user from a custom HR source, with ADP ID as key · Groups per country, entity and organisational unit · Group for managers · Deactivating after the end date

What to watch for with ADP GlobalView and Okta

  • The Okta catalogue lists an app for ADP GlobalView, with a generic list of features and 2015 as its last update. That page does not say the app reads employees through GlobalView's Worker API. KoppelHet therefore uses Okta's custom HR source, with a known and verifiable flow.
  • GlobalView only returns a list of employees for one country per request, and Okta rejects a new session within five minutes of starting the previous one. KoppelHet first fetches all countries and then delivers the changes in one session, so a second country does not have to wait for the first.
  • Okta uses the external ID to decide whether a user already exists, and that ID must not change. On a move to another entity or a rehire GlobalView issues a new employee number. KoppelHet therefore uses the ADP ID as external key and the employee number only as a regular field.
  • In GlobalView an employee has a list of assignments, with a flag for the primary one. Okta only accepts plain text from a custom HR source. KoppelHet fills country, entity, unit and job title from the primary assignment, and puts someone who works in two countries in the groups of both countries.
  • Besides its own number, GlobalView stores a global ID from the HR system of record. If an organisation also has an HR system feeding Okta next to GlobalView, KoppelHet uses that ID to recognise the same person, so nobody gets two Okta users.
  • GlobalView marks per assignment whether someone holds a management position, and refers to the manager by their ADP ID. KoppelHet maintains a managers group in Okta and only fills managerId after all countries are in, so a manager in another country is found too.
  • Besides the full Worker API, ADP offers a Worker Demographics API without sensitive personal data. KoppelHet only requests that scope, so date of birth, address and pay from GlobalView do not reach KoppelHet or 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

What does the ADP GlobalView app in the Okta catalogue do?

The catalogue shows a generic list of features. Check in the Okta admin what the app does for you; for sign-in it can remain alongside this integration.

What if a country is added?

KoppelHet reports a country that GlobalView processes but that is not yet in the integration. Adding it is a setting, not a new project.

Technical details for IT

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

  • ADP GlobalView through GET /hr/v2/worker-demographics with header ADP-Context-ExpressionID country='XX' (one country per list request), OData $top (at most 100), $skip, $filter, $select and $count; scope …/workerDemographic.read in the Consumer Application Registry; in GlobalView a Communication User (Practitioner). Fields include associateOID, workerID (global ID from the HR system of record), legalName, businessCommunication, workAssignments (primaryIndicator, payrollFileNumber, legalEntityID, homeOrganizationalUnits, jobTitle, managementPositionIndicator, reportsTo, hireDate, terminationDate).
  • Okta through the Identity Sources API (Custom Identity Source) with a service app: one session at a time per source, no new session within five minutes of triggering, bulk upsert with externalId and text attributes only (200 per request, 50 requests per session), groups and memberships separately, bulk delete deactivates.

Which fields are transferred

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

Field in ADP GlobalViewField in OktaNotes
associateOIDexternalIdUnique across ADP products
payrollFileNumberemployeeNumber
legalName.givenName of nickNamefirstName
legalName.familyName1lastName
businessCommunication.emails (0010) of naamgevingsregelemail en login
assignedWorkLocations.address.countryCodecountryCode en groep per land
legalEntityIDorganization en groep
homeOrganizationalUnits (ORGEH)department en groep
jobTitletitle
reportsTo.associateOIDmanagerId
managementPositionIndicatorGroep leidinggevenden
terminationDateUit 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.