To integrate Greenhouse with Gem Scheduling, we utilize a Greenhouse API key to be able to sync the data across the two platforms.
Required user permissions
To be able to go through the rest of this guide, you'll need to make sure you have the Developer Permission: "Can manage ALL organization's API Credentials". If you don't have this permission, you'll need to either ask your Site Admin to give you this permission or ask your Site Admin to go through this guide themselves.
If you're not sure if you have this permission or not, you can attempt to continue with the guide, and we'll let you know where you'd be able to confirm if you have it.
Generating a Greenhouse API key
The first step we have to take is to create a new Greenhouse API Key. You can do this by going to the "API Credentials" page. To get there, click on the gear icon in the top-right.
Then click on "Dev Center" in the left-hand sidebar. If you don't see this as an option, you don't have the necessary permissions (see above).
And then click on "API Credential Management".
Once you're on the "API Credentials", click the button to "Create New API Key".
In the popup that appears, create a new Harvest API key called "Gem Scheduling", and for the "Partner" dropdown, select "Gem Scheduling". If the "API Type" dropdown doesn't have "Harvest" as an option, you don't have the necessary permissions (see above).
Once you've filled in popup, click the "Manage Permissions" button. This will then show you the API key. This will be the only time this API key is shown to you, so make sure you copy and store it in a safe place. Once you've copied and stored it, click the "I have stored the API Key" button to configure the permissions for this new key.
API key permissions
Once you've created the API key, you'll be taken to the page to manage the permissions of this new key. For Gem Scheduling to function properly, you'll need the following permissions:
-
Applications
- Get: List Applications - We use this to sync applications from Greenhouse and keep the data in Gem Scheduling up-to-date.
-
Candidates
- Get: List Candidates - We use this to sync candidates from Greenhouse and keep the data in Gem Scheduling up-to-date.
- Post: Add Note - We use this to make a note on a candidate's activity feed when they're scheduled or a schedule is cancelled.
- Post: Add E-mail - We use this to log all emails we send to a candidate on their activity feed.
-
Users
- Get: List Users - We use this to sync users from Greenhouse and keep the data in Gem Scheduling up-to-date.
-
Scheduled Interviews
- Get: List Interviews for Application - We use this to find all scheduled interviews for an application and ensure that your scheduled interviews are accurate.
- Delete: Delete a scheduled interview - We use this to clear out scheduled interviews in Greenhouse so that interviewers don't get reminders for cancelled schedules.
- Post: Create a scheduled interview - We use this to inform Greenhouse about scheduled interviews so that it can send out email reminders to the interviewers.
- Patch: Update a scheduled interview - We use this to update scheduled interviews when you edit an existing schedule.
-
Activity Feed
- Get: Retrieve Activity Feed - We use this to sync availabilities that candidates submit to Greenhouse.
-
Jobs
- Get: List Jobs - We use this to sync jobs from Greenhouse and keep the data in Gem Scheduling up-to-date.
-
Job Posts
- Get: List Job Posts - We use this to sync external job post names from Greenhouse and keep the data in Gem Scheduling up-to-date.
-
Job Stages
- Get: List Job Stages - We use this to sync job stages from Greenhouse and keep the data in Gem Scheduling up-to-date.
-
Offices
- Get: List Offices - We use this to sync offices from Greenhouse and keep the data in Gem Scheduling up-to-date.