
HR to ITSM
AFAS to Zendesk integration: employees from AFAS Profit in the internal service desk, with a task for hires and leavers
With an integration between AFAS Profit and Zendesk, every employee from AFAS appears as an end user in your internal Zendesk, in the organisation of their employer and with department and manager, and IT gets a task with a due date for every hire and every termination. Anyone who has emailed the service desk before does not get a second account but is linked to their AFAS data.
What the integration does
Organisations that use Zendesk for internal IT and facilities questions only see there who once sent an email, without department or employer from AFAS. Reporting per department or location is then impossible, and a new colleague only appears in Zendesk after their first question.
- HR completes the hiring workflow in AFAS.
- KoppelHet fetches the changed employees and first looks in Zendesk for an existing user with the same work email.
- The employee is added as an end user in the organisation of their employer, with unit, job and manager.
- Before the start date the IT group gets an onboarding task with what needs to be ready.
- On a termination an offboarding task is created, and after the last working day the user is suspended.
What to watch for with AFAS Profit and Zendesk
- Many employees are already in Zendesk because they emailed before. Zendesk finds an existing user by email address, so KoppelHet attaches the AFAS number to that user and does not create a second account. Anyone who emailed from a private address goes on a list for the service desk.
- Each employer in AFAS becomes an organisation in Zendesk. If the employers share one email domain, automatic assignment by domain would put everyone in the same organisation. KoppelHet therefore leaves the domain empty and assigns per employee.
- For the initial load of all employees, Zendesk must enable bulk import; it is off by default and requires a request from your administrator to Zendesk. We arrange that before go-live, otherwise the first run goes per employee and takes hours.
- AFAS starts a hire with a workflow that HR completes. The onboarding task only comes after that, and four weeks before the start date at the earliest, so a withdrawn hire does not create a task for IT.
- Organisational units in AFAS appear as a dropdown in Zendesk. Zendesk replaces that list as a whole on every change, so after a new unit in AFAS KoppelHet always sends all units, so existing users keep their department.
- A new employment in AFAS that follows straight on is not a departure. KoppelHet looks at the latest employment and then creates no offboarding task and does not suspend the user.
- A suspended user can no longer start normal tickets in Zendesk; their emails land in suspended tickets. The leaver's old tickets stay visible, because KoppelHet does not delete.
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 happens to employees already in Zendesk?
They are found by work email and completed with their AFAS data. Their earlier tickets stay with them.
Can we report per employer or department?
Yes. The employer is the organisation in Zendesk and the unit is in a user field, so both can be used in reports and rules.
Do we get duplicate tasks if a start date moves?
No. KoppelHet remembers per hire which task exists and changes the due date instead of creating a second task.
What about the GDPR?
You are the controller and KoppelHet is the processor, under a data processing agreement. Only data the service desk needs goes to Zendesk, and every action is in the audit logging.
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 app connector with GetConnectors for employees and organisational units, filtered on modification date. No BSN, salary or home address.
- Zendesk is written through the Users API with create_or_update (match on email or external_id, with skip_verify_email) and for the initial load create_or_update_many (at most 100 per call, background job, bulk import to be requested from Zendesk Support). Suspension with suspended.
- Organisations through create_or_update on external_id with domain_names empty; note that domain_names replaces the whole list on every update. Memberships through the Organization Memberships API. Dropdown options through the User Fields API (custom_field_options in full). Tasks through the Tickets API with type task, due_at, requester_id and group_id.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in AFAS Profit | Field in Zendesk | Notes |
|---|---|---|
Medewerker (EmId) | external_id | Fixed key to AFAS |
Roepnaam, voorvoegsel en achternaam | name | |
E-mail werk | email | Also the lookup key for users that already exist |
Werkgever | organization (via organization_memberships) | |
Organisatorische eenheid | user_fields: afdeling (dropdown) | |
Functie | user_fields: functie | |
Leidinggevende | user_fields: leidinggevende (lookup naar gebruiker) | |
Datum in dienst of datum uit dienst | Ticket type task met due_at, requester_id en group_id | |
Vrije velden (laptop, telefoon) | Beschrijving van de onboardingtaak | |
Datum uit dienst verstreken | suspended = true |
Related
ADP Workforce Now → AFAS Profit
ADP Workforce Now to AFAS integration: Dutch employees from the US HR system in AFAS Profit
AFAS Profit → 4PS Construct
AFAS to 4PS Construct integration: payroll journal per employer in the right 4PS company
AFAS Profit → Adobe Creative Cloud
AFAS to Adobe Creative Cloud integration: users and product profiles from AFAS Profit
AFAS Profit → AG5
AFAS to AG5 integration: employees, employments and absence from AFAS Profit in the skills matrix