
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.
- 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.
- KoppelHet reads the employees per country in pages of a hundred and first collects all countries.
- KoppelHet determines the primary assignment per employee and compares with the previous state.
- All changes go into one Okta session: users, groups and memberships, then the managers.
- After the end date KoppelHet delivers the employee as a deletion, and Okta deactivates the user.
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 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.
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 GlobalView | Field in Okta | Notes |
|---|---|---|
associateOID | externalId | Unique across ADP products |
payrollFileNumber | employeeNumber | |
legalName.givenName of nickName | firstName | |
legalName.familyName1 | lastName | |
businessCommunication.emails (0010) of naamgevingsregel | email en login | |
assignedWorkLocations.address.countryCode | countryCode en groep per land | |
legalEntityID | organization en groep | |
homeOrganizationalUnits (ORGEH) | department en groep | |
jobTitle | title | |
reportsTo.associateOID | managerId | |
managementPositionIndicator | Groep leidinggevenden | |
terminationDate | Uit de HR-bron (deactiveren) |
Related
ADP GlobalView → Active Directory
ADP GlobalView to Active Directory integration: domain accounts per country from outsourced payroll
ADP GlobalView → Microsoft Entra ID
ADP GlobalView to Entra ID integration: accounts per country from international payroll
ADP GlobalView → Google Workspace
ADP GlobalView to Google Workspace integration: Google accounts per country from payroll
ADP GlobalView → SailPoint
ADP GlobalView to SailPoint integration: identities from all GlobalView countries in SailPoint