Skip to content

Integration · Payroll & HR

Connect Claude & ChatGPT to Greenhouse

Ask your AI who applied for a job, where a candidate is in the process, or which scorecards are still missing, and get the answer from Greenhouse. It can read candidates, applications, jobs, openings, job posts, interviews, scorecards, offers and attachments. It can also create and update candidates, move applications between stages, schedule interviews, and reject or hire, with your approval if you want it.

Connect Greenhouse free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Which active applications do we have for the Backend Developer job?”

    The AI finds the job and lists its active applications with candidate and current stage.

  • “Move Sara Jensen to the Onsite Interview stage.”

    It looks up the job's stages and moves her application from its current stage to the new one.

  • “Which scorecards were submitted for Sara's interviews?”

    It lists the scorecards on her application with interviewer and status.

What your AI can do

Candidates and applications

Search, create, update and tag candidates, list applications and stage history, and move, reject or hire.

Jobs and openings

List jobs, openings, job posts, interview stages and interview types, create a job from an existing one and update it.

Interviews, scorecards and offers

List, record, reschedule and delete interviews, and read scorecards, offers and candidate attachments.

  • “Add the candidate Lars Holm, [email protected], with the tag Referral.”

    It creates the candidate with name and email and adds the Referral tag.

  • “Reject Mark Olsen's application with the reason Not a fit, without emailing him.”

    It looks up the rejection reasons and rejects the application. No email is sent unless you ask for one.

  • “Which interviews are scheduled for next week?”

    It lists interviews in that date range with application, interviewers and times.

30 tools for Greenhouse

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • add_attachmentChanges dataAttach a file to an application: `application_id`, `filename`, `type` (e.g. resume, cover_letter) and the file as a public `url` or base64 `content`.
  • create_candidateChanges dataCreate a candidate with `first_name`, `last_name` and optional email addresses, phone numbers, company, title, tags and custom fields.
  • create_jobChanges dataCreate a job by copying an existing job (`template_job_id`) with `number_of_openings`, and optional `job_name`, department, offices and requisition ID.
  • delete_interviewDeletesDelete a scheduled interview by its ID. Cannot be undone.
  • hire_applicationChanges dataMark an application as hired by `application_id`, with optional `start_date`, `opening_id` and `close_reason_id`. This fills the job opening.
  • list_application_stage_historyList the stages an application has been in, by `application_ids`; set `current` for only the current stage.
  • list_applicationsList applications, filtered by `candidate_ids`, `job_ids`, `stage_ids`, `status` (active, rejected, hired) or dates. Each application links a candidate to a job. Paginate with `cursor`.
  • list_attachmentsList candidate attachments (resumes, cover letters) by `candidate_ids` or `application_ids`.
  • list_candidate_tagsList the candidate tags available in your account.
  • list_candidatesList candidates, filtered by `email`, `tag`, `ids` or created/updated/last-activity date ranges. Paginate with `cursor`.
  • list_departmentsList departments.
  • list_interviewsList scheduled interviews, filtered by `application_ids`, `job_ids`, `status` or `starts_at` date range. Paginate with `cursor`.
  • list_job_interview_typesList the interview types defined for jobs (by `job_ids` or `job_interview_stage_ids`). Needed as `job_interview_id` when scheduling.
  • list_job_postsList job posts (the public ads for jobs), by `job_ids`, `live` or `active`.
  • list_job_stagesList the interview stages of jobs, by `job_ids`. Use stage IDs to move applications.
  • list_jobsList jobs, filtered by `status` (open, closed, draft), `department_id`, `office_id`, `requisition_id` or dates. Paginate with `cursor`.
  • list_offersList offers, filtered by `application_ids`, `candidate_ids`, `job_ids`, `status` or dates; set `current_only` for the latest version.
  • list_officesList offices.
  • list_openingsList job openings (headcount slots), by `job_ids`, `open` status or dates.
  • list_rejection_reasonsList rejection reasons for use when rejecting an application.
  • list_scorecardsList interview scorecards (feedback), by `application_ids`, `interviewer_ids`, `status` or submitted date.
  • list_usersList Greenhouse users (recruiters, interviewers), filtered by `primary_email`, department or office.
  • move_application_stageChanges dataMove an application to another interview stage: `application_id`, current `from_stage_id` and `to_stage_id` (or `to_job_id` to move it to another job).
  • reject_applicationVisible to othersReject an application by `application_id` with a `rejection_reason_id` and optional `notes`. If you pass `rejection_email`, the candidate is emailed.
  • schedule_interviewChanges dataRecord a scheduled interview for an application: `application_id`, `job_interview_id`, `interviewers`, `starts_at`, `ends_at`, your calendar `external_event_id`, and optional location or video link.
  • tag_candidateChanges dataAdd a tag to a candidate by `candidate_id` and `candidate_tag_id`.
  • update_applicationChanges dataUpdate an application by `application_id`: source, referrer, recruiter, coordinator or custom fields.
  • update_candidateChanges dataUpdate a candidate by `candidate_id`: name, contact details, company, title, tags or custom fields. Only the fields you pass change.
  • update_interviewChanges dataReschedule or change an interview by `interview_id`: times, interviewers, location or video link.
  • update_jobChanges dataUpdate a job by its ID (`project_id`): name, notes, department, offices, requisition ID or custom fields.

Set up in three steps

  1. 1

    Pick the app

    Create a free PipMCP account and choose Greenhouse from the app list.

  2. 2

    Paste your key

    Paste the Client ID and Client secret from a Harvest V3 (OAuth) API credential. In Greenhouse open API Credentials, click Create new API credentials, choose Harvest V3 (OAuth), save and configure the scopes the integration may use. List endpoints need the credential's user to be a Site Admin. PipMCP uses the credential to get access tokens, so there is no separate sign-in.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Greenhouse?

It can read candidates, applications, stage history, jobs, openings, job posts, stages, interview types, interviews, scorecards, offers, attachments, tags, users, departments, offices and rejection reasons. It can create and update candidates and jobs, tag candidates, add attachments, move applications, record and change interviews, and reject or hire applications.

Does the AI see my Greenhouse credentials?

No. Your Greenhouse credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start read-only. Rejecting can email the candidate, hiring fills a job opening and deleting an interview cannot be undone, so these can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your PipMCP link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

Greenhouse connects with OAuth, and OAuth connections need the PipMCP Pro plan or above. PipMCP also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Greenhouse account.

Will the candidate be emailed when the AI rejects them?

Only if the AI includes a rejection email in the request. Without it, the application is rejected in Greenhouse and no email goes out. You can require your approval for rejections, so you see the details before anything happens.

Let your AI work in Greenhouse today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Greenhouse free

PipMCP is not affiliated with Greenhouse. Product names are trademarks of their owners.