Greenhouse
Bring new starters, changes and leavers from Greenhouse into every system that needs them, with HR approving each change.
42 ways to read, 25 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Greenhouse, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Reject applicationApproval by rule
- Add candidate to jobApproval by rule
- List application stage historyRead
Example flow
- Greenhouse · List application stage historyDone
- Greenhouse · Reject applicationNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Greenhouse.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Greenhouse
- Greenhouse's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Read and write Greenhouse candidates, applications, notes, tags, jobs, posts, openings, hiring teams, departments and offices, and read offers, scorecards and interviews (Harvest v3).
Greenhouse Software API docs- Source actions
- 42
- Destination actions
- 25
- Data types
- 39
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Application rejection1
- Reject applicationDestinationProvider duplicate protectionApproval before production
Rejects an application with a rejection reason and optional internal notes. No email is sent.
Application stage1
- Move applicationDestinationProvider duplicate protectionApproval before production
Advances an application to the next stage, moves it to a chosen stage, or transfers it to another job. Requires the current stage ID.
Application stages1
- List application stage historySourceIncremental
Stages an application has entered, with entry, exit and days in stage.
Applications4
- Add candidate to jobDestinationNot retried automaticallyApproval before production
Creates an application for an existing candidate on a job.
- Get applicationSource
One application by ID.
- List applicationsSourceIncremental
Applications with stage, status, source and owners, filterable by job, candidate or status.
- Update applicationDestinationProvider duplicate protectionApproval before production
Updates source, referrer, recruiter, coordinator or custom fields.
Applied candidate tags2
- Tag candidateDestinationProvider duplicate protectionApproval before production
Applies an existing candidate tag to a candidate.
- List candidate tag assignmentsSourceIncremental
Which tags are applied to which candidates.
Approval flows1
- List approval flowsSourceIncremental
Job and offer approval flows with their status.
Candidate educations2
- Add candidate educationDestinationNot retried automaticallyApproval before production
Adds an education entry using school, degree and discipline option IDs.
- List candidate educationSourceIncremental
School, degree and discipline entries on candidate profiles.
Candidate employments2
- Add candidate employmentDestinationNot retried automaticallyApproval before production
Adds an employer and title to a candidate's employment history.
- List candidate employment historySourceIncremental
Employer and title entries on candidate profiles.
Candidate tags2
- Create candidate tagDestinationProvider duplicate protectionApproval before production
Adds a tag to the candidate tag dictionary.
- List candidate tagsSourceIncremental
The organisation's candidate tag dictionary.
Candidates4
- Create candidateDestinationNot retried automaticallyApproval before production
Creates a candidate, optionally with an application on a job.
- Get candidateSource
One candidate by ID.
- List candidatesSourceIncremental
Candidates and prospects, optionally updated since a timestamp or filtered by email or tag.
- Update candidateDestinationProvider duplicate protectionApproval before production
Updates profile fields, contact lists, tags or custom fields. Lists replace existing values.
Close reasons1
- List close reasonsSourceIncremental
Reasons used when closing openings.
Custom field options2
- Add custom field optionDestinationProvider duplicate protectionApproval before production
Adds a selectable option to a single- or multi-select custom field.
- List custom field optionsSourceIncremental
Selectable options of single- and multi-select custom fields (schools, degrees, departments and others).
Custom fields1
- List custom fieldsSourceIncremental
Custom field definitions with object type and value type.
Departments3
- Create departmentDestinationNot retried automaticallyApproval before production
Creates a department, optionally under a parent and with an HRIS external ID.
- List departmentsSourceIncremental
Departments with parent and external IDs.
- Update departmentDestinationProvider duplicate protectionApproval before production
Renames or re-parents a department, or sets its external ID.
Interview kits1
- List interview kitsSourceIncremental
Interviewer prep content for each interview slot.
Interviews1
- List interviewsSourceIncremental
Scheduled interviews with times, location, organizer and video link.
Job boards1
- List job boardsSourceIncremental
Internal and external job boards with publication state.
Job hiring managers2
- Add job hiring managerDestinationNot retried automaticallyApproval before production
Assigns a user as a hiring manager on a job.
- List job hiring managersSourceIncremental
Hiring manager assignments on jobs.
Job interview stages1
- List job stagesSourceIncremental
Interview stages of jobs in order; use their IDs as move targets.
Job interviews1
- List job interview planSourceIncremental
Interview slots on each job's interview plan, with stage, duration and scheduling type.
Job notes3
- Add job noteDestinationNot retried automaticallyApproval before production
Adds an internal note to a job.
- List job notesSourceIncremental
Internal notes on jobs.
- Update job noteDestinationProvider duplicate protectionApproval before production
Edits a job note's body or visibility.
Job owners2
- Add job hiring team memberDestinationNot retried automaticallyApproval before production
Assigns a user as sourcer, recruiter or coordinator on a job.
- List job hiring teamSourceIncremental
Sourcer, recruiter and coordinator assignments on jobs.
Job posts3
- Get job postSource
One job post by ID.
- List job postsSourceIncremental
Job board posts with title, live state, URL and content.
- Update job postDestinationProvider duplicate protectionApproval before production
Updates a job post's title or HTML content, or publishes or unpublishes it.
Jobs4
- Create jobDestinationNot retried automaticallyApproval before production
Creates a job from a template job with its openings, department, offices and requisition ID.
- Get jobSource
One job by ID.
- List jobsSourceIncremental
Jobs with status, requisition ID, department and offices.
- Update jobDestinationProvider duplicate protectionApproval before production
Updates a job's name, notes, department, offices or requisition ID.
Notes2
- Add noteDestinationNot retried automaticallyApproval before production
Adds a note to a candidate (and optionally an application).
- List notesSourceIncremental
Notes and activity on candidates and applications.
Offers1
- List offersSourceIncremental
Offers with status, version and dates (read-only; compensation custom fields are not returned).
Offices3
- Create officeDestinationNot retried automaticallyApproval before production
Creates an office with location, parent and external ID.
- List officesSourceIncremental
Offices with location, parent and external IDs.
- Update officeDestinationProvider duplicate protectionApproval before production
Renames, relocates or re-parents an office, or sets its external ID.
Openings3
- Add openingDestinationNot retried automaticallyApproval before production
Adds a headcount opening to a job.
- List openingsSourceIncremental
Headcount openings on jobs, with fill state, close reason and target start date.
- Update openingDestinationProvider duplicate protectionApproval before production
Updates an opening's identifier, target start date or custom fields, or closes or reopens it with a close reason.
Prospect pool stages1
- List prospect pool stagesSourceIncremental
Stages inside prospect pools, in order.
Prospect pools1
- List prospect poolsSourceIncremental
Prospect pools with department, office and job restrictions.
Referrers1
- List referrersSourceIncremental
Referrers credited on applications, linked to users where internal.
Rejection details1
- List rejection detailsSourceIncremental
Who rejected each application, when and why.
Rejection reasons1
- List rejection reasonsSourceIncremental
Rejection reasons for rejecting applications.
Scorecard answers1
- List scorecard answersSourceIncremental
Answers to scorecard questions.
Scorecards1
- List scorecardsSourceIncremental
Interview scorecards with overall rating and notes.
Sources1
- List sourcesSourceIncremental
Candidate sources.
Tracking links1
- List tracking linksSourceIncremental
Source tracking links for jobs, posts and boards.
User roles1
- List user rolesSourceIncremental
Permission roles (job admin and site admin roles).
Users2
- Get userSource
One user by ID.
- List usersSourceIncremental
Greenhouse users with emails, offices, departments and status.
Access and limits
- Authentication
- Harvest v3 (OAuth) client ID and secret
- Plans and access
- Harvest API access is available on all Greenhouse Recruiting plans. Harvest v3 credentials grant only the scopes selected in Greenhouse. Offers and private fields require the integration user to hold the private-data permission. Harvest v1/v2 were removed on 31 August 2026.
- Test environment
- Greenhouse provides sandbox sites to customers and partners on request.
- Rate limits
- Fixed 30-second windows per credential (see X-RateLimit-Limit); HTTP 429 includes Retry-After. Token requests have a separate 60-second window.
- Pagination
- Cursor pagination through the Link header (rel="next"), up to 500 per page; next-page URLs carry only the cursor.
- Provider events
- Greenhouse web hooks for candidate, application, offer and job events. Flows can start the moment something happens: when a candidate is hired; when a new application is submitted; when a candidate changes stage; when an offer is created.
Before you build a flow
- Uses Harvest v3. Requests act as the credential's integration user; acting as a specific Greenhouse user (the token sub claim) is not configurable.
- Offers are read-only and their custom fields (which commonly hold compensation) are not returned. Offer creates and updates, approval requests, hires and pay inputs or pay ranges are excluded.
- Custom fields on candidates, applications, jobs and openings omit currency and range values and fields whose key or name indicates pay, tax, bank, identity or health data.
- EEOC and demographic endpoints (eeoc, demographic questions, answers and question sets) and AI opt-out statuses are never read.
- Rejecting applications never sends a rejection email: Nexra never passes rejection_email. Candidate merges, anonymisation, unreject, conversion to prospect, attachments, interview scheduling, scorecard writes, user creation and activation (which can email invitations) and all deletes are not implemented.
- candidates.list keeps its existing optional email filter, which Greenhouse only accepts as a query parameter; prefer filtering by updatedSince or tag where the email must not appear in request URLs.
- Moving and rejecting applications return no body; Nexra returns the application ID with the requested change.
- Candidate, application, note, education, employment, job, opening, hiring team, department and office creates have no idempotency key; uncertain writes are not repeated automatically.
Developer reference
- Create the Greenhouse Software credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Greenhouse, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/greenhouse and the Connections API.