Greenhouse
Connect Greenhouse to Ploy to see every user in your Greenhouse Recruiting organization, whether they are active or deactivated, and who is a site admin. Ploy can also add users, deactivate and reactivate them, and demote a user to Basic.
Ploy connects through Greenhouse's Harvest v3 API with an OAuth credential that you create in Greenhouse. Greenhouse switched off its older Harvest API keys (v1 and v2) on 31 August 2026, so a Harvest API key will not work.
This integration is in beta
The Greenhouse integration is in beta. It was built from Greenhouse's Harvest v3 API documentation and has not yet been checked against a live Greenhouse organization, so some details may need adjusting once customers connect it. Beta does not limit what the integration can do.
The first step of setup is a consent checkbox. Ticking it lets Ploy capture redacted error data when a request to Greenhouse fails: the error response Greenhouse sends back, with personal details, keys and other secrets removed. Ploy uses it only to fix problems with this integration. You must tick the box to continue.
What Ploy reads
Every Greenhouse user, including deactivated users, with their name and email addresses
Whether each user is active or deactivated
Whether each user is a site admin
Ploy does not read candidates, applications, offers, scorecards or jobs. Job-level permissions, hiring teams, departments and offices are not scanned yet.
Before you start
You need a Greenhouse user who can manage API credentials: the Can manage ALL organization's API Credentials permission, found under Developer permissions in a Greenhouse permission set. Site admins usually have it.
Create a Harvest v3 credential in Greenhouse
Sign in to Greenhouse.
Go to Configure, then Dev Center, then API Credentials.
Create a new credential and choose the type Harvest V3 (OAuth).
Grant the scope harvest:users:list, so Ploy can scan your users.
To let Ploy manage access, also grant harvest:users:create, harvest:users:deactivate, harvest:users:activate and harvest:users:revoke_permissions.
Save the credential. Copy the Client ID and the Client Secret. Treat the secret like a password.
Greenhouse creates a service user for the credential. Changes Ploy makes are recorded against that user in Greenhouse, and it is not listed among your users in Ploy.
Connect Greenhouse in Ploy
In Ploy, open Integrations and choose Greenhouse.
Tick the beta consent checkbox.
Paste the Client ID and the Client Secret.
Click Test. Ploy reads your Greenhouse users to check the credential works.
Finish the setup. The first scan starts straight away.
Things to know
Deactivated users show as having lost access straight away.
Site admins carry a Site Admin label in Ploy. When someone stops being a site admin, the label is removed on the next scan.
Greenhouse has no way to delete a user. To remove someone's access from Ploy, deactivate them. Reactivating them restores their access and permissions.
Users added from Ploy always start with Basic permissions, because Greenhouse does not allow creating a site admin through its API. Greenhouse emails them an invitation to set a password.
The only permission change Ploy can make is a demotion to Basic. It removes site admin and every job permission the user held, and cannot be undone from Ploy. Promote users in Greenhouse.
If you rotate the client secret in Greenhouse, update it in the Greenhouse connection in Ploy. Greenhouse keeps the old secret working for up to a week.
Troubleshooting
Greenhouse rejected that client ID and secret: check both were copied in full from a Harvest V3 (OAuth) credential, and that the credential still exists.
That credential cannot list users: edit the credential in Greenhouse and grant the harvest:users:list scope, then test again.
Greenhouse refused the change: the credential is missing the scope for that change. Edit the credential in Greenhouse and grant it, then try again.
Greenhouse refused the change, with a reason: the message shows Greenhouse's reason, for example an email address that is already in use.