AFAS Profit logoZendesk logo

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.

  1. HR completes the hiring workflow in AFAS.
  2. KoppelHet fetches the changed employees and first looks in Zendesk for an existing user with the same work email.
  3. The employee is added as an end user in the organisation of their employer, with unit, job and manager.
  4. Before the start date the IT group gets an onboarding task with what needs to be ready.
  5. On a termination an offboarding task is created, and after the last working day the user is suspended.
AFAS Profit → KoppelHet → ZendeskSOURCEAFAS ProfitTARGETZendeskKoppelHetmapping · logging · monitoringAFAS Profit → KoppelHet → ZendeskSOURCEAFAS ProfitTARGETZendeskKoppelHetmapping · logging · monitoring
Out: End user with employee number, name and work email · Organisation per employer in AFAS · Organisational unit and job in custom user fields · Task for onboarding and offboarding · Suspension on departure

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, 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

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 ProfitField in ZendeskNotes
Medewerker (EmId)external_idFixed key to AFAS
Roepnaam, voorvoegsel en achternaamname
E-mail werkemailAlso the lookup key for users that already exist
Werkgeverorganization (via organization_memberships)
Organisatorische eenheiduser_fields: afdeling (dropdown)
Functieuser_fields: functie
Leidinggevendeuser_fields: leidinggevende (lookup naar gebruiker)
Datum in dienst of datum uit dienstTicket type task met due_at, requester_id en group_id
Vrije velden (laptop, telefoon)Beschrijving van de onboardingtaak
Datum uit dienst verstrekensuspended = 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.