Loket logoIvanti logo

HR to ITSM

Loket Ivanti Neurons for ITSM integration: employees per employer and service requests on joining and leaving

With an integration between Loket and Ivanti Neurons for ITSM, every employee from Loket becomes an employee in Ivanti, with employer, department and job, and KoppelHet submits a service request on the right template for a new employment and before it ends. Loket itself sends no messages to other systems, so KoppelHet fetches the changes per employer and writes them through Ivanti's REST API.

What the integration does

Organisations that process payroll in Loket, often through an accounting firm, and use Ivanti as their service desk usually fill in the service request for a new colleague by hand. Data from Loket is then retyped, and a departure only comes in when the payroll bureau passes it on.

  1. KoppelHet fetches the employees and employments per employer in Loket that changed since the previous run.
  2. KoppelHet looks up the employee in Ivanti on employee number and creates or updates them.
  3. For a new employment KoppelHet submits the onboarding service request, with the employee's RecID and location.
  4. For an end of employment the offboarding service request follows, with the reason from Loket as a pick-list value.
  5. After the last day KoppelHet sets the employee in Ivanti to inactive.
Loket → KoppelHet → IvantiSOURCELoketTARGETIvantiKoppelHetmapping · logging · monitoringLoket → KoppelHet → IvantiSOURCELoketTARGETIvantiKoppelHetmapping · logging · monitoring
Out: Employee with name, business email and job · Employer and department · Employee location · Onboarding service request with start date · Offboarding service request with reason for leaving

What to watch for with Loket and Ivanti

  • A service request in Ivanti belongs to the RecID of an existing employee. KoppelHet therefore creates the employee from Loket first, reads back the RecID and only then submits the onboarding request.
  • Ivanti asks for the customer's location with a service request, from the employee's Employee Location field. KoppelHet fills that field with the employer from Loket, so each employer can get its own handling in Ivanti.
  • Ivanti wants the time offset from UTC in minutes, with the sign reversed, for a service request. For the Netherlands that is -60 in winter and -120 in summer; KoppelHet calculates it per start date, so a start on 1 April does not shift by an hour.
  • Loket records a reason at the end of an employment. In Ivanti that is a pick-list field, which needs the RecID of the chosen option next to the value; KoppelHet fetches the options from the validation list and maps each Loket reason to one option.
  • Loket numbers employees per employer, so number 1012 can occur at two employers. KoppelHet puts the employer code in front of the number in Ivanti and looks up the employee with a filter on exactly that value.
  • Loket has no messages to other systems, only email notifications to people. KoppelHet therefore asks per employer a few times a day what has changed.
  • An employee can first exist in Loket as a concept. KoppelHet only creates an employee and a service request in Ivanti once the concept is a real employee, so no laptop is waiting for a candidate who drops out.

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

Our payroll runs through an accounting firm. Does that work?

Yes. Someone with access to your employers in Loket gives the integration permission once.

Does salary data go to Ivanti?

No. Only name, business email, job, department, employer, the employment dates and the reason for leaving.

Technical details for IT

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

  • Loket through the Loket REST API with OAuth 2.0 (authorization code flow with refresh token), per employer. Employee with employeeNumber, firstName, prefix, lastName and businessEmailAddress; employment with start date, endDate and endOfEmploymentReason; concepts through /conceptemployees. Paging with pageNumber and pageSize.
  • Ivanti through the OData REST API (/api/odata/businessobject/employees with $filter, only eq, ne, lt, le, gt, ge, and and or) and POST /api/rest/ServiceRequest/new with subscriptionId, strUserId (RecID), strCustomerLocation, parameters par-{RecID} and par-{RecID}-recId for pick lists, and localOffset. Options through GET /api/rest/ServiceRequest/{Parameter_RecID}/ValidationList. Sign-in with a REST API key.

Which fields are transferred

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

Field in LoketField in IvantiNotes
Werkgever + employeeNumberPersoneelsnummer van de EmployeeWith employer code in front, unique across all employers
firstName, prefix, lastNameVoornaam en achternaam
businessEmailAddressPrimair e-mailadres
Functie (dienstverband)Functie
AfdelingAfdeling
WerkgeverEmployee Location → strCustomerLocation
Begindatum dienstverbandParameter begindatum (par-{RecID})
endOfEmploymentReasonKeuzeparameter (par-{RecID}-recId)

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.