Skip to main content

Connect Greenhouse to Metaintro

Create a Harvest v3 credential in Greenhouse Recruiting, connect it in Metaintro, and add a webhook so stage changes come back.

Employers

Paste it into Claude, ChatGPT, Codex, Cursor or Pi.

Before you start

You need a Greenhouse Recruiting user who can manage all of your organization's API credentials. Greenhouse lists this as a developer permission, and Site Admins have it. Harvest API credentials are available on the Greenhouse Recruiting Core, Plus and Pro plans.

To add the webhook that sends stage changes, the same person, or another user, needs the developer permission to manage and configure web hooks.

You will paste these into Metaintro:

  • The client ID of a Harvest v3 (OAuth) credential.

  • Its client secret. Greenhouse shows the secret only once, so keep the page open until you have pasted it.

  • Optionally, the user ID of a Greenhouse user that Metaintro should act as.

Create the credential in Greenhouse

  1. Select the Configure icon on your navigation bar, then select Dev Center on the left.

  2. Select API Credential Management, then Create new API credentials.

  3. For API type, choose Harvest v3 (OAuth).

  4. For Partner, Metaintro is not in the list. Greenhouse says to choose Unlisted vendor when the integration isn't listed.

  5. For Description, enter a name such as Metaintro.

  6. Continue to the credentials, select Copy, and keep the client ID and client secret somewhere safe until you paste them into Metaintro. Then select I have stored the client credentials.

  7. On the permissions screen, expand the Harvest section and turn on only what Metaintro uses: list jobs, list candidates, create candidates, list applications, create applications, move applications, create attachments, create notes, and list job interview stages. Select Save.

To change these permissions later, open the credential's three-dot menu and select Edit.

Greenhouse's guide: Manage Harvest API credentials permissions.

Greenhouse's API reads lists of jobs, candidates and applications only for a Site Admin. If you leave the user ID blank, Metaintro acts as the integration user Greenhouse creates with the credential. If you enter a user ID, choose a Site Admin. To find a user's ID, open that user in Greenhouse and use the number in the address bar (Greenhouse authentication guide).

Connect in Metaintro

  1. In Metaintro, go to Settings > Integrations.

  2. Choose Greenhouse.

  3. In Harvest v3 client ID, paste the client ID.

  4. In Client secret, paste the client secret.

  5. Optionally, in Greenhouse user ID to act as, enter the Site Admin's numeric user ID. Notes and stage moves are then recorded as that user.

  6. Select Connect.

Metaintro checks the credential by reading one job from Greenhouse. It then shows a webhook address and a secret key. Copy both now, because Metaintro shows the secret key only once.

Then add the webhook in Greenhouse:

  1. Select the Configure icon, then Dev Center, then Web hooks, then Web hooks again.

  2. Enter a name, such as Metaintro stage changes.

  3. In When, choose the event for a candidate changing stage.

  4. In Endpoint URL, paste the webhook address from Metaintro.

  5. In Secret Key, paste the secret key from Metaintro.

  6. Select Create webhook. Greenhouse checks the address right away.

  7. Repeat for the events for a candidate being hired and a candidate being rejected, using the same address and secret key.

Greenhouse's guide: Create a webhook.

Finally, map your Greenhouse jobs to your Metaintro jobs, set your rules, preview, and go live.

What Metaintro sends and reads

Metaintro only sends people who chose to share their details with you for a job. For each person, Metaintro:

  • Looks for an existing Greenhouse candidate with the same email address. If it finds exactly one, it uses that candidate. If it finds more than one, it stops and does not guess.

  • Otherwise creates a candidate with their name, email and phone, tagged Metaintro.

  • Adds an application on the job you mapped, if they don't already have one.

  • Attaches their résumé to that application when they shared one.

  • Adds a note with a link to their proof card and any summary they shared.

Metaintro reads your open jobs so you can map them, and reads each application's current stage. When your webhook reports a stage change, a hire or a rejection, Metaintro reads the application again and updates its record.

When you move someone to Interviewing or Offer in Metaintro, Metaintro moves their Greenhouse application to the first matching stage on that job's interview plan. It never hires or rejects anyone in Greenhouse.

Limits

  • Greenhouse limits how many requests each credential can make in every 30-second window. Metaintro paces its requests and, when Greenhouse asks it to slow down, waits and tries again.

  • Metaintro does not set the candidate's source in Greenhouse. It tags new candidates Metaintro instead.

  • Metaintro finds existing candidates by email only. Someone who shared without an email always gets a new candidate.

  • When Metaintro attaches a résumé, Greenhouse moves any earlier résumé on that application to other attachments.

  • Only open jobs appear when you map jobs. Metaintro does not read job locations from Greenhouse.

  • Stage moves only work for applications that are active on a job interview plan, and only when the plan has a stage whose name matches, such as a screen or interview stage, or Offer.

  • Without the webhook, Greenhouse does not tell Metaintro when a stage changes.

If something goes wrong

  • Client ID or secret rejected: copy them again from Greenhouse. If the secret was rotated or lost, open the credential's three-dot menu, select Edit, rotate the client secret, and paste the new one into Metaintro.

  • Missing permission: open the credential's three-dot menu, select Edit, and turn on every permission listed above. If you entered a user ID, make sure that user is a Site Admin, or leave the field blank.

  • Rate limited: Metaintro waits for the time Greenhouse asks for and tries again. No action is needed unless it keeps happening.

  • Stage changes are not arriving: in Dev Center > Web hooks, check that each Metaintro webhook is enabled. Greenhouse disables a webhook when its first check fails. If you no longer have the secret key, rotate it in Metaintro and paste the new key into every Metaintro webhook in Greenhouse.

  • A person was not sent: if more than one Greenhouse candidate has their email, Metaintro does not choose between them. Merge the duplicate candidates in Greenhouse and share again.

Was this article helpful?

Related Articles

Return to navigation