AFAS Profit logoFreshservice logo

HR to ITSM

AFAS to Freshservice integration: onboarding and offboarding requests from AFAS Profit

With an integration between AFAS Profit and Freshservice, a new employee in AFAS starts an onboarding request in Freshservice, submitted on behalf of the manager, and a termination produces an offboarding request. The employee is a requester in Freshservice with department and location, and is deactivated after leaving.

What the integration does

Organisations with HR in AFAS Profit and an IT service desk in Freshservice register new employees with IT by email, so phone or laptop is not ready on the first day. Leavers stay active as requesters and can still submit tickets.

  1. HR completes the hire workflow in AFAS.
  2. KoppelHet fetches the changed employees from AFAS, with department, location, job and manager.
  3. In Freshservice the employee is added as a requester, and an onboarding request starts on behalf of the manager, with your onboarding form fields filled in.
  4. When department or manager change, the requester's details follow.
  5. On a termination an offboarding request starts; after the last working day the requester is deactivated.
AFAS Profit → KoppelHet → FreshserviceSOURCEAFAS ProfitTARGETFreshserviceKoppelHetmapping · logging · monitoringAFAS Profit → KoppelHet → FreshserviceSOURCEAFAS ProfitTARGETFreshserviceKoppelHetmapping · logging · monitoring
Out: Requester with employee number, name and email · Department and location · Manager · Onboarding request with your form fields · Offboarding request and deactivation on departure

What to watch for with AFAS Profit and Freshservice

  • The onboarding request arrives four weeks before the start date at the earliest, and only once the hiring workflow in AFAS is complete. A hire three months out is therefore not already open in Freshservice today.
  • Free fields in AFAS, such as laptop or phone yes or no, fill fields in the onboarding form or catalog item. IT then sees without asking what needs to be ready.
  • KoppelHet remembers per employee which request has already been submitted. A new run or a changed department therefore gives no second onboarding request, but a note if the start date moves.
  • AFAS often starts a hire with a workflow that HR must complete. KoppelHet waits until that workflow is done, so IT only receives checked data and a withdrawn hire does not produce an onboarding request.
  • You set up the onboarding form in Freshservice yourselves. KoppelHet reads which fields the form has and fills them with data from AFAS; if a field is added, we agree whether it should come from AFAS.
  • Freshservice can submit a request on behalf of someone else. KoppelHet submits onboarding and offboarding on behalf of the manager from AFAS, so questions from IT reach the manager and not HR.
  • KoppelHet reads AFAS with a dedicated app connector that only contains the service desk data, such as name, job, department and manager. BSN, salary and home address are not in it.
  • A departed employee is deactivated in Freshservice, not deleted. Tickets and history are thus kept, and the requester can no longer submit new tickets.
  • Freshservice limits the number of calls per minute, depending on the plan. KoppelHet therefore spreads a large initial load over time, so other integrations on Freshservice do not stall.
  • Teams and locations are in AFAS as organisational unit or work location. Per unit we record the department and location in Freshservice, so the right IT person prepares the phone.

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 we also have tickets created for onboarding and offboarding?

Yes, that is the core of this integration. A hire results in an onboarding request, four weeks before the start date by default, and a departure in an offboarding request one week ahead. It can run through the Freshservice onboarding process or through a catalog item.

When does IT see a new colleague?

As soon as HR has completed the hire in AFAS. The onboarding request is then in Freshservice with the start date, often weeks before the first working day.

Can the manager add to the onboarding request?

Yes. The request is in the manager's name, who sees it in Freshservice and answers IT's questions.

What happens to tickets of departed employees?

They are kept. The requester is deactivated, not deleted.

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 Freshservice, 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.
  • Freshservice is written through the Freshservice API v2. Requesters (create, update, deactivate, with external_id), Employee Onboarding (read onboarding form fields, onboarding request with initiator_id), Employee Offboarding and Locations. Rate limits per minute per plan, 429 with Retry-After.
  • Service requests from the catalog through POST /api/v2/service_catalog/items/{display_id}/place_request with email or requested_for and custom_fields, if you prefer onboarding as a catalog item rather than the onboarding process. KoppelHet reads the catalog items through the service catalog API. A note on an open request through Create a Note. KoppelHet stores per employee which request has already been submitted.

Which fields are transferred

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

Field in AFAS ProfitField in FreshserviceNotes
Medewerker (EmId)external_id van de aanvragerFixed key
Roepnaam en achternaam met voorvoegselfirst_name en last_name
E-mail werkprimary_email
Functiejob_title
Organisatorische eenheiddepartmentThrough a lookup table
Standplaats of werkpleklocation
Leidinggevendereporting_manager en initiator van het verzoek
Datum in dienstStartdatum in het onboardingformulier
Einddatum contractOffboardingverzoek en deactiveren
Indiensttreding of vertrekCatalogusitem (display_id) of onboarding- en offboardingverzoekChosen per event at the start
Zakelijk e-mailadres van de medewerkeremail of requested_for van het verzoek
Datum in dienst of einddatum contractcustom_fields: startdatum of laatste werkdag
Functie, afdeling, locatie en leidinggevendecustom_fields van het item

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.