← All integrations
Lever → Greenhouse

Lever Greenhouse integration

In short

A Lever to Greenhouse integration maps Lever's opportunity model onto Greenhouse's candidate-and-application model: each Lever candidate becomes a Greenhouse candidate, each opportunity becomes an application on the matching job, and stages, sources, feedback, notes, resumes, and offers travel with it. Done properly it is not a CSV dump - it is an idempotent pipeline that deduplicates by email, respects Greenhouse's On-Behalf-Of write rules and rate limits, and preserves recruiter attribution and consent so nothing is silently dropped or double-created.

What a Lever to Greenhouse integration actually does

Lever and Greenhouse are both applicant tracking systems, so you rarely run them side by side for fun. You end up bridging them for a concrete reason: you are switching from Lever to Greenhouse and need years of hiring history to arrive intact, or an acquisition left two teams on two ATSs and recruiting has to operate as one, or a phased rollout means some departments live in Greenhouse while others finish out in Lever.

In every case the real work is the same. Lever holds candidates, their opportunities against specific postings, the stage each one sits in, who sourced them, the interview feedback, the resume, and the offer. Greenhouse expects all of that as candidates with applications on jobs, moved through job-specific stages, attributed to real Greenhouse users. A Lever to Greenhouse integration closes that gap so recruiters do not re-key pipelines by hand and no candidate quietly disappears in the move.

What data moves

Lever object / eventBecomes in GreenhouseNotes
CandidateCandidateDeduplicated on email plus stable Lever ID; one person, one record
OpportunityApplication on a jobLever’s one-to-many opportunities collapse onto Greenhouse applications
PostingJob / job postMapped to an existing Greenhouse job; new postings matched by requisition
StageJob stagePer-job crosswalk - Lever’s pipeline stages are not Greenhouse’s interview-plan stages
Source / originSourceReconciled to Greenhouse’s source taxonomy, not passed through raw
Feedback formScorecard / noteStructured where it maps, attached as a note where it does not
Resume / fileAttachmentFetched from Lever and re-uploaded, not linked by expiring URL
NoteActivity / notePreserves author and timestamp for the audit trail
OfferOfferWhere the Harvest API allows write; otherwise attached as a document
User (recruiter)User (On-Behalf-Of)Mapped to a valid Greenhouse user so actions are attributed correctly

The stage crosswalk, source mapping, and user mapping are agreed once at the start and encoded in the pipeline. After that, nobody re-maps them by hand.

The details that break naive exports

A CSV export out of Lever and a bulk import into Greenhouse gets you a list of names and very little else. The expensive part is everything the two data models disagree about:

How we build and run it

We treat this as a pipeline, not a one-off script. Lever candidates, opportunities, feedback, files, and offers are read through the Lever API, validated, transformed into your agreed Greenhouse mapping, and written through the Harvest API with the correct On-Behalf-Of user and a retry-and-backoff loop tuned to Greenhouse’s rate limits.

The pipeline is idempotent: every Lever record carries a stable identifier, so a retry or a re-run reconciles against what already exists in Greenhouse instead of creating a second copy. It runs on cloud-native, fully EU-hosted AWS infrastructure, so candidate data never leaves the EU - which keeps your DPA / AVV and your DSGVO obligations clean, and gives your Betriebsrat a straight answer about where applicant data lives.

Then we keep it running. For a cutover that means a monitored, resumable backfill and a verified reconciliation report. For a parallel run it means ongoing change detection, monitoring, alerting, incident response, and watching for Lever and Greenhouse API changes - all our responsibility under contract, with a named owner and an SLA.

When this integration is worth building

If you are moving a few dozen active candidates and have no interest in historical pipelines, do it by hand or with a spreadsheet and Greenhouse’s bulk import - and we will tell you so. The managed pipeline earns its place when you are migrating years of hiring history, when Lever’s opportunity model and Greenhouse’s job stages have to be reconciled at scale, when two ATSs must run in parallel through a phased rollout, or when candidate consent and demographic data mean the move has to be provably compliant rather than a best-effort copy.

Frequently asked questions

Are you migrating us off Lever onto Greenhouse, or keeping both running in sync?
Either, and they are different jobs. A one-time cutover backfills your Lever history into Greenhouse once and stops. A parallel-run sync keeps both systems aligned while teams or regions move over in phases, which means change detection, conflict rules, and a clear system of record per field. We scope which one you need before writing a line of pipeline, because the failure modes are not the same.
How do you reconcile Lever's opportunity model with Greenhouse's candidate and application structure?
In Lever a single candidate can hold several opportunities across different postings; in Greenhouse that is one candidate with several applications. We collapse to one Greenhouse candidate per person, keyed on email plus a stable Lever ID, and attach each opportunity as an application on the mapped job. Without that reconciliation you get duplicate candidates and orphaned applications, which is the single most common way a raw import goes wrong.
What happens to candidate GDPR data, consent, and EEO or demographic answers?
Those fields are handled deliberately, not swept along by default. Demographic and equal-opportunity responses are sensitive and often should not be migrated at all under DSGVO and the AGG. We agree per-field what moves, what is dropped, and how consent and retention deadlines carry across, so the Greenhouse instance does not inherit data you no longer have a lawful basis to hold.
Do interview feedback and scorecards survive the move?
Partly, and we are honest about where it is lossy. Lever feedback forms are relatively freeform, while Greenhouse scorecards have a fixed shape - attributes, ratings, and an overall recommendation. We map what maps cleanly and preserve the rest as attached notes or activity entries rather than forcing it into fields it does not fit. You keep the hiring history; you do not get a false impression that structured data existed where it did not.
Who operates it after go-live, and what about API rate limits and changes?
We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor, and it is built around Greenhouse's Harvest write throttling and On-Behalf-Of requirements so it backs off and retries instead of failing a batch. If Lever or Greenhouse changes an endpoint, that is our problem to fix under contract. You get a named owner, alerting, and an SLA rather than a migration script nobody dares re-run.

Need this integration built and permanently operated? Tell us which systems connect and what data has to move. Fixed-price scoping quote within 48 hours.

Request a scoping call