At a glance
- Availability: Experimental (how to enable).
- Auth: Basic auth.
- Connection: HTTP Basic auth with
GREENHOUSE_API_KEYas the username andGREENHOUSE_API_PASSWORDas the password. - Docs: https://developers.greenhouse.io/harvest.html#authentication
Credentials
Set these per environment. See Connect an integration.| Variable | Required | Description |
|---|---|---|
GREENHOUSE_API_KEY | Yes | Greenhouse Harvest API key (used as the HTTP Basic username; the password is blank). Created in the Dev Center under API Credential Management Docs. |
GREENHOUSE_API_PASSWORD | No | Leave empty - Greenhouse Harvest Basic auth uses the API key as username with a blank password Docs. |
Setup
- Get Greenhouse access: You need a Greenhouse Recruiting account; ask your Greenhouse admin for access or request a demo/sandbox at https://www.greenhouse.com. Creating API keys requires the ‘Can manage ALL organization’s API Credentials’ developer permission.
- Create a Harvest API key: In Greenhouse, go to Configure (gear icon) → Dev Center → API Credential Management → Create New API Key, choose type ‘Harvest’, and grant only the endpoints you need (Jobs, Candidates, Applications).
- Store the key: Add GREENHOUSE_API_KEY=<your key> to your .env file and leave GREENHOUSE_API_PASSWORD empty. The Harvest API uses HTTP Basic auth with the key as username and a blank password.
- Find your user ID for writes: Write requests must include an On-Behalf-Of header with the numeric ID of the Greenhouse user performing the action (look it up via the Harvest Users endpoint or the Greenhouse UI).
- Each API key is restricted to the endpoints granted at creation - a 403 usually means the key lacks that endpoint
- All write endpoints (POST/PATCH/DELETE) require the On-Behalf-Of header for auditing
- List endpoints return plain JSON arrays and paginate via per_page/page with RFC 5988 Link response headers
Tools
| Tool | Access | Description |
|---|---|---|
| List Jobs | Read | List jobs in the Greenhouse organization with optional status and date filtering |
| List Candidates | Read | List candidates with optional job, email, and date filtering |
| Get Candidate | Read | Get a candidate’s full record, including applications, attachments, and contact details |
| List Applications | Read | List applications with optional job, status, and activity filtering |
| List Users | Read | List Greenhouse users to find the numeric user IDs needed for On-Behalf-Of headers and notes |
| List Job Stages | Read | List the interview stages of a job to find the stage IDs needed to move applications |
| Move Application | Write | Move an active application to another stage on the same job (the core pipeline action) |
| Add Candidate Note | Write | Create a note on a candidate’s activity feed (requires the acting Greenhouse user’s ID) |
Example prompts
- List my open jobs in Greenhouse and summarize active applications per job.
- Show me candidates added to Greenhouse in the last week with their current application status.
- Look up a candidate I specify in Greenhouse and add a note to their activity feed with my feedback.