Rippling logoQuinyx logo

Leave, absence and time

Rippling to Quinyx integration: workers in the right Quinyx unit, approved leave as absence

With an integration between Rippling and Quinyx, every worker with a work location appears in Quinyx automatically, in that location's unit and with a role that makes them schedulable. KoppelHet puts leave approved in Rippling into Quinyx as an absence, and leave cancelled in Rippling gives the shifts back to the employee.

What the integration does

Organisations that run HR and IT in Rippling and schedule stores, warehouses or contact centres in Quinyx create every new hire again in Quinyx. Leave approved or cancelled in Rippling has to be processed in the schedule by the planner.

  1. HR hires someone in Rippling; the worker gets a work location and a start date.
  2. KoppelHet creates the employee in Quinyx in that location's unit and gives them a role from the start date.
  3. The employee requests leave in Rippling and a manager approves it.
  4. KoppelHet puts the leave in Quinyx as a full or partial absence.
  5. If leave is cancelled or the worker is terminated, KoppelHet removes the absence or ends the role.
Rippling → KoppelHet → QuinyxSOURCERipplingTARGETQuinyxKoppelHetmapping · logging · monitoringRippling → KoppelHet → QuinyxSOURCERipplingTARGETQuinyxKoppelHetmapping · logging · monitoring
Out: Worker with employee number and start date · Unit based on the work location · Role in the unit · Approved leave, including parts of a day

What to watch for with Rippling and Quinyx

  • Webhooks from Rippling to an external URL are only available to partners in the App Shop, with a delay of about five minutes. Leave requests in Rippling also cannot be filtered on change date, but they can be sorted by it. KoppelHet therefore requests them sorted by last change and stops at the first request it already knows.
  • A leave request in Rippling can have a start and end time and gives the number of requested minutes. Quinyx has a partial absence with a percentage of the shift, from the start or from the end. KoppelHet converts the minutes to a percentage of that day's scheduled hours and chooses the direction from the start time.
  • Rippling has no endpoint to delete leave; a request is cancelled by changing its status. Quinyx only deletes an absence with shifts if you state whether those shifts go back to the employee. On a cancelled request KoppelHet deletes the absence and gives the shifts back.
  • Quinyx refuses an absence if the period has unapproved punches that would be removed, unless you deliberately skip that check. Rippling can approve leave afterwards, for days already clocked. KoppelHet does not skip the check and flags such a request to the planner, so no worked time is lost.
  • An employee in Quinyx can only be scheduled with a role in a unit, and that role has its own start and end date. Besides active, Rippling also has the status accepted, for someone who has yet to start. KoppelHet already creates the employee at accepted, with a role from the start date, so the planner can plan ahead.
  • Rippling distinguishes workers with a fixed work location from workers who work remotely. Quinyx places everyone in a home unit. KoppelHet only includes workers whose work location is linked to a Quinyx unit in the table; remote workers stay outside Quinyx.
  • The employee number in Rippling is a whole number per organisation. Quinyx can look up an employee directly by badge number. KoppelHet uses the Rippling number as badge number, so a change always reaches the same Quinyx employee, even when the name or email changes.

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

Do contractors go to Quinyx too?

Only if they have a work location scheduled in Quinyx. We set that per employment type.

Do worked hours go back to Rippling?

Not in this integration. Hours for payroll can be added later as an extension.

Technical details for IT

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

  • Rippling through the REST API with a token holding only the scopes needed (including leave-requests.read). Workers through List workers (filter updated_at, expand user; fields number, work_email, status INIT, HIRED, ACCEPTED, ACTIVE or TERMINATED, location type REMOTE or WORK with work_location_id, start_date, end_date, work_schedule). Leave through GET /leave-requests/ (filter on status and worker_id, order_by updated_at, limit up to 100; status PENDING, APPROVED, REJECTED or CANCELED; start_time, end_time, number_of_minutes_requested, leave_type_id).
  • Quinyx through the Employees API v3 (POST /hr/v3/employees with badgeNumber, email, personalInformation and employment with homeGroupId and employmentStartDate; GET /hr/v3/employees/badgeNumber:{number}) and /hr/v3/role-assignments with startDate and endDate. Absence through POST /v2/schedule/groups/{groupId}/absences and /absences/part-time (absenceRate, absenceRateDirection FROM_START, FROM_END or WHOLE_SHIFT, splitType), DELETE with reassignBackShifts. Errors LEAVE_PUNCH_EXISTS, MISSING_AGREEMENT and INACTIVE_EMPLOYEE go to the planner.

Which fields are transferred

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

Field in RipplingField in QuinyxNotes
numberbadgeNumberFixed key
user.name (given_name, family_name)personalInformation.firstName, lastName
work_emailemail
work_location_idemployment.homeGroupIdThrough a table from work locations to Quinyx units
start_dateemploymentStartDate en role-assignment startDate
end_date (TERMINATED)role-assignment endDate
Leave request (APPROVED), leave_type_idAbsence, absenceTypeIdThrough a table per leave type
start_time, end_time en number_of_minutes_requestedPart-time absence (absenceRate, absenceRateDirection)

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.