Deel logoZendesk logo

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.

  1. Deel reports a new or changed person; KoppelHet checks the signature and reads the person with a fixed field list.
  2. KoppelHet creates or updates the end user in Zendesk on the Deel ID and adds them to the organisation of their country.
  3. At the onboarding status KoppelHet creates a task with the start date as due date, assigned to the IT group.
  4. When the last running contract gets a last working day, an offboarding task follows on that date.
  5. After that day KoppelHet suspends the user; tickets and history remain.
Deel → KoppelHet → ZendeskSOURCEDeelTARGETZendeskKoppelHetmapping · logging · monitoringDeel → KoppelHet → ZendeskSOURCEDeelTARGETZendeskKoppelHetmapping · logging · monitoring
Out: End user with Deel ID, name and work email · Organisation per country · User field for the type of working relationship · Task for onboarding and offboarding

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, 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

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 DeelField in ZendeskNotes
worker_idexternal_idUnique per account, case insensitive
preferred_first_name en last_namename
work_emailemailWith skip_verify_email
countryorganization_memberships (organisatie per land)
department.nameuser_fields: afdeling
hiring_typeuser_fields: soort arbeidsrelatie (dropdown)
timezonetime_zoneConverted to the Zendesk time zone name
employments[].termination_last_dayOffboardingtaak (type task, due_at), daarna suspended

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.