

Identity and access management
HR2day to Google Workspace integration: one Google account per employee, also with several employment relationships
With an integration between HR2day and Google Workspace, every new employee in HR2day automatically gets a Google account, in the organisational unit and groups of their department and employer. Someone with several employment relationships keeps one account that carries all of them, and after the last relationship ends the account is suspended.
What the integration does
Anyone using HR2day for staff and payroll and Google Workspace as their workplace sometimes ends up with two accounts for employees with several employment relationships, such as a teacher with a permanent appointment at one school and an extension at another. Employees on a series of short contracts are not yet in Google on their first day.
- HR records an employee and employment relationship in HR2day, with department, job and start date.
- KoppelHet picks up the change and first checks in Google by employee number whether an account already exists.
- If there is no account, KoppelHet creates it with the work address from the agreed naming rule, in the organisational unit of the main relationship.
- A second employment relationship is added to the same account, and the employee also joins the groups of that second school or department.
- After the end date of the last relationship KoppelHet suspends the account and moves it to an organisational unit without a licence.
What to watch for with HR2day and Google Workspace
- An employee in HR2day can have several employment relationships, and Google can record several organisations on one account, one of which is primary. KoppelHet puts each relationship on the account as an organisation and marks the main one, so there is one account while every school or department stays visible.
- Since 2024 HR2day can temporarily spread an employee's costs over other cost centres, separate from the appointment. Google holds only one cost centre per organisation. KoppelHet takes the cost centre of the appointment, so a temporary recharge does not cause a group change or move in Google.
- HR2day records the size of an employment relationship as a part-time factor. Google has its own field for it, expressed in thousandths of a percent. KoppelHet converts the factor, so you can for example create groups for small contracts in Google.
- With Google Workspace for Education licences can be assigned automatically per organisational unit. According to its own documentation Google also assigns that licence to suspended accounts. KoppelHet therefore moves a leaver to a unit without automatic licensing when suspending.
- Childcare workers and supply staff often get one short employment relationship after another in HR2day. If less than the agreed period lies in between, the Google account stays suspended and reopens with the next relationship, with the same mail and files.
- A foundation with childcare and education often has several employers in HR2day. The employer decides the organisational unit in Google and, if you use it, the email domain, so policies for teachers and for childcare can stay separate.
- Google itself advises against using the email address as a persistent key, because it changes when a name changes. KoppelHet therefore links the account to the HR2day employee number, which stays the same with a new employment relationship.
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
Does a teacher at two schools get two Google accounts?
No. It stays one account. The main relationship decides the place in Google, and the employee joins the groups of both schools.
Can the integration see pay or absence in HR2day?
No. The integration user may only read employees, employment relationships and departments. What Google does not need, the integration does not request.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- HR2day is read through the Salesforce REST API on the HR2day objects for employee, employment relationship and department, filtered on modification date, through a connected app with a read-only integration user.
- Google is written through the Admin SDK Directory API with a service account and domain-wide delegation. Fields include externalIds (type organization), name.givenName and name.familyName (up to 60 characters), primaryEmail, organizations (a list with at most one primary, with title, department, costCenter and fullTimeEquivalent in millipercent), relations (type manager), orgUnitPath and suspended. Too many create requests return HTTP 503; KoppelHet retries with exponential back-off.
- Automatic licence assignment for Google Workspace for Education applies per organisational unit and includes suspended users.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in HR2day | Field in Google Workspace | Notes |
|---|---|---|
Personeelsnummer | externalIds (type organization) | Fixed key; the email address is not |
Roepnaam | name.givenName | |
Achternaam volgens naamgebruik | name.familyName | |
Naamgevingsregel | primaryEmail | |
Arbeidsrelaties | organizations (één per arbeidsrelatie) | The main relationship gets primary = true |
Functie | organizations.title | |
Afdeling | organizations.department en orgUnitPath | |
Kostenplaats van de aanstelling | organizations.costCenter | |
Deeltijdfactor | organizations.fullTimeEquivalent | Converted to thousandths of a percent (100000 = 100%) |
Leidinggevende | relations (type manager) | |
Einddatum laatste arbeidsrelatie | suspended = true en orgUnitPath vertrokken |
Related
Exact Online → HR2day
Exact Online to HR2day integration: cost centres and cost units to HR2day, payroll journal per division
HR2day → Active Directory
HR2day to Active Directory integration: accounts per school or location from HR
HR2day → Microsoft Entra ID
HR2day to Entra ID integration: Microsoft 365 accounts for care, education and childcare
HR2day → Jira Service Management
HR2day to Jira Service Management integration: customers, organizations and onboarding requests per employment relationship