Rippling logoFreshservice logo

HR to ITSM

Rippling to Freshservice integration: requesters from Rippling and onboarding and offboarding requests

With an integration between Rippling and Freshservice, every worker from Rippling becomes a requester in Freshservice, with department, location and manager, and KoppelHet submits an onboarding or offboarding request in Freshservice for every hire or departure in Rippling. If a candidate declines or the employer rescinds the offer, the open onboarding request gets a note instead of an offboarding being started.

What the integration does

Organisations that use Rippling for HR and Freshservice for the IT service desk often start onboarding in Freshservice with a form the manager fills in. The data is then entered twice, and an offer withdrawn after signing leaves an open request with an ordered laptop behind.

  1. KoppelHet reads the worker changes in Rippling since the previous run, by the moment they were recorded.
  2. The requester is created or updated, with department, location and manager.
  3. A hire produces an onboarding request with the fields the Freshservice form asks for.
  4. A withdrawn or declined offer gives a note on the open onboarding request.
  5. A departure produces an offboarding request; after the end date the requester is deactivated.
Rippling → KoppelHet → FreshserviceSOURCERipplingTARGETFreshserviceKoppelHetmapping · logging · monitoringRippling → KoppelHet → FreshserviceSOURCERipplingTARGETFreshserviceKoppelHetmapping · logging · monitoring
Out: Requester with work email, department, location, manager and time zone · Onboarding request with the fields of the onboarding form · Offboarding request with end date and type of departure · Deactivated requester after departure

What to watch for with Rippling and Freshservice

  • Rippling advises fetching changes by the moment they were recorded, not by the effective date. A hire HR enters today for a start in six weeks therefore arrives straight away, and the onboarding request in Freshservice has the full delivery time for hardware.
  • Rippling records a type for a termination, with separate values for a declined offer, a rescinded offer and a candidate who withdraws after accepting. KoppelHet then starts no offboarding, but puts a note on the open onboarding request so IT can stop the order.
  • A worker in Rippling works at an office or remotely. For a remote worker KoppelHet fills in no location in Freshservice, but states in the onboarding form that the laptop must go to the home address, without sending that address itself.
  • Fields the Rippling token has no read permission for arrive as redacted, without old and new value. KoppelHet does not clear such a field in Freshservice, but reports that a permission is missing.
  • Rippling can manage devices and app accounts itself. At the start KoppelHet agrees which tasks stay in the Freshservice request, so IT does not hand out a laptop that Rippling has already ordered.
  • Freshservice has a lower limit for listing all requesters than for other calls. The nightly comparison reads Rippling in pages of a hundred workers and searches Freshservice specifically by work email, instead of going through the whole requester list.
  • Submitting an onboarding request on someone else's behalf is only allowed with admin rights in Freshservice. KoppelHet uses a dedicated admin account and submits the request on behalf of the manager from Rippling, so approval and questions reach them.

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 Freshservice have a Rippling connector?

No. A request to build one has been open in the Freshworks community since January 2026. KoppelHet uses the APIs of both sides.

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 on rest.ripplingapis.com with a token with read scopes (worker-changes.read, workers.read). GET /worker-changes/ filtered on applied_on, with event_type HIRE, CHANGE, SCHEDULED_CHANGE, OFFBOARD, SCHEDULED_OFFBOARD, UNDO and EFFECTIVE_DATE_AMENDMENT and per change display_type (VISIBLE or REDACTED). GET /workers (limit 1 to 100) with expand on user, manager and department; status, location (REMOTE or WORK), employment_type and termination_details.type. The Worker Changes API needs the API SKU and an entitlement through the Technical Account Manager.
  • Freshservice through the API v2: POST and PUT /api/v2/requesters (primary_email, department_ids, location_id, reporting_manager_id, time_zone, custom_fields), searching with a filter query of up to 512 characters, deactivating with DELETE /api/v2/requesters/{id}. Requests through POST /api/v2/onboarding_requests and /api/v2/offboarding_requests with initiator_id and fields. Limits per plan; List All Requesters has its own, lower limit.

Which fields are transferred

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

Field in RipplingField in FreshserviceNotes
work_emailprimary_email
user.namefirst_name en last_name
numberemployee_id
departmentdepartment_ids
location (WORK met work_location_id)location_idREMOTE gets no location
managerreporting_manager_id
employment_typeVeld in het onboardingformulier
end_date en termination_details.typeVelden in het offboardingformulier

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.