
HR to ITSM
Deel to Zendesk integration: end users per country and tasks for employees, EOR and contractors
With an integration between Deel and Zendesk, everyone working through Deel is an end user in your internal Zendesk, with country, department and type of working relationship, and IT gets an onboarding task as soon as someone enters onboarding in Deel. When the last contract in Deel ends, an offboarding task follows and KoppelHet suspends the user in Zendesk after the last working day.
What the integration does
Organisations that manage own employees, EOR employees and contractors through Deel and run their internal service desk in Zendesk often only hear about a new colleague abroad when that person sends a ticket. Agents then cannot see whether someone is a contractor or employed, and an expired contract leaves an active user behind.
- Deel reports a new or changed person; KoppelHet checks the signature and reads the person with a fixed field list.
- KoppelHet creates or updates the end user in Zendesk on the Deel ID and adds them to the organisation of their country.
- At the onboarding status KoppelHet creates a task with the start date as due date, assigned to the IT group.
- When the last running contract gets a last working day, an offboarding task follows on that date.
- After that day KoppelHet suspends the user; tickets and history remain.
What to watch for with Deel and Zendesk
- For own employees Deel sends separate notifications on creation and change, and those also contain the gross annual salary with currency. KoppelHet only uses the profile ID from such a notification, then fetches the person with a field list and stores the salary nowhere.
- Zendesk finds an existing user by email address or by external_id, and the latter must be unique within the account. KoppelHet puts the Deel worker_id there, so a contractor who gets a work address later remains the same user with their earlier tickets.
- People working through Deel are often in a country without an own office. KoppelHet creates an organisation per country in Zendesk and adds the user through a membership. KoppelHet leaves the organization_id field itself alone, because a new value there removes all other organisations of the user.
- Bulk creation of users is disabled in Zendesk by default and returns a 403 until Zendesk Support enables it. The initial load from Deel therefore runs per person, within the limit of about one call per second for that endpoint, and takes a few minutes for a few hundred people.
- Besides own employees Deel also has EOR employees, PEO and contractors. KoppelHet puts that type in a dropdown field on the user, so a trigger in Zendesk routes the task for a contractor with own equipment to a different group than the one for an EOR employee who needs a laptop.
- Tickets from a suspended user also end up among the suspended tickets in Zendesk. KoppelHet therefore only suspends after the last working day of the last running contract in Deel, so someone who switches from contractor to EOR can keep submitting tickets.
- Deel gives the time zone per person, Zendesk expects its own name such as Eastern Time (US & Canada). KoppelHet converts the time zone, so the due date of an onboarding task for a colleague on another continent falls on their own first working day.
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 Zendesk have a Deel integration?
We found none from Zendesk or from Deel; the Deel App Store has no Zendesk app. A partner offers an app that shows Deel data in the ticket, and there are no-code templates. KoppelHet creates users and tasks from Deel on the APIs of both sides.
Does salary data from Deel end up in Zendesk?
No. Only name, work email, country, department, type of working relationship and dates go to Zendesk. KoppelHet discards the salary in the notifications for own employees straight away.
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, department, country, timezone, hiring_type, hiring_status, employments with termination_last_day) and webhooks with x-deel-signature (HMAC-SHA256) and x-deel-hmac-label. For own employees the events Employee Created Direct and Employee Updated Direct (payload with profile ID, contract, team and compensation). Ten delivery attempts up to sixteen hours, then disabled; 200 within 30 seconds.
- Zendesk through the Users API (POST /api/v2/users/create_or_update on external_id or email, skip_verify_email, time_zone, user_fields, suspended; 5 calls per minute per user profile), the Organization Memberships API (POST /api/v2/organization_memberships) and the Tickets API with type task, due_at, requester_id and group_id. create_many only after Zendesk Support enables it.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Deel | Field in Zendesk | Notes |
|---|---|---|
worker_id | external_id | Unique per account, case insensitive |
preferred_first_name en last_name | name | |
work_email | email | With skip_verify_email |
country | organization_memberships (organisatie per land) | |
department.name | user_fields: afdeling | |
hiring_type | user_fields: soort arbeidsrelatie (dropdown) | |
timezone | time_zone | Converted to the Zendesk time zone name |
employments[].termination_last_day | Offboardingtaak (type task, due_at), daarna suspended |
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