Remote logoFreshservice logo

HR to ITSM

Remote to Freshservice integration: requesters and requests for EOR, PEO and global payroll

With an integration between Remote and Freshservice, everyone working through Remote becomes a requester in Freshservice, and KoppelHet submits an onboarding request as soon as the employment in Remote becomes active, with the employment model as a field so Freshservice selects the right onboarding kit. An offboarding request only follows once Remote has passed the offboarding to payroll and the end date is fixed.

What the integration does

Organisations that employ people through Remote in countries without an own entity and use Freshservice for IT often fill in the onboarding form themselves based on an email. Whether the new colleague works through EOR, PEO or global payroll is then missing, and the end date of a departure still changes while IT is already planning.

  1. KoppelHet loads all employments from Remote once and afterwards only makes changes based on webhooks.
  2. On a notification KoppelHet fetches the details of that one employment and creates or updates the requester.
  3. When the employment becomes active, KoppelHet submits the onboarding request on behalf of the manager, with the employment model.
  4. When Remote passes the offboarding to payroll, the offboarding request follows with the end date that is then fixed.
  5. After the end date KoppelHet deactivates the requester; tickets are kept.
Remote → KoppelHet → FreshserviceSOURCERemoteTARGETFreshserviceKoppelHetmapping · logging · monitoringRemote → KoppelHet → FreshserviceSOURCERemoteTARGETFreshserviceKoppelHetmapping · logging · monitoring
Out: Requester with Remote ID, work email and department · Location per country · Onboarding request with employment model · Offboarding request with confirmed end date

What to watch for with Remote and Freshservice

  • Freshservice selects the mandatory items of an onboarding kit based on the fields filled in. KoppelHet fills in the employment model from Remote, EOR, PEO or global payroll, so a global payroll employee who already gets hardware from a local entity receives a different kit than an EOR employee.
  • For an offboarding Remote first checks the notice rules of the country, so the proposed end date can still move. KoppelHet only submits the offboarding request in Freshservice on the notification that Remote has passed the offboarding to payroll, and withdraws it if Remote deletes the offboarding.
  • A confidential offboarding in Remote is only visible to the owner of the token or the integration, and the list leaves it out by default. KoppelHet does not request confidential offboardings, so no request appears in Freshservice before the employee has been told.
  • Remote sometimes only provides the work email later and reports that change with its own webhook. Freshservice can also create a requester without an email address if there is a phone number, but KoppelHet waits for the work email, so the new colleague is their own requester at their first login.
  • Remote only repeats a notification on a connection error, up to five times within about eighteen hours; an error code from the receiver counts as delivered. KoppelHet therefore always accepts a notification first, and retrieves a notification whose processing failed through Remote's delivery history.
  • Besides deactivation Freshservice also has forget, which permanently deletes the requester together with all their tickets. KoppelHet only uses deactivation, even when an employment in Remote gets the status deleted, so the history of laptop and accounts is kept.
  • Submitting a request on behalf of someone else is only allowed with admin privileges in Freshservice. KoppelHet sets the manager from Remote as initiator, so questions from the service desk about the workplace reach them and not the integration account.

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 Remote integration?

We found none from Freshworks or from Remote; only generic automation platforms. KoppelHet builds on the APIs of both sides.

What if the end date in Remote still changes?

While Remote is reviewing the offboarding, KoppelHet does not create a request yet. Only when the offboarding goes to payroll is the date fixed, and KoppelHet submits the request.

Technical details for IT

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

  • Remote through the Remote API: initial load with GET /v1/employments (page_size 100, light objects with status, employment_model and employment_type), details through GET /v1/employments/{employment_id}. Webhooks through POST /v1/webhook-callbacks on employment.status.updated, employment.details.updated, employment.work_email.updated, offboarding.submitted_to_payroll and offboarding.deleted; signed with X-Remote-Signature and X-Remote-Timestamp. GET /v1/webhook-events and POST /v1/webhook-events/replay only with an OAuth integration token (webhook.read, webhook.write).
  • Freshservice through the API v2: POST /api/v2/requesters (first_name required, plus primary_email, work or mobile number; department_ids, location_id, reporting_manager_id, time_zone, custom_fields), deactivation with DELETE /api/v2/requesters/{id} (not /forget). Requests through POST /api/v2/onboarding_requests and /api/v2/offboarding_requests with fields and initiator_id, only with admin privileges.

Which fields are transferred

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

Field in RemoteField in FreshserviceNotes
employment_idEigen aanvragersveld (custom_fields)Fixed key
full_namefirst_name en last_name
Werkadresprimary_email
job_titlejob_title
departmentdepartment_ids
Land van de employmentlocation_id en time_zone
employment_model en employment_typeVeld in het onboardingverzoekDetermines the onboarding kit
offboarding.submitted_to_payrollOffboardingverzoek, daarna deactiveren

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.