How do I set up the Greenhouse Offer Created webhook with OAuth?

  • Updated

Remote's Greenhouse integration uses OAuth (Harvest v3) credentials for the Offer created webhook. This article explains how to create the required webhook, offer fields, and OAuth credentials in Greenhouse, then store the credentials in Remote.

Note: Greenhouse Harvest API v1 and v2 will be unavailable after August 31, 2026. If you still use a legacy Harvest API key for the Offer created webhook, complete this migration before that date.

Before you start

You need:

  • Access to your Remote company account
  • Greenhouse Site Admin access to Dev Center and Custom Options
  • An Offer created webhook in Greenhouse
  • Two required Greenhouse offer fields
  • Harvest v3 (OAuth) credentials with the required scopes.

In Remote, go to Company settings → Integrations → Integrations & APIs → Greenhouse and find Offer created under Greenhouse webhooks in Remote. Click on Add against Offer created.

If you see Create Harvest API key instead of Create OAuth credentials, contact help@remote.com before continuing.

Add the required offer fields in Greenhouse

Remote needs both fields before either Greenhouse webhook can create an onboarding profile.

In Greenhouse, select the gear icon, then go to Custom Options → Offers.

Send New Hire Information to Remote for Onboarding

  1. Select Add Field.
  2. Set Field name to Send New Hire Information to Remote for Onboarding.
  3. Set Field type to Yes/No.
  4. Select Required, then select Save.

When creating an offer or marking a candidate as hired, set this field to Yes to send the candidate to Remote.

Country

  1. On Custom Options → Offers, select Add Field again.
  2. Set Field name to Country.
  3. Set Field type to Single select.
  4. In the Remote setup wizard, use Click here to copy all country options, then add those options in Greenhouse.
  5. Select Required, then select Save.

If you already have a country offer field, you can reuse it only if its Greenhouse field key starts with country, for example a field named Country. A field such as Work country might not work. If you are unsure, add the Country field described above.

Create the Offer Created Webhook

  1. In Greenhouse, select the gear icon.
  2. Go to Dev Center → Webhooks → Webhooks.
  3. On Create a New Web Hook, enter:
    • Name this web hook: Remote Greenhouse Integration
    • When: Offer created
    • Endpoint URL: Copy from Remote. Do not use the OAuth Client ID here.
    • Secret key: Copy from Remote.
    • Error Recipient Email: Your company email address.
    • Decativated?: No
  4. Under Advanced Settings, set Maximum Attempts to 1.
  5. Select Create Webhook.

7. Return to Remote and select Check connection.

Click Continue only after Remote shows Connection successful.

Create Harvest v3 OAuth credentials

  1. In Greenhouse, select the gear icon.
  2. Go to Dev Center → API Credential Management.
  3. Select Create new API credentials.
  4. Set API type to Harvest v3 (OAuth).
  5. For Partner, select Remote if it is available. Otherwise, select Unlisted vendor.
  6. Enter a description such as Remote Greenhouse Integration.
  7. Continue to create the credential, then copy the Client ID and Client secret.
  8. Select I have stored the client credentials when Greenhouse prompts you.

Greenhouse shows the Client secret only once when the credential is created or rotated. Store it securely before leaving the page.

Add the required OAuth scopes

Harvest v3 OAuth credentials must have scopes enabled in Greenhouse before Remote can obtain an access token. Remote does not send scope names in its client-credentials token request; Greenhouse applies the scopes saved on the credential.

Enable these scopes:

Greenhouse resource Scope Why Remote needs it
Applications harvest:applications:list Fetch application data when an offer is created (GET /v3/applications)
Candidates harvest:candidates:list Fetch candidate profile details (GET /v3/candidates)
Jobs harvest:jobs:list Resolve the job title associated with the offer (GET /v3/jobs)

To add them:

  1. In Dev Center → API Credential Management, edit the Harvest v3 credential.
  2. Open Manage permissions or Manage scopes.
  3. Expand Applications and enable harvest:applications:list.
  4. Expand Candidates and enable harvest:candidates:list.
  5. Expand Jobs and enable harvest:jobs:list.
  6. Select Save.

Complete this step before storing the credentials in Remote.

Important: If no scopes are enabled, Greenhouse rejects the token request with 400 Bad Request Params and Client application is not requesting any scopes.

For more information, see Greenhouse Harvest v3 authentication and Manage Harvest API credentials permissions.

Store the OAuth credentials in Remote

  1. Return to the Setting up Offer created webhook wizard in Remote.
  2. Select Continue after the webhook connection succeeds.
  3. Under Create OAuth credentials, paste the values into:
    • Client ID from Greenhouse
    • Client secret from Greenhouse
  4. Select Store OAuth credentials.
  5. Confirm that Remote shows Remote stored your OAuth credentials.
  6. Select Finish, then confirm Finish setup.

Update OAuth credentials later

  1. Go to Company settings → Integrations → Integrations & APIs → Greenhouse.
  2. On the Offer created row, select Manage credentials.
  3. Select Update OAuth credentials.
  4. Paste the new Client ID and Client secret.
  5. Select Store OAuth credentials and confirm that Remote stored them.
  6. Select Finish.

Manage credentials appears after the Offer created webhook has been added.

Verify the migration before revoking the legacy key

Check connection verifies the webhook connection; it does not verify that OAuth can fetch application, candidate, and job data.

After storing the OAuth credentials:

  1. Trigger an Offer created flow in Greenhouse using a suitable test candidate.
  2. Set Send New Hire Information to Remote for Onboarding to Yes.
  3. Select a Country and make sure the candidate has a personal email address.
  4. Confirm that the candidate profile is created or updated in Remote.
  5. Contact help@remote.com and ask Remote Support to confirm that the test used OAuth v3 and that the legacy credential is no longer needed.

Keep the legacy Harvest API key active until Remote Support confirms both points. You can then revoke the legacy v1/v2 credential in Greenhouse → Dev Center → API Credential Management.

Do not revoke it before confirmation. Greenhouse revocation takes effect immediately and can interrupt the integration if the credential is still in use.

Troubleshooting

The candidate does not appear in Remote

Confirm that:

  • Check connection showed Connection successful;
  • Send New Hire Information to Remote for Onboarding is set to Yes;
  • Country is filled in;
  • the candidate has a personal email address;
  • the Client ID and Client secret were copied without extra spaces;
  • the credential type is Harvest v3 (OAuth); and
  • all three required scopes are enabled.

Webhook processing can take a few minutes. If the candidate still does not appear, contact help@remote.com.

“Client application is not requesting any scopes”

This message means the Harvest v3 credential exists, but the required scopes are not enabled in Greenhouse.

  1. In Greenhouse, go to Dev Center → API Credential Management.
  2. Edit the Harvest v3 credential used for Remote.
  3. Open Manage permissions or Manage scopes.
  4. Enable:
    • harvest:applications:list
    • harvest:candidates:list
    • harvest:jobs:list
  5. Select Save.
  6. In Remote, open Manage credentials for Offer created and select Store OAuth credentials again.

You can reuse the same Client ID and Client secret unless you rotated or revoked the credential.

Was this article helpful?

0 out of 0 found this helpful

Submit a request

Comments

0 comments

Please sign in to leave a comment.