Greenhouse (Harvest V3)
Using Harvest V1? Fides ships a separate connector for each Harvest version. V3 uses OAuth 2.0 rather than an API key and covers substantially more candidate data (applications, attachments, notes, scorecard feedback, offers, EEOC and demographic responses), and its anonymization endpoint satisfies erasure requests without removing your recruiting metrics. We recommend V3 for new integrations. If you are already connected via a Harvest API key, see the Greenhouse (V1) integration instead.
Greenhouse Recruiting (opens in a new tab) is an applicant tracking system (ATS) and recruiting CRM that uses the Harvest V3 API to retrieve and erase candidate data when a current or former job applicant submits a data subject request.
Prerequisites
In order to integrate with Greenhouse, you'll need to collect the following information:
| Name | Description |
|---|---|
| Domain* | The Harvest V3 API host (default = harvest.greenhouse.io) |
| Auth domain* | The Greenhouse OAuth token host (default = auth.greenhouse.io) |
| Client ID* | The Client ID from your Harvest V3 (OAuth) credential |
| Client Secret* | The Client Secret issued alongside the Client ID. Treat as sensitive and store securely. |
| User ID | Optional. The numeric Greenhouse user ID the integration should act as. If omitted, Greenhouse uses the auto-generated integration service user tied to the credential. |
The identity the token acts as — the User ID if you supply one, otherwise the credential's integration service user — must be a Site Admin. Greenhouse restricts the list endpoints to Site Admin users, so a non-Site-Admin identity causes requests to return no data. Fides verifies the Site Admin role and the required scopes when you test the connection.
Required permissions
Enable the following scopes on the credential.
Candidate data
harvest:candidates:list harvest:candidates:anonymize
harvest:candidate_educations:list harvest:candidate_employments:list
harvest:candidate_tags:list harvest:applied_candidate_tags:listApplications and outcomes
harvest:applications:list harvest:rejection_details:list
harvest:rejection_reasons:listDocuments, notes and offers
harvest:attachments:list harvest:notes:list
harvest:offers:listInterview feedback
harvest:scorecards:listEqual opportunity and demographic data
harvest:eeoc:list harvest:demographic_answers:list
harvest:demographic_answer_options:listConfiguration lookups
harvest:custom_fields:list harvest:custom_field_options:listChanging scopes later. For customer-built (custom) credentials you can adjust scopes yourself in Greenhouse at any time. If your credential was provisioned as a Greenhouse partner integration instead, scope changes must be requested through Greenhouse Partner Support and require you to re-authorize the connection.
Integrating with Greenhouse
To integrate an existing system with Greenhouse:
- Navigate to Data map → View Systems and choose the system that you want to connect.
- Click on the Integrations tab.
- Pick the vendor or system type that you want to integrate with from the Connection type drop-down menu.
- Complete the required fields for the integration and click Save.
You may confirm your connection is working using the Test connection button, if desired.
To learn more, please see our guide for Managing Integrations.
Technical detail
Fides utilizes API endpoints to access the API service for a SaaS application. An API service is the programmatic interface through which Fides can query and update data within an application to access, rectify, or delete personal information. Each SaaS tool will have a unique set of endpoints to enable privacy functions.
Greenhouse endpoints
In the table below, you can find which endpoints are used for each type of privacy function. Clicking on the endpoint will take you to the documentation for that endpoint.
| Privacy function | Endpoint | Description |
|---|---|---|
| Access Requests | List Candidates (opens in a new tab) | Resolves the data subject by email and fetches the candidate profile and contact details. |
| Access Requests | List Applications (opens in a new tab) | Returns the candidate's applications, the bridge to per-application data below. |
| Access Requests | List Attachments (opens in a new tab) | Returns résumés, cover letters and other attachments, by candidate and by application. |
| Access Requests | List Notes (opens in a new tab) | Returns recruiter and interviewer notes recorded on the candidate. |
| Access Requests | List Offers (opens in a new tab) | Returns offers and compensation details. |
| Access Requests | List Candidate Employments (opens in a new tab) | Returns the candidate's employment history. |
| Access Requests | List Candidate Educations (opens in a new tab) | Returns the candidate's education history, with option IDs resolved via Custom Field Options (opens in a new tab). |
| Access Requests | List EEOC (opens in a new tab) | Returns row-level EEOC responses per application (special category data). |
| Access Requests | List Scorecards (opens in a new tab) | Returns written interview scorecard feedback. |
| Access Requests | List Applied Candidate Tags (opens in a new tab) | Returns the candidate's tags, with labels resolved via Candidate Tags (opens in a new tab). |
| Access Requests | List Demographic Answers (opens in a new tab) | Returns demographic self-identification responses (special category data), with option labels resolved via Demographic Answer Options (opens in a new tab). |
| Access Requests | List Rejection Details (opens in a new tab) | Returns rejection details, with reasons resolved via Rejection Reasons (opens in a new tab). |
| Update or Erasure Requests | Anonymize Candidate (opens in a new tab) | Anonymizes the candidate record, removing personal data while retaining anonymized hiring activity for reporting. |