

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.
- HR completes the hire workflow in AFAS.
- KoppelHet fetches the changed employees from AFAS, with department, location, job and manager.
- 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.
- When department or manager change, the requester's details follow.
- On a termination an offboarding request starts; after the last working day the requester is deactivated.
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 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
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 Profit | Field in Freshservice | Notes |
|---|---|---|
Medewerker (EmId) | external_id van de aanvrager | Fixed key |
Roepnaam en achternaam met voorvoegsel | first_name en last_name | |
E-mail werk | primary_email | |
Functie | job_title | |
Organisatorische eenheid | department | Through a lookup table |
Standplaats of werkplek | location | |
Leidinggevende | reporting_manager en initiator van het verzoek | |
Datum in dienst | Startdatum in het onboardingformulier | |
Einddatum contract | Offboardingverzoek en deactiveren | |
Indiensttreding of vertrek | Catalogusitem (display_id) of onboarding- en offboardingverzoek | Chosen per event at the start |
Zakelijk e-mailadres van de medewerker | email of requested_for van het verzoek | |
Datum in dienst of einddatum contract | custom_fields: startdatum of laatste werkdag | |
Functie, afdeling, locatie en leidinggevende | custom_fields van het item |
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