
Recruitment to HR
Greenhouse to Deel integration: from accepted offer to EOR, contractor or own-entity contract in Deel
With an integration between Greenhouse and Deel, an accepted offer in Greenhouse becomes a contract in Deel, as an EOR employee, contractor or employee of your own entity, with job title, country, start date and salary from the offer. Deel and Greenhouse have their own integration where the candidate waits in Deel and someone starts the contract flow; KoppelHet comes in when the contract must be created without that click or when hires for your own entities also run through Deel.
What the integration does
Organisations that recruit in Greenhouse and hire international staff through Deel often use the integration between the two. After the hire someone opens the list of Greenhouse candidates in Deel and completes the contract flow, while hires for the own entities fall outside that integration.
- The recruiter chooses the contract type in the offer in Greenhouse and marks the candidate as hired after acceptance.
- KoppelHet reads candidate, job, office and offer from Greenhouse's notification.
- Team and seniority are translated to the lists in Deel; if something is missing, the hire goes to HR.
- KoppelHet creates the right type of contract or the employee in Deel.
- KoppelHet stores which Deel contract belongs to which application.
What to watch for with Greenhouse and Deel
- According to the Greenhouse article, the Deel integration runs on a Harvest API key with read rights only. Greenhouse removed Harvest API v1 and v2 on 31 August 2026, and the article dates from 2022. KoppelHet works with Harvest v3 and OAuth, and we advise checking with Deel whether their integration has been converted.
- With the integration you choose a type of Deel contract in Greenhouse with the select field Hire remotely using Deel?, with options for fixed, milestone, pay as you go and EOR. An employee of your own entity is not among them. KoppelHet adds that choice and creates such a hire as an own employee in Deel.
- After the hire, with the integration the candidate waits in Deel under Integrations, Greenhouse, Candidates, and someone starts the contract flow there. KoppelHet creates the contract directly through the API, so no list of waiting candidates builds up.
- An EOR contract in Deel requires nationality, seniority, team, a description of the work and whether a work permit is needed, among other things. A Greenhouse offer does not have those fields by default. KoppelHet adds them as custom fields to the offer, so HR already fills them in when drafting.
- Deel does not link a new contract back to the application, and there is no API for that either. KoppelHet keeps track itself of which contract belongs to which Greenhouse application, so the webhook's retries do not create a second contract.
- A currency field in Greenhouse stores amount and currency separately. KoppelHet carries both over into the compensation of the Deel contract, so a salary in British pounds does not end up in a contract as euros.
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 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.
Frequently asked questions
Deel already has a Greenhouse integration. Why KoppelHet?
For EOR and contractors with a manual start that integration is often enough. KoppelHet is for a fully automatic step, or when own employees also go through Deel.
Who signs the contract?
That stays in Deel. KoppelHet creates the contract; Deel then handles signing and status.
What about audit logging, GDPR and our integration platform?
You are the controller and KoppelHet is the processor, under a data processing agreement. Only hired candidates go to Deel, and every action is in the audit logging. An existing integration platform is left alone.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- According to Greenhouse, the Deel integration uses a Harvest API key (partner Deel, GET on Applications, Candidates, Offers, Jobs and Custom Fields), a custom select field Hire remotely using Deel? on the offer and a webhook on Offer Created, Offer Updated and Offer Deleted with Deel's URL and secret. Candidates appear under Integrations > Greenhouse > Candidates.
- KoppelHet reads Greenhouse through the hire_candidate webhook (on Accept Offer; candidate with email_addresses, jobs[] with departments and offices, offer with starts_at and custom_fields; currency fields with amount and unit; HMAC-SHA256 in the Signature header; up to seven attempts) and Harvest v3 with OAuth 2.0.
- To Deel per worker type - EOR through POST /eor, contractor through POST /contracts, own employee through POST /people (scope contracts:write). Lookups through GET /teams and GET /lookups/seniorities; contract status CREATED, PENDING_SIGNATURE and ACTIVE.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Greenhouse | Field in Deel | Notes |
|---|---|---|
first_name en last_name | employee.first_name en last_name | |
email_addresses (personal) | employee.email | |
Nationaliteit (eigen veld in het aanbod) | employee.nationality | |
jobs[].name | job_title | |
Seniority (eigen veld in het aanbod) | seniority.id | Through lookups/seniorities |
jobs[].departments | client.team.id | |
jobs[].offices en offer.starts_at | employment.country en start_date | |
Valutaveld in het aanbod (amount, unit) | compensation_details salary en currency | |
Soort contract (eigen keuzeveld) | POST /eor, /contracts of /people |
Related
Greenhouse → ADP Workforce Now
Greenhouse to ADP Workforce Now integration: accepted offer as an in-progress hire in ADP
Greenhouse → AFAS Profit
Greenhouse to AFAS integration: an accepted offer starts onboarding in AFAS Profit
Greenhouse → BambooHR
Greenhouse to BambooHR integration: hired candidates in BambooHR automatically and completely
Greenhouse → Dayforce
Greenhouse to Dayforce integration: accepted offer as a validated new employee in Dayforce