AFAS Profit logoGoogle Workspace logo

Identity and access management

Connect AFAS to Google Workspace: Google accounts from HR

With an integration between AFAS Profit and Google Workspace, every new employee in AFAS automatically gets a Google account, in the right unit and groups and with the licence that belongs to the job. On departure the account is suspended, so mail and Drive files are kept until they have been handed over.

What the integration does

Organisations with HR in AFAS that work in Gmail, Drive and Meet create every Google account by hand in the Admin console and pick the organisational unit by feel. People who leave often remain in shared drives and groups.

  1. HR enters the new employee in AFAS with start date, job and department.
  2. KoppelHet derives the email address from the agreed naming rules, including when someone with the same name already exists.
  3. Before the first working day the Google account is ready in the right organisational unit, with an initial password that must be changed at first sign-in.
  4. The employee joins the Google groups for their department and job and gets the licence that belongs to the job.
  5. On the end date the account is suspended and removed from the groups. Deletion follows after a period you choose.
AFAS Profit → KoppelHet → Google WorkspaceSOURCEAFAS ProfitTARGETGoogle WorkspaceKoppelHetmapping · logging · monitoringAFAS Profit → KoppelHet → Google WorkspaceSOURCEAFAS ProfitTARGETGoogle WorkspaceKoppelHetmapping · logging · monitoring
Out: Google account with email address · Organisational unit in Google · Job title, department and cost centre · Manager · Google groups and licence

What to watch for with AFAS Profit and Google Workspace

  • Google does not accept a new account without a password. KoppelHet sets a random initial password that must be changed at first sign-in, or leaves sign-in to single sign-on if you use it.
  • When someone changes their name usage in AFAS, for example after marriage, KoppelHet updates the email address. Google keeps the old address as an alias, so mail to the old name still arrives.
  • The department structure in AFAS is usually finer than you want in Google. We translate it into a few Google organisational units, because in Google those decide which apps and policies apply.
  • A deleted Google account can only be restored for twenty days. That is why we suspend first and only delete once the data has been handed over.
  • Google Workspace has no dedicated employee number field. KoppelHet stores the AFAS number as an external identifier, so the account stays tied to the same employee when a name changes.
  • Google handles licences separately from accounts. The job in AFAS decides which Google Workspace edition an employee gets.
  • In Google the integration only gets rights to users, groups and licences, and in AFAS only read access to the data Google needs.

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

Can Google groups be filled automatically?

Yes. Per department, job or location in AFAS we agree which groups someone belongs to. On a job change the integration updates the membership.

What happens to a leaver's Drive files?

The integration suspends the account, so the files remain. The administrator transfers them to a colleague in the Admin console before the account is deleted after the agreed period.

Does this also work for schools with Google Workspace for Education?

For staff yes, in the same way. Student accounts do not come from AFAS and are outside this integration.

We use both Microsoft 365 and Google. Is that possible?

Yes. The same AFAS data can go to Entra ID and Google Workspace. Per system we agree who gets which account and licence.

Technical details for IT

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

  • AFAS is read through a dedicated GetConnector under its own app connector, filtered on change date.
  • Google is written through the Admin SDK Directory API (users, groups) and the Enterprise License Manager API (product and SKU).
  • Access through a service account with domain-wide delegation, limited to the scopes for users, groups and licences.
  • New account with a random password and changePasswordAtNextLogin; on departure suspended = true.
  • The AFAS number goes into externalIds with type organization; organisational unit through orgUnitPath.

Which fields are transferred

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

Field in AFAS ProfitField in Google WorkspaceNotes
Medewerker (EmId)externalIds (type organization)Google has no dedicated employee number field
Roepnaamname.givenName
Voorvoegsel + Achternaamname.familyName
NaamgevingsregelprimaryEmail
Functieorganizations.title
Organisatorische eenheidorganizations.department
Kostenplaatsorganizations.costCenter
Organisatorische eenheid of werkgeverorgUnitPathThrough a lookup table to a limited number of Google OUs
Leidinggevenderelations (type manager)
Datum uit dienstsuspended = true

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.