AFAS Profit logoZoom Workplace logo

Accounts in applications

AFAS to Zoom integration: Zoom users and licence type from AFAS Profit

With an integration between AFAS Profit and Zoom Workplace, every new employee from AFAS gets a Zoom user with the licence type that fits their job, with department, cost centre and manager in the profile. After the end date in AFAS the user is deactivated, their recordings and meetings go to a designated colleague and the licence is freed.

What the integration does

Organisations that manage employees in AFAS and use Zoom for meetings or calling assign licences by hand. After a departure a paid licence often stays occupied, and nobody knows which cost centre it belongs to any more.

  1. HR enters a new employee in AFAS, with work email, job and organisational unit.
  2. KoppelHet determines through a table per job whether the employee gets a paid licence.
  3. The user is created in Zoom with profile, licence type and the group of their unit.
  4. When the job changes in AFAS, KoppelHet adjusts the licence type and group.
  5. After the end date KoppelHet deactivates the user and assigns their data to the designated colleague.
AFAS Profit → KoppelHet → Zoom WorkplaceSOURCEAFAS ProfitTARGETZoom WorkplaceKoppelHetmapping · logging · monitoringAFAS Profit → KoppelHet → Zoom WorkplaceSOURCEAFAS ProfitTARGETZoom WorkplaceKoppelHetmapping · logging · monitoring
Out: Zoom user with name, work email and status · Licence type per job (Basic or Licensed) · Department, cost centre, employee number and manager · Groups per organisational unit

What to watch for with AFAS Profit and Zoom Workplace

  • Zoom only allows provisioning through SCIM on a Business or Education account with an approved vanity URL and single sign-on enabled. Before the start we check those three conditions, because without single sign-on KoppelHet cannot put users in Zoom.
  • Zoom has licence types such as Basic and Licensed. In AFAS the job determines who needs a paid licence. A table per job or per organisational unit sets the licence type, so the whole organisation does not automatically get a paid licence.
  • If no paid licences are left, Zoom refuses a new Licensed user. KoppelHet then creates the user as Basic and reports the shortage to the administrator, so a new employee can still join meetings.
  • Zoom refuses an email address whose domain does not belong to the account. AFAS employees with a work email on another domain, for example of a subsidiary, therefore only go through once that domain has been added in Zoom; until then the administrator gets an alert.
  • On deactivation or deletion Zoom can transfer the leaver's data to a designated user. KoppelHet sets the manager from AFAS as recipient, so recordings and scheduled meetings are not lost when someone leaves.
  • Zoom has a profile field for cost centre and one for organisation. KoppelHet fills them with the cost centre and employer from AFAS, so licence costs per cost centre and per employer can be taken from Zoom.
  • Zoom does not allow admins and Zoom Rooms to be deactivated through SCIM. When an admin leaves in AFAS, KoppelHet reports it to the Zoom owner, who first removes the admin role from the account.

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

We already connect Zoom through Entra ID or Okta. Do we need this?

Usually not. Then let AFAS fill the accounts and groups in Entra ID or Okta and keep that as the source for Zoom. Only if licence type or cost centre do not come along that way can a supplement make sense.

Is a Zoom phone number included as well?

Not in this first step. Assigning a calling plan and writing the number back to AFAS can be added later as an extension.

What happens to external participants?

They need no user in your Zoom account and stay outside the integration.

Technical details for IT

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

  • AFAS is read with a dedicated GetConnector under its own app connector (employees with preferred name, job, organisational unit, cost centre, employer, manager, work email and end date), filtered on modification date.
  • To Zoom through the SCIM2 API at https://api.zoom.us/scim2 (/Users and /Groups), with a server-to-server OAuth app with scope scim2 and Accept application/scim+json. userType (Basic, Licensed), title, enterprise extension with department, costCenter, employeeNumber, organization and manager (email). Deactivate with PATCH active = false; error codes 409 Cannot add paid users and 409 for a domain that does not belong to the account.

Which fields are transferred

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

Field in AFAS ProfitField in Zoom WorkplaceNotes
E-mail werkemails (primary)Domain must belong to the Zoom account
Roepnaamname.givenName
Voorvoegsel + Achternaamname.familyName
Functietitle en userTypeLicence type through a table per job
Organisatorische eenheiddepartment (enterprise-extensie) en groep
KostenplaatscostCenter (enterprise-extensie)
MedewerkernummeremployeeNumber (enterprise-extensie)
Werkgeverorganization (enterprise-extensie)
E-mail werk van de leidinggevendemanager (enterprise-extensie)
Datum uit dienstactive = false, met transferee

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.