Lever + Greenhouse
Lever + Greenhouse Integration: Unify Your Recruiting Operations
Sync candidate data, job postings, and hiring workflows between Lever and Greenhouse to cut manual work and hire faster.


Why integrate Lever and Greenhouse?
Lever and Greenhouse are two of the most widely used applicant tracking systems around, and plenty of organizations run both at once — after a merger, because different teams have different preferences, or mid-way through a migration. Without reliable data sync, that setup gets messy fast. Manually reconciling candidate records, interview feedback, and job requisitions across two systems creates data silos, slows down hiring decisions, and introduces errors that are annoying to catch and painful to fix. Connecting Lever and Greenhouse through tray.ai lets talent acquisition teams keep a single source of truth while still using whichever platform works best for each part of the business.
Automate & integrate Lever & Greenhouse
Use case
Bi-Directional Candidate Profile Sync
When a new candidate is created or updated in Lever, their profile — contact details, resume, source, and stage — is automatically mirrored in Greenhouse, and vice versa. Recruiting teams working in either ATS see the same candidate information without manual re-entry. Deduplication logic prevents duplicate records from building up in either system.
Use case
Job Requisition and Opening Sync
New job requisitions created in Greenhouse are automatically published as corresponding job postings in Lever, keeping both systems aligned on open roles. Updates like headcount changes, location edits, or requisition closures propagate instantly between platforms. Talent ops teams no longer need to duplicate job configurations across both ATS environments by hand.
Use case
Interview Scorecard and Feedback Propagation
Structured interview feedback submitted in Greenhouse is automatically transferred to the corresponding candidate record in Lever, and feedback from Lever is synced back to Greenhouse. Hiring managers get a consolidated view of all interviewer evaluations regardless of which platform collected them. Scorecards, ratings, and written comments are all preserved in the receiving system.
Use case
Offer Approval Status Mirroring
When an offer is approved or rejected in one ATS, the status change is immediately reflected in the other, keeping compensation teams and hiring managers aligned. This prevents situations where an offer is accepted in Lever but the Greenhouse record still shows the candidate as active in pipeline, which creates reporting discrepancies. Automated notifications alert relevant stakeholders when offer statuses change in either direction.
Use case
Candidate Stage Progression Sync
As candidates move through hiring stages in Lever or Greenhouse, their pipeline progression is mirrored in the counterpart system using a configurable stage-mapping schema. Talent ops teams can define how Lever stages map to Greenhouse stages and vice versa, keeping pipeline reporting consistent across both platforms. Automated stage updates can also trigger downstream actions like interview scheduling emails or recruiter task creation.
Use case
Candidate Source Attribution Sync
Source data — job boards, referrals, agencies, campaigns — is synchronized between Lever and Greenhouse so recruiting analytics stay accurate across both systems. When a candidate's source is recorded or updated in either platform, the change is reflected in the other, keeping source-of-hire reports consistent. Teams tracking recruiting ROI and channel effectiveness across a unified candidate database need this to be right.
Use case
Rejected Candidate and Disposition Sync
When a candidate is rejected in Lever, the corresponding Greenhouse record is automatically updated with the rejection reason and disposition status, and vice versa. This prevents rejected candidates from staying active in one system while being closed in the other — a situation that causes compliance issues and skews pipeline metrics. Automated rejection notifications can also be triggered to candidates based on disposition events in either ATS.
Get started with Lever & Greenhouse integration today
Lever & Greenhouse Challenges
What challenges are there when working with Lever & Greenhouse and how will using Tray.ai help?
Challenge
Inconsistent Field Schemas Between ATS Platforms
Lever and Greenhouse use different data models, field names, and enumeration values for common concepts like hiring stages, rejection reasons, and candidate sources. Mapping between these schemas by hand is error-prone and breaks whenever either platform updates its data structure.
How Tray.ai Can Help:
tray.ai's visual data mapper lets teams build and maintain field translation logic between Lever and Greenhouse without writing code. Custom mapping tables handle enumeration mismatches like stage name differences, and schema updates can be adjusted in the workflow without rebuilding the entire integration.
Challenge
Avoiding Infinite Update Loops in Bi-Directional Sync
When syncing data in both directions between Lever and Greenhouse, an update in System A triggers a write to System B, which can fire a webhook back to System A — creating an infinite loop that floods both systems with redundant API calls and corrupts data.
How Tray.ai Can Help:
tray.ai lets teams implement loop-prevention logic using conditional checks — comparing last-modified timestamps or checking for a sync-origin flag — before writing to either system. These guardrails are built directly into the workflow logic without requiring custom middleware.
Challenge
Matching Candidates Across Systems Without a Shared Identifier
Lever and Greenhouse each assign their own internal candidate IDs, so there's no native shared key to reliably match a candidate record in one system to its counterpart in the other. Relying on email address matching alone can fail when candidates have multiple email addresses or when data entry inconsistencies exist.
How Tray.ai Can Help:
tray.ai workflows can implement multi-field matching logic — combining email, name, and phone number — to reliably identify candidate matches across both systems. Once a match is confirmed, the workflow stores cross-system ID mappings in a connected data store for faster future lookups.
Challenge
Handling API Rate Limits During High-Volume Recruiting Periods
During peak hiring seasons, the volume of candidate creates, updates, and stage changes can exceed the API rate limits of both Lever and Greenhouse, causing integration failures and data gaps that are hard to detect and painful to fix manually.
How Tray.ai Can Help:
tray.ai includes built-in rate limit handling, automatic retry logic with exponential backoff, and queue-based processing that smooths out high-volume bursts across both APIs. Failed calls are logged and retried automatically, so no candidate updates are silently dropped during peak recruiting cycles.
Challenge
Maintaining Data Lineage and Audit Trails Across Both Systems
Compliance and legal teams often need a full audit trail of when candidate data was created, modified, or deleted, and which system did it. When data flows between two ATS platforms automatically, reconstructing the history of a record for GDPR, CCPA, or internal compliance purposes gets complicated.
How Tray.ai Can Help:
tray.ai logs every workflow execution — input data, transformation steps, API responses, and timestamps — giving compliance teams a complete audit trail of every data movement between Lever and Greenhouse. Those logs can be exported or forwarded to a data warehouse or SIEM system for long-term retention.
Start using our pre-built Lever & Greenhouse templates today
Start from scratch or use one of our pre-built Lever & Greenhouse templates to quickly solve your most common use cases.
Lever & Greenhouse Templates
Find pre-built Lever & Greenhouse solutions for common use cases
Template
New Lever Candidate to Greenhouse Profile Creator
Automatically creates a matching candidate profile in Greenhouse whenever a new candidate is added to Lever, mapping all standard and custom fields including name, contact details, source, and resume attachment.
Steps:
- Trigger fires when a new candidate is created in Lever via webhook or polling
- Candidate data is extracted and field-mapped to Greenhouse schema including custom field translations
- A new candidate record is created in Greenhouse via API with all mapped fields populated
Connectors Used: Lever, Greenhouse
Template
Greenhouse Candidate Stage Update to Lever Stage Sync
When a candidate advances or moves backward through a hiring stage in Greenhouse, their corresponding Lever record is automatically updated to reflect the equivalent stage based on a configurable mapping table.
Steps:
- Trigger fires on candidate stage change event in Greenhouse
- Stage mapping logic translates the Greenhouse stage to the equivalent Lever stage
- Lever API call updates the candidate's pipeline stage in the corresponding record
Connectors Used: Lever, Greenhouse
Template
Lever Interview Feedback to Greenhouse Scorecard Sync
Captures structured interview feedback submitted against a candidate in Lever and creates a corresponding scorecard entry in Greenhouse, preserving interviewer ratings, written comments, and overall recommendation.
Steps:
- Trigger fires when an interview feedback form is submitted in Lever
- Feedback data including ratings and comments is extracted and formatted to Greenhouse scorecard schema
- Scorecard is created in Greenhouse linked to the matching candidate and job application
Connectors Used: Lever, Greenhouse
Template
Greenhouse Job Opening to Lever Requisition Creator
When a new job is opened and approved in Greenhouse, a corresponding job posting is automatically created in Lever with matching title, department, location, and hiring team assignments, keeping both ATS systems synchronized on active requisitions.
Steps:
- Trigger fires when a new job opening is created or approved in Greenhouse
- Job details are extracted and mapped to Lever posting schema including department and location fields
- A new job posting is created in Lever via API and assigned to the appropriate hiring team
Connectors Used: Lever, Greenhouse
Template
Bi-Directional Candidate Offer Status Sync
Monitors offer status changes in both Lever and Greenhouse and propagates the updated status to the counterpart system, so compensation teams and hiring managers always see consistent offer data regardless of which ATS they're in.
Steps:
- Polling or webhook trigger detects an offer status change in either Lever or Greenhouse
- Conditional logic determines the origin system and routes the update to the correct destination
- Offer status is updated in the counterpart ATS via API along with timestamp and approver metadata
Connectors Used: Lever, Greenhouse
Template
Lever Rejection to Greenhouse Candidate Disposition Sync
When a candidate is rejected in Lever with a disposition reason, the workflow automatically locates the matching Greenhouse record and updates it with the rejection status and reason code, then optionally triggers a candidate notification email.
Steps:
- Trigger fires when a candidate is marked as rejected in Lever with a reason code
- Matching candidate record is located in Greenhouse using email address or candidate ID
- Greenhouse record is updated with rejection status and reason, and optional candidate notification email is sent
Connectors Used: Lever, Greenhouse