FaFreshservice logo

HR to ITSM

Factorial to Freshservice integration: requesters per entity and requests on joining and leaving

With an integration between Factorial and Freshservice, every new employee with a contract in Factorial becomes a requester in Freshservice, with location and manager, and KoppelHet submits an onboarding request on behalf of that manager. When HR marks a departure in Factorial, an offboarding request follows, and if HR reverts it, KoppelHet reopens nothing but adds a note to the request.

What the integration does

Organisations that use Factorial as their HR system and Freshservice for IT often receive a new colleague or a departure through a separate form or email. The service desk then lacks location and manager, and a departure that HR later reverts still leads to a returned laptop.

  1. Factorial reports a new employee with a contract, a change or a termination.
  2. KoppelHet only takes the needed fields from the notification and creates or updates the requester.
  3. For a new employee KoppelHet submits the onboarding request, with the manager as initiator.
  4. On a termination the offboarding request follows with the end date; after that date the requester is deactivated.
  5. If HR reverts the termination, the open request gets a note and the requester stays active.
Factorial → KoppelHet → FreshserviceSOURCEFactorialFactorialTARGETFreshserviceKoppelHetmapping · logging · monitoringFactorial → KoppelHet → FreshserviceSOURCEFactorialFactorialTARGETFreshserviceKoppelHetmapping · logging · monitoring
Out: Requester with Factorial ID, name and work email · Location per Factorial location · Manager as reporting manager and initiator · Onboarding and offboarding request

What to watch for with Factorial and Freshservice

  • Factorial sends the whole employee record in a notification, with bank account number, social security number and private email. KoppelHet takes name, work email, location, entity, manager and the dates from it and discards the rest immediately, so none of that data ends up in a Freshservice field.
  • On a termination the Factorial record also contains the reason and free-text observations from HR. That text never goes into the offboarding request in Freshservice, because agents and the manager as initiator can read the request.
  • Besides the manager Factorial has a separate time-off approver. KoppelHet only sets the manager as reporting manager and initiator in Freshservice, so questions about the workplace do not end up with the time-off approver.
  • Factorial tries a notification up to twenty times within 48 hours and then disables the subscription; you then re-enable the same subscription rather than creating a new one. KoppelHet does that and then compares all employees with the requesters in Freshservice, so a departure from that period still gets a request.
  • A Factorial notification has no own identifier per delivery, so a repeat arrives as new. KoppelHet remembers per employee whether an onboarding or offboarding request has already been submitted in Freshservice, so a repeated notification does not produce a second request.
  • When HR reverts a termination in Factorial, Factorial sends its own notification. If the requester in Freshservice was already deactivated, KoppelHet makes them active again with the reactivate function, so their earlier tickets and assigned assets stay with them.
  • A subscription in Factorial only receives employees that the subscription's token may see. KoppelHet creates the subscription with a company token, so HR and management themselves also become requesters in Freshservice.

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 does the service desk see of a departure?

Name, end date, location and manager. The reason and HR's observations stay in Factorial.

Technical details for IT

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

  • Factorial through the Factorial REST API with a company token or API key. Webhook subscriptions on employees/employee/create_with_contract, employees/employee/update, employees/employee/terminate and employees/employee/unterminate; the content is the employee record (among others id, email, login_email, legal_entity_id, location_id, manager_id, timeoff_manager_id, is_terminating, terminated_on, termination_reason, termination_observations). 2xx expected; up to 20 attempts within 48 hours, then disabled.
  • Freshservice through the API v2: POST /api/v2/requesters (first_name, primary_email, location_id, reporting_manager_id, custom_fields), DELETE /api/v2/requesters/{id} to deactivate and PUT /api/v2/requesters/{id}/reactivate. Requests through POST /api/v2/onboarding_requests and /api/v2/offboarding_requests with fields and initiator_id (admin privileges only).

Which fields are transferred

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

Field in FactorialField in FreshserviceNotes
idEigen aanvragersveld (custom_fields)Fixed key
preferred_name of first_name, en last_namefirst_name en last_name
Werkadres (email of login_email)primary_email
location_idlocation_id
legal_entity_idVeld in het onboardingverzoek: entiteit
manager_idreporting_manager_id en initiator_idNot the time-off approver
is_terminating en terminated_onOffboardingverzoek, daarna deactiveren

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.