Sage HR logoServiceNow logo

HR to ITSM

Sage HR ServiceNow integration: active and terminated employees compared, requests on start and departure

With an integration between Sage HR and ServiceNow, every active employee from Sage HR becomes a user in ServiceNow, with team, position and manager, and KoppelHet orders an onboarding request for a new employee and an offboarding request for a recorded termination date. Sage HR has no webhooks, so KoppelHet compares the lists of active and terminated employees a few times a day.

What the integration does

Organisations that use Sage HR for employee records and leave and ServiceNow for IT often already have onboarding and offboarding tasks for HR in Sage HR. The IT part, such as accounts and equipment, then still goes through an email to the service desk.

  1. KoppelHet fetches all active employees, with team history and position history, and then the list of terminated employees.
  2. The result is compared with the previous run; only differences go to ServiceNow.
  3. ServiceNow creates or updates the user on employee number, first the teams, then the people.
  4. A new employee produces an onboarding request with the start date from Sage HR.
  5. When someone appears in the list of terminated employees, an offboarding request follows; after the last working day the user is set to inactive.
Sage HR → KoppelHet → ServiceNowSOURCESage HRTARGETServiceNowKoppelHetmapping · logging · monitoringSage HR → KoppelHet → ServiceNowSOURCESage HRTARGETServiceNowKoppelHetmapping · logging · monitoring
Out: User with employee number and email · Team as department · Position and manager · Onboarding request with start date · Offboarding request with last working day and reason

What to watch for with Sage HR and ServiceNow

  • Sage HR has no webhooks and no filter on modification date. KoppelHet therefore fetches the whole list every run, fifty employees per page, and only sends the differences with the previous run to ServiceNow.
  • The regular employee list in Sage HR only contains active people. KoppelHet sees a departure in the separate list of terminated employees, which holds the last working day and the reason for leaving.
  • Sage HR gives the manager as an internal Sage HR id. KoppelHet looks up the employee number for it, and loads managers into ServiceNow before their team members, so the manager field immediately finds an existing user.
  • Sage HR has its own templates for onboarding and offboarding tasks, with a due date in days after the start or before the last working day. Those stay with HR; the request in ServiceNow only covers the IT part, so nobody gets the same task twice.
  • A returning employee is rehired in Sage HR on the same record, with a new start date. ServiceNow finds the inactive user again on employee number and reactivates it, and KoppelHet orders a new onboarding request.
  • Sage HR flags employees with irregular hours or part-year work. That flag is passed as a variable, so the ServiceNow flow can pick a smaller kit for seasonal workers.
  • With team history switched on in the request, KoppelHet also sees the start date of a team change. A transfer gives a different department and a change request in ServiceNow, without a departure and a new 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, 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

Why not immediately on every change?

Sage HR offers no webhooks. Four comparisons per working day are enough for IT preparation; more often is possible if the number of employees allows it.

Does this replace the onboarding tasks in Sage HR?

No. HR keeps its own tasks in Sage HR. The integration makes sure IT gets a request in ServiceNow.

Does personal data go to ServiceNow?

No. Sage HR also supplies address, date of birth and tax number, but the integration does not take them over.

Technical details for IT

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

  • Sage HR REST API on {subdomain}.sage.hr/api with the X-Auth-Token header. GET /employees (active only; team_history, employment_status_history and position_history as query parameters; meta.next_page, 50 per page), GET /terminated-employees (termination_date, termination.reason) and GET /teams. Rehire through POST /employees/{id}/rehire. No webhooks.
  • ServiceNow is written through the Import Set API (insertMultiple) with transform maps and coalesce on employee_number; with run_after first cmn_department, then sys_user. Requests through POST /api/sn_sc/servicecatalog/items/{sys_id}/order_now with variables and sysparm_requested_for.

Which fields are transferred

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

Field in Sage HRField in ServiceNowNotes
employee_numberemployee_numberCoalesce field
first_name, last_namefirst_name, last_name
emailemail
positiontitle
team / team_iddepartment (cmn_department)
reports_to_employee_idmanager (sys_user)Through the manager's employee number
employment_start_dateVariabele startdatum op het onboardingitem
termination_date en termination.reasonVariabelen op het offboardingitem
irregular_contract_workerVariabele soort medewerker

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.