GoodTime helps recruiting teams hire the best candidates, faster. By automating interview scheduling for recruiting teams, GoodTime automatically helps you personalize every invitation, provides you with multiple efficient options, and uses AI to intelligently sort out meetings that can be booked over to give your team even more options.

Greenhouse Recruiting's integration with GoodTime uses the Harvest API to do the following: 

  • Sync candidate information between Greenhouse and GoodTime so the candidate information does not have to be re-entered into GoodTime
  • Sync a list of job applications/application stages for each candidate to properly assign the correct interview kits
  • Create interview kit links to share with interviewers so they can be shared on calendar invites to interviewers
  • Import recruiter/coordinator assignments for each candidate

Configure User Setup Permissions in Greenhouse Recruiting

In order to enable the Greenhouse Recruiting / Eightfold integration, you will need the following developer permissions:

  • Can manage ALL organization’s API Credentials

Contact a Greenhouse user in your organization with Site Admin level permissions with the additional user-specific permission Can edit another user's advanced permissions to apply the API credential management permission to your account. Have the user with Site Admin level permissions edit your user account's permissions by navigating to the Configure icon Configure.png > Users > Your Name.


The user with Site Admin level permissions should navigate to the Permissions panel on your user page and expand the Developer Permissions dropdown menu. 

Select Can manage ALL organization’s API Credentials so a check is in the checkbox. When finished, click Save.


Repeat as necessary for any other user who should have access to set up the integration.


Create Harvest API Key for Greenhouse Recruiting / GoodTime Integration

To create a Harvest API key for the integration, click the Configure icon image-0.png > Dev Center > API Credential Management.


From the API Credential Management page, click Create New API Key to generate the API key for GoodTime.


In the Create New Credential dialog box, make the following selections:

  • API Type: Harvest
  • Partner: GoodTime
  • DescriptionGoodTime Harvest API Key

When finished, click Manage Permissions to generate the Harvest API key and automatically assign it the appropriate permissions required by GoodTime.


In the subsequent dialog box, click Copy to save your API key to your clipboard. Store the API key in a secure location to provide to GoodTime in the next step. Click I have stored the API Key once you have copied and saved the key.

Note: You cannot access the full Harvest API key again after clicking I have stored the API Key. If you lose your API key and need to access it later, you must create a new API key, provide it to the integration partner, and then revoke access to the original key.


On the subsequent page, confirm the following permissions are assigned to your new API key by placing a check in the box next to the appropriate permission:

Activity Feed

  • GET: Retrieve Activity Feed


  • GET: Retrieve Application
  • GET: List Applications


  • GET: Retrieve Candidate
  • GET: List Candidates
  • POST: Add Note
  • POST: Add E-mail


  • GET: Retrieve Department
  • GET: List Departments

Email Templates

  • GET: Retrieve Email Template
  • GET: List Email Templates

Job Posts

  • GET: List Job Posts
  • GET: Retrieve Job Post for Job
  • GET: List Job Posts for Job

Job Stages

  • GET: Retrieve Job Stage
  • GET: List Job Stages
  • GET: List Job Stages for Job


  • GET: Retrieve Job
  • GET: List Jobs


  • GET: Retrieve Office
  • GET: List Offices

Scheduled Interviews

  • GET: List Interviews for Application
  • GET: Retrieve Interview
  • GET: List Interviewers
  • DELETE: Delete a scheduled interview
  • POST: Create a scheduled interview
  • PATCH: Update a scheduled interview


  • GET: List Sources


  • GET: List tags applied to candidate
  • GET: List Candidate Tags


  • GET: Retrieve User
  • GET: List Users
  • GET: List User Job Permissions

Click Save when finished. Your Harvest API key for the Greenhouse Recruiting / GoodTime integration is created and configured. 

Provide Harvest API Key to GoodTime

Navigate to the following URL: 

Scroll down the page to Integrations and set Greenhouse as the ATS Type. Paste your copied Harvest API Key in the API Key field. 

Toggle the Use API to Sync Interviews setting to On.

Toggle the Sync Emails to ATS setting to On


Click Save

Click Save at the top left-hand side of the page. 

Use Greenhouse Recruiting / GoodTime Integration

Sync Data to Greenhouse Recruiting

GoodTime syncs interviews to Greenhouse Recruiting via the feedback forms that you select. If you find an interview is not syncing properly to Greenhouse, check the following:

  • Make sure feedback forms are selected for all of the interview events (excluding greets/walkouts)
  • Make sure the candidate is on the correct job in GoodTime

Download GoodTime Chrome Plugin

Use the following steps to download the GoodTime Chrome plugin: 

  1. Log into the GoodTime dashboard:
  2. Click your avatar (or photo) in the top right-hand corner
  3. Click Download Chrome Extension in the dropdown menu
  4. Return to Greenhouse Recruiting and refresh on any candidate’s page

Sync Data from Greenhouse Recruiting <> GoodTime

Data from Greenhouse Recruiting > Candidate page

Notice: Name, Email, Phone, Job/Stage


GoodTime > Landing Page from Open in GoodTime

The same candidate in GoodTime after clicking Open in GoodTime from their Greenhouse Recruiting candidate profile page (notice name and email match here, highlighted in pink).


GoodTime > Candidate Scheduling Tab

The Job and Stage Import (in green), also other areas where GoodTime shows synced Candidate information (in pink).


GoodTime > Variables

Users can also import candidate data via GoodTime variables (the yellow tokens). Two screenshots, one where the user is adding the token by name - $Candidate.PhoneNumber, and the second one where the value is resolved from synchronized data from Greenhouse). Also notice the variable for the candidate's name Arya is already resolved.



Contact Goodtime

Need help? Contact for questions or troubleshooting with the integration.