These instructions are for Greenhouse Harvest API v1/v2.
Coming Soon: Greenhouse Harvest API v3
We are aware that Greenhouse will be deprecating Harvest API v1 and v2 as of August 31, 2026 and will be updating these instructions to reflect those changes.
Grayscale’s conversational recruiting platform makes it easy to text with candidates from within Greenhouse, while automating repetitive tasks in the hiring process.
Integration Steps
Jump ahead to see functionality you're enabling ✨
NOTE: These tasks must be completed by a Greenhouse implementation user with Site Admin access. They must have the following Developer Permissions:
Manage ALL organization’s API Credentials
Manage and configure webhooks
STEP 1: Create new API credentials
In Greenhouse
Click on the Configure icon
in the upper right-hand corner
Navigate to Dev Center on the left-hand panel
From the Dev Center page, click API Credential Management
From the API Credential Management page, click Create new API credentials
From the Create New Credential dialog box, make the following selections:
When finished, click Manage Permissions to generate the Harvest API key and automatically assign it the appropriate permissions required by Grayscale.
On the API key successfully created pop-up, click Copy to save your API key to your clipboard. Store the API key in a secure location to provide to Grayscale 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 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.
STEP 2 : Manage Permissions
On the Manage API Key Permissions page, click Select All, then scroll to the bottom and click Save.
NOTE: Only want to include the minimum number of permissions with your API key? Here is the list needed to power Grayscale's current capabilities:
Activity Feed
Applications
Candidates
Job Posts
Job Stages
Jobs
Offers
Prospect Pool (Greenhouse CRM customers only)
Scheduled Interviews
Tags
User Roles
Users
IP Limiting
If you enable Greenhouse's IP limiting feature, please ensure the following IP addresses are whitelisted/allowed:
3.225.131.100
52.205.52.97
STEP 3: Activate Greenhouse integration in Grayscale
In Grayscale
Navigate to your Grayscale Settings > Integrations > Set Up in the Greenhouse tile.
Select the Recruiting checkbox and click Next
In the Harvest API Key field, paste your API key.
Choose a user from the Post Notes As dropdown that the integration can use to post notes to candidate Activity Feeds.
We recommend the Greenhouse administrator; they do not need to be a Grayscale user. Here's an example:
Then hit Next
Review Permissions to ensure your new API key has the appropriate permissions, then click Save
STEP 4: Enable SMS Consent Management
Configure SMS Consent – See SMS Consent Management – Greenhouse ATS for step-by-step instructions
Enter the SMS Consent field key created during Step 1 – Configure Candidate Field
Permissive Mode Checkbox
Leave unchecked for Strict SMS consent enforcement – Users will only be able to communicate with candidates who have responded YES to the SMS consent question
Check the box for Permissive SMS consent enforcement – Users will not be able to text candidates who have responded NO to the consent question
Click Save
STEP 5: Enable Web Hooks in Greenhouse
Once you save the API key and messaging consent configuration, you'll see a section appear labeled Incoming Webhooks.
You'll copy both the URL and Secret and paste back in Greenhouse (details below).
PRO TIP: We recommend copying and pasting the URL and Secret code somewhere you can easily access again, as you'll be doing a bit of copy/paste in steps to follow.
Create New Greenhouse Webhooks
In Greenhouse
Click on the Configure icon
in the upper right-hand corner
Navigate to Dev Center on the left-hand panel
From the Dev Center menu, scroll to the bottom click Webhooks. Then click Webhooks one more time.
You will be directed to the below page to Create A New Webhook
Create the following 9 webhooks using the Incoming Webhooks URL and Secret Key found on the Grayscale Integration Details page
Name this webhook | When | Endpoint URL | Secret Key |
Grayscale: Delete Application | Delete Application | Copy + Paste: | Copy + Paste: |
Grayscale: Delete Candidate | Delete Candidate | Copy + Paste: | Copy + Paste: |
Grayscale: Merged Candidate | Merged Candidate | Copy + Paste: | Copy + Paste: |
Grayscale: Candidate Has Changed Stage | Candidate Has Changed Stage | Copy + Paste: | Copy + Paste: |
Grayscale: Candidate Has Been Hired | Candidate Has Been Hired | Copy + Paste: | Copy + Paste: |
Grayscale: Candidate or Prospect Rejected | Candidate or Prospect Rejected | Copy + Paste: | Copy + Paste: |
Grayscale: Candidate Has Submitted Application | Candidate Has Submitted Application | Copy + Paste: | Copy + Paste: |
Grayscale: Candidate Has Been Unhired | Candidate Has Been Unhired | Copy + Paste: | Copy + Paste: |
Grayscale: Job Deleted | Job Deleted | Copy + Paste: | Copy + Paste: |
Whew, you made it! Your Greenhouse integration is all set up and ready to go!
The Functionality You Just Enabled 💫
Activity Feed Sync
Your conversation history will be automatically saved in the Activity Feed for the candidate, so you have a record of the texting conversation directly on the candidate profile.
NOTE: We import the entire conversation 1 hour after the last message is sent/received to ensure the entire communication is organized together in the same note.
Seamless Bulk Messaging
When sending bulk messages, you'll be able to search open jobs in Greenhouse directly from our Chrome extension to find relevant candidates to message.
So if you want to quickly bulk message all candidates at the Phone Interview stage of an open req, just search for the job, select the stage, and off you go!
For Greenhouse CRM customers, you'll be able to search by Pools and select all candidates at specific stages.
Quick Search Across All Greenhouse Candidates & Prospects
Seamlessly search across all your candidates in Greenhouse to find the right candidate to message.
Updating the Post Notes As user in Grayscale
Note: The Post Notes As user must be a Site Admin in Greenhouse
In order for Grayscale Transcripts to sync in Greenhouse, you'll need to select a Greenhouse Site Admin as the Post Notes As user in Grayscale. Once a Post Notes As user has been selected, the Grayscale conversation transcripts will begin or resume syncing in the Greenhouse activity log.
If you are having trouble with the transcripts, a good place to start is to make sure that the Post Notes As user is still set to an active Greenhouse user account.
Here's how to change the Post Notes As user in Grayscale:
Log into Grayscale (this requires Admin permissions, so if you aren't an Admin, ask your Admin to perform these steps for you)
Go to Settings
Click Integrations at the bottom of the page
Click Edit under Greenhouse
Click the Edit Credentials
Click the Next button until you see the POST NOTES AS field
Click the POST NOTES AS dropdown to open the search panel
Enter the email address of the Greenhouse user you wish to use
When you see the user you want in the list, click on them
Click Next
Click Save
Click the 'X' to close the configuration panel
Setting up a generic Post Notes As user
If you don't want to user a specific person's Greenhouse account, you can create a generic admin account in Greenhouse to use as the Post Notes As user. Here's the Greenhouse article on how to do that!
FAQs
My texting history isn’t displaying within the Activity Feed.
My texting history isn’t displaying within the Activity Feed.
We update the activity feed one hour after the latest text message was sent/received for that candidate. This ensures your entire conversation is organized within the same note in the feed. If it’s been over an hour, try refreshing the page.
If it's still not working, you may need to update your Post Notes As user in Grayscale, see Updating the Post Notes As user in Grayscale to troubleshoot.
My Greenhouse API key turned red when I created it in Greenhouse. Is that normal?
My Greenhouse API key turned red when I created it in Greenhouse. Is that normal?
No, your API key should be green. If it's red, that means there's a problem with how it's set up. Go back through the API key setup steps above, and if the problem persists, you may need to loop in Greenhouse support. We're here to help troubleshoot as well.
Still having issues? Live chat with us below and we'll help you out!






























