Greenhouse logoSympa logo

Recruitment to HR

Greenhouse to Sympa integration: hired candidate as a data card with contract row in Sympa

With an integration between Greenhouse and Sympa, a candidate who accepts an offer in Greenhouse becomes a new data card in Sympa, with a contract row for start date, job title, organisational unit and manager, and the offer letter as an attachment. KoppelHet only writes to the fields your Sympa administrator has put on the interface.

What the integration does

Organisations that use Sympa as HR system and recruit in Greenhouse often still create the data card and the contract by hand after every hire.

  1. Your Sympa administrator creates an interface with POST rights on the data card and the contract table; we supply the field list.
  2. The recruiter marks the candidate as hired in Greenhouse after acceptance.
  3. KoppelHet translates department, office and employment type to the values of the mapping table in Sympa.
  4. KoppelHet creates the data card, then the contract row with the offer letter.
  5. KoppelHet stores which data card belongs to which application.
Greenhouse → KoppelHet → SympaSOURCEGreenhouseTARGETSympaKoppelHetmapping · logging · monitoringGreenhouse → KoppelHet → SympaSOURCEGreenhouseTARGETSympaKoppelHetmapping · logging · monitoring
Out: Data card of the new employee · Contract row with start date and job title · Organisational unit from department and office · Manager from the hiring team · Offer letter as an attachment

What to watch for with Greenhouse and Sympa

  • KoppelHet brings a Greenhouse hire to Sympa through Sympa's Integration API.
  • A Sympa interface rejects a request with a field that is not on it. If HR later adds a custom field to the offer in Greenhouse, KoppelHet only sends it once the administrator has also put it on the interface, so a new question in Greenhouse does not make a hire fail.
  • Greenhouse gives a job a department and an office, Sympa wants one organisational unit from a fixed mapping table. KoppelHet determines the unit from the combination of both, so a department with teams in two countries lands in the right unit.
  • Sympa only links a manager through a unique field. KoppelHet takes the email address of the hiring manager from the Greenhouse job's hiring team and uses it to find the manager's data card.
  • By default Sympa allows one hundred requests per hour per interface, and an attachment can only be included when creating a table row. Per hire KoppelHet therefore uses two requests - the data card, and the contract row with the offer letter in one go.
  • A new data card can be missing for up to half an hour when Sympa is queried. KoppelHet stores the ID from the Location header with the Greenhouse application, so a repeated webhook from Greenhouse does not produce a second employee.
  • Nothing can be deleted from Sympa through the Integration API. If Greenhouse sends unhire_candidate, KoppelHet creates a task for HR instead of leaving the data card without anyone knowing.

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 the contract row arrive approved in Sympa?

Yes, rows through the integration are approved straight away. If HR wants to review first, we leave the contract out and HR creates it.

Technical details for IT

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

  • Greenhouse through the hire_candidate and unhire_candidate webhooks (HMAC-SHA256 in the Signature header; up to seven attempts) and Harvest v3 with OAuth 2.0 for offer, hiring team and application attachments.
  • To Sympa through the Integration API (OData 4.0) - POST api/{interface} for the data card (204 with Location header), POST api/{interface}({id})/{table} for the contract row with attachment as multipart/form-data. X-ApiKey or basic authentication; dates yyyy-mm-dd; no DELETE; by default 100 requests per hour per interface.

Which fields are transferred

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

Field in GreenhouseField in SympaNotes
first_name en last_nameVoornaam en achternaam
email_addresses (personal)Privé-e-mail
offer.starts_atStartdatum op de contractregelAs yyyy-mm-dd
jobs[].nameFunctie
jobs[].departments en officesOrganisatie-eenheidExact value from the mapping table
hiring_team.hiring_managers (e-mail)Leidinggevende via uniek veld e-mail
Contractsoort (eigen veld in het aanbod)Contractsoort op de contractregel
Aanbiedingsbrief (bijlage van de sollicitatie)Bijlage bij de contractregel

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.