Candidate Sync for Greenhouse installation guide
Install your Indeed integration with Greenhouse.
Indeed ends the Candidate Sync for Greenhouse integration on June 30, 2026. Contact your Indeed representative for details.
Before you start
This installation requires technical configuration. Consult your IT department before you continue.
To install the integration, you need a Greenhouse administrator and a user with Employer Home administrator access on Indeed.
Overview
Section | Audience | Objectives | Time to complete |
|---|---|---|---|
| Get required information from Greenhouse | Greenhouse administrator | Set up an email username and password to share with your Indeed Employer Home administrator. | ~30 minutes, one-time setup in Greenhouse. |
| Install the integration with Indeed | Indeed Employer Home administrator | Get the required information from your Greenhouse administrator. Install and activate the integration on Indeed. | ~5 minutes, one-time setup in Indeed. Total integration time varies by organization. You can use the integration almost immediately after you finish the setup. |
| Recommended topics | Indeed Employer Home administrator | Understand data requirements and how the integration associates candidates with requisitions. | N/A |
Get required information from Greenhouse
A Greenhouse administrator completes these steps and then shares the email and API key with a user who has Employer Home administrator access:
-
Create an email username and password for the integration.
-
Sign in to Greenhouse: https://app4.greenhouse.io/users/sign_in.
-
Click the Settings icon.
-
Select Dev Center.
-
Click API Credential Management.
-
Click Create New API Key in the upper right.
-
In the Create New Credential dialog box, make these selections:
- For API Type, select Harvest.
- For Partner, select Indeed.
- For Description, enter Indeed Harvest API Key.

-
Click Manage Permissions.
-
Click Copy to save the API key to your clipboard.
Important: Save the API key in a secure location. After you leave this screen, Greenhouse no longer shows the full Harvest API key.
-
Click I have stored the API Key.

-
On the next page, select these permissions:
Permissions Permission Select Applications - Patch: Update Application
- Post: Add Attachment to Application
Candidates - Get: Retrieve Candidate
- Get: List Candidates
- Patch: Edit Candidate
- Post: Add Candidate
- Post: Add Attachment
- Post: Add Application
- Post: Add Education
- Delete: Delete Education
- Post: Add Employment
- Delete: Delete Employment
- Post: Add Employment
- Delete: Delete Employment
- Post: Add Prospect
Jobs - Get: Retrieve Jobs
- Get: List Jobs
Tags - Delete: Remove tag from candidate
- Get: List tags applied to candidates
- Get: List Candidate Tag
- Post: Add New Candidate Tags
- Delete: Remove Candidate Tags
- Put: Add a candidate tag
Users - Get: Retrieve User
- Get: List Users
Sources - Get: List Sources
Prospect Pool - Get: Retrieve Prospect Pool
- Get: List Prospect Pools
Education - Get: Get degrees
- Get: Get disciplines
- Get: Get schools
Rejection Reasons - Get: List Rejection Reasons
Job Stages - Get: List Job Stages
-
Click Save.
-
Share these credentials with the Employer Home administrator who completes the installation:
- API key
Install the integration with Indeed
An Indeed Employer Home administrator completes these steps.
-
Navigate to the Greenhouse integration page.
-
Go to the Greenhouse integration page.
-
Click Get started.
-
Select Sync Indeed candidates and data to ATS.

Get started button -
Enter the information from your Greenhouse administrator:
- API key
Request the required information from your Greenhouse administrator to complete the installation.

- Agree to the terms and conditions, and click Continue.
- Choose the Selected Source from the dropdown, and click Finish.

Recommended topics
To understand data requirements and how the integration associates candidates with job requisitions, see these topics:
Update and deduplication of candidates
The integration looks for candidates or prospects by the aliased Indeed email address that Indeed uses when it creates the record. If it finds a candidate or prospect, the integration:
- Updates the core data.
- Attaches the new resume.
- Replaces existing work and education experience.
The integration overwrites all supported data during the update process. It does not merge data. If a candidate update does not include data that already exists in the system, that data is lost. Data that the Indeed integration does not handle, such as screener questions, is not affected.
Data mapping
In Greenhouse, a candidate is a prospect with a connected job.
The integration creates a prospect by default. If a candidate with the same email already exists, the integration updates that candidate instead of creating a new prospect.
Candidate
| Local attribute | Notes |
|---|---|
| First name | Required |
| Last name | Required |
| Company | Optional |
| Title | Optional |
| Phone number | Optional |
| Addresses | Optional |
| Email addresses | Required Indeed populates the "Other" email address field in Greenhouse. Pass an empty list to clear all email addresses. Important: Set the default value for each candidate to the real email address. |
| Education | Optional |
| Employment | Optional |
| Tags (skills) | Optional |
| Applications | Optional |
Prospect
| Local attribute | Notes |
|---|---|
| First name | Required |
| Last name | Required |
| Company | Optional |
| Title | Optional |
| Phone numbers | Optional |
| Addresses | Optional |
| Email addresses | Required Indeed populates the "Other" email address field in Greenhouse. Pass an empty list to clear all email addresses. Important: Set the default value for each candidate to the real email address. |
| Tags | Optional |
| Applications | Optional source_id, referrer, custom_fields, and attachments parameters follow the "Add Application" endpoint format. |
| Application[job-ids] | Optional If you include the application object, this value might still be blank or omitted. In that case, the request creates a jobless prospect. A common use case is creating a jobless prospect while still attaching a resume or identifying a source. |
Related objects
For Education and Employment, if a prospect or candidate already exists, Indeed overwrites the previous data with the new data from Indeed.
Education
Important: If the name of the education institution does not match a record on the Greenhouse server, Greenhouse does not save the institution for that education experience. The same rule applies to degrees and disciplines.
| Local attribute | Notes |
|---|---|
| School ID | The ID of the college attended. Get this value from the "GET schools" endpoint. |
| Discipline_id | The ID of the education discipline. Get this value from the "GET disciplines" endpoint. |
| Degree ID | The type of degree received. Get this value from the "GET degrees" endpoint. |
| Start date | The date when the candidate began attendance. The timestamp must use ISO 8601 format. |
| End date | The date when the candidate finished attendance. The timestamp must use ISO 8601 format. |
Employment
| Local attribute | Notes |
|---|---|
| Company name | Required |
| Title | Required |
| Start date | Required The timestamp must use ISO 8601 format. If a start date does not exist for a specific employment entry, the integration uses the placeholder |
| End date | Optional |
Monitoring
For auditing, you can monitor the user who sends the request by setting the user ID in the On-Behalf-Of header.
Test operation
The Greenhouse integration includes a test operation that you can access on the integration page.
FAQ
Does the Indeed integration with Greenhouse transfer screener question answers?
No.
Does the Indeed integration with Greenhouse update candidates in Greenhouse when I update them on Indeed?
No.
Can I manually trigger a candidate export?
No.
When are candidates exported to Greenhouse?
The integration exports candidates when they apply. It does not transfer anything that happens after the application is submitted, such as interviews, assessments, or disposition updates.