

HR to ITSM
Deel to Freshservice integration: requesters per country and requests for employees, EOR and contractors
With an integration between Deel and Freshservice, everyone working through Deel becomes a requester in Freshservice, with department, country and manager, and KoppelHet submits an onboarding request when someone enters onboarding in Deel and an offboarding request on the last working day of their last contract. The type of working relationship from Deel determines which onboarding kit Freshservice selects.
What the integration does
Organisations that hire people in several countries through Deel and use Freshservice for IT often only hear about a new contractor or EOR employee by email after signing. The onboarding form in Freshservice then does not know whether a laptop must go abroad, and a contract that ends does not reach the service desk by itself.
- Deel reports a new or changed person; KoppelHet checks the signature and fetches only the fields it needs.
- KoppelHet creates or updates the requester in Freshservice, with the location of the country.
- As soon as the status is onboarding, KoppelHet submits the onboarding request with the type of working relationship.
- When the last running contract gets a last working day, the offboarding request follows.
- After that day KoppelHet deactivates the requester.
What to watch for with Deel and Freshservice
- Deel has contractors, EOR employees, PEO and own employees among others. Freshservice selects the mandatory items of an onboarding request based on the fields filled in. KoppelHet fills in the type of working relationship, so a contractor with their own laptop only gets accounts and an EOR employee also gets hardware.
- Someone can have several contracts in Deel, each with its own last working day. KoppelHet only creates an offboarding request when the last running contract ends, so a contractor who switches to an EOR contract keeps their access.
- Deel returns the manager with their work address. KoppelHet uses a filter on that address to look up the requester in Freshservice and sets them as reporting manager and as initiator of the request, even when the manager works through Deel too.
- People through Deel often work in a country without an own office. KoppelHet creates a location per country in Freshservice with that country's time zone, so the service desk sees where the laptop must go and notifications arrive at local time.
- After ten failed deliveries Deel disables a webhook subscription, and it then has to be re-enabled by hand. KoppelHet monitors the subscription and compares all active people in Deel with Freshservice every day, so a disabled webhook does not leave a leaver behind.
- The person record in Deel also contains data such as a social security number. KoppelHet uses a field list to request only name, work address, department, country, manager, type and dates, so the rest never reaches the KoppelHet platform.
- A draft or an invitation not yet accepted already exists as a person in Deel. KoppelHet only creates a requester from the onboarding status onwards, so Freshservice does not fill up with people who never start.
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
Does Freshservice have a Deel integration?
We found none from Freshworks or from Deel; only generic templates on automation platforms. KoppelHet builds on the APIs of both sides.
Do contractors also get a requester?
Yes, everyone who uses IT. The type of working relationship comes along, so the request for a contractor only covers accounts if that has been agreed.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Deel through GET /people with fields (worker_id, preferred_first_name, last_name, work_email, job_title, department, country, direct_manager, hiring_type, hiring_status, employments with termination_last_day) and the filters hiring_statuses and hiring_types. Webhooks with x-deel-signature (HMAC-SHA256) and x-deel-hmac-label, 200 within 30 seconds, ten attempts and then disabled; duplicate delivery recognised on event_id.
- Freshservice through the API v2: requesters (create, filter, DELETE to deactivate), POST /api/v2/onboarding_requests and /api/v2/offboarding_requests with initiator_id and fields (for example cf_department, cf_location, cf_separation_type; the names depend on the form). initiator_id only with admin privileges.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Deel | Field in Freshservice | Notes |
|---|---|---|
worker_id | Eigen aanvragersveld (custom_fields) | Fixed key |
preferred_first_name en last_name | first_name en last_name | |
work_email | primary_email | |
job_title | job_title | |
department.name | department_ids | |
country | location_id en time_zone | |
direct_manager.work_email | reporting_manager_id en initiator_id | |
hiring_type | Veld in het onboardingverzoek | Determines the onboarding kit |
employments[].termination_last_day | Offboardingverzoek, daarna deactiveren |
Related
Ashby → Deel
Ashby to Deel integration: hires at the own entity as direct employee in Deel
Bullhorn → Deel
Bullhorn to Deel integration: first placement as a direct employee with a contract in Deel
Carerix → Deel
Carerix to Deel integration: successful placement as a person or contract in Deel
Deel → 4PS Construct
Deel to 4PS Construct integration: own employees of the construction entity in 4PS, with department and cost centre as dimensions