
HR to ITSM
Deel to ManageEngine ServiceDesk Plus integration: requesters, approvers and requests per contract
With an integration between Deel and ManageEngine ServiceDesk Plus, everyone working through Deel becomes a requester in ServiceDesk Plus, with department and manager, and KoppelHet creates an onboarding request with the start date as scheduled start. When the last contract in Deel gets a last working day, an offboarding request follows with a task to disable the requester after that day.
What the integration does
Organisations that manage own employees, EOR employees and contractors through Deel and use ServiceDesk Plus for IT often add new people as requesters by hand, without a manager. Approvals for software then end up with the service desk itself, and a withdrawn resignation leaves an offboarding request open.
- Deel reports a new or changed person; KoppelHet checks the signature and fetches the person with a field list.
- KoppelHet creates or updates the requester on employee_id, with department, manager and approval right.
- At the onboarding status KoppelHet creates the onboarding request, with the start date in the person's time zone.
- On a last working day on the last running contract the offboarding request follows with a task to disable the requester.
- If the termination in Deel is cancelled, the offboarding request gets a note and the service desk closes it.
What to watch for with Deel and ManageEngine ServiceDesk Plus
- Deel returns the number of direct reports for every person. KoppelHet sets the flag that allows approving service requests in ServiceDesk Plus for everyone with at least one direct report, so a software request from a contractor goes to their manager and does not get stuck at the service desk.
- A department in Deel has an ID, a name and a parent department. ServiceDesk Plus expects an existing department by ID on a requester. KoppelHet keeps a translation from Deel department to ServiceDesk Plus department and reports a new department from Deel, instead of creating the requester without a department.
- The status of a requester is read-only in the ServiceDesk Plus v3 API, and deleting would remove the history. The offboarding request therefore gets a task for the service desk to disable the requester after the last working day of the last contract in Deel.
- Deel keeps the status of a pending termination per person, from requested to completed or cancelled. When a termination becomes cancelled, KoppelHet adds a note to the open offboarding request, so the service desk does not collect a laptop from someone who stays.
- ServiceDesk Plus expects the scheduled start of a request in milliseconds since 1970. KoppelHet converts the start date from Deel from midnight in the time zone Deel gives with the contract, so a colleague in Singapore is not scheduled a day too early or too late.
- A manager in ServiceDesk Plus refers to an existing user by ID. Deel returns the manager with their work email; KoppelHet uses it to look up the requester and first creates a manager who does not exist yet, even if that manager works through Deel as a contractor.
- If a delivery to KoppelHet fails, Deel retries with increasingly long pauses and disables the subscription after ten attempts. KoppelHet compares every person with a running contract with the requesters in ServiceDesk Plus each night, so a missed departure also gets an offboarding request.
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 ManageEngine have a Deel integration?
For ServiceDesk Plus we found none, and the Deel App Store has no ManageEngine app. KoppelHet builds on the APIs of both sides.
Does this also work with ServiceDesk Plus on-premise?
Yes, the v3 API exists for cloud and on-premise. On-premise the KoppelHet platform must be able to reach the server.
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, direct_manager, direct_reports_count, hiring_type, hiring_status, start_date, active_worker_termination_status, employments with timezone and termination_last_day). Webhooks with x-deel-signature (HMAC-SHA256); for own employees Employee Created Direct and Employee Updated Direct. Retries from 1 minute to 16 hours, disabled after the tenth attempt.
- ServiceDesk Plus through the v3 API: POST and PUT /api/v3/users (name required, employee_id, email_id, login_name, jobtitle, department by ID, reporting_to by ID, service_request_approver; status read-only), lookup through list_info with search_fields on email_id. Requests through POST /api/v3/requests with subject, requester, template, scheduled_start_time and due_by_time in milliseconds.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Deel | Field in ManageEngine ServiceDesk Plus | Notes |
|---|---|---|
worker_id | employee_id | Fixed key per person |
preferred_first_name en last_name | name | |
work_email | email_id en login_name | |
job_title | jobtitle | |
department (id, name, parent) | department (bestaande afdeling op id) | |
direct_manager.work_email | reporting_to | |
direct_reports_count | service_request_approver | True with one or more reports |
start_date en timezone | scheduled_start_time in milliseconden | |
employments[].termination_last_day | Offboardingrequest met due_by_time |
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