Greenhouse
Applicant tracking and recruiting software to optimize your entire recruiting process
Verdict
Common use cases
- Assign recruiters to new job postings in bulk
- Tag candidates during pipeline review meetings
- Anonymize candidate data for GDPR requests
- Block spam email domains after phishing wave
- Deactivate users when contractors roll off
Integration
- Vendor
- Greenhouse
- Category
- other
- Auth
- OAUTH2
- Tools
- 50
- Composio slug
greenhouse
Tools
- Add Greenhouse job owner
Add a Greenhouse user to a job's hiring team as a recruiter, sourcer, or coordinator via the Harvest v3 API. Use when you need to assign someone an owner role on a specific job so they participate in its recruiting workflow. Requires job_id
- Anonymize Greenhouse candidate
Tool to anonymize selected categories of personally identifiable data on a Greenhouse candidate via the Harvest v3 API, for GDPR or right-to-be-forgotten requests. Use when you must permanently redact specific classes of a candidate's PII (
- Apply Greenhouse candidate tag
Tool to apply an existing candidate tag to a candidate via the Greenhouse Harvest v3 API. Use when you want to label a candidate with a tag that already exists in the organization's candidate-tag dictionary. Both the candidate and the tag m
- Bulk create Greenhouse blocked spam sources
Tool to add multiple blocked spam sources to Greenhouse in a single request via the Harvest v3 API. Use when you need to block several IP addresses, email addresses, CIDR ranges, and/or email domains at once so future applications from them
- Bulk create Greenhouse custom field options
Tool to add many custom field options at once to select-type custom fields via the Greenhouse Harvest v3 API. Use when you need to create multiple options across one or more single_select/multi_select custom fields in a single call. The req
- Bulk create Greenhouse openings
Tool to asynchronously create many Greenhouse openings across one or more jobs in a single Harvest v3 call. Use when you need to add headcount slots in bulk and want a single submission that Greenhouse processes in the background. Returns a
- Bulk deactivate Greenhouse users
Tool to asynchronously deactivate many Greenhouse users in a single Harvest v3 call, up to the bulk-endpoint cap per request. Use when you need to revoke sign-in access for several users at once (for example when offboarding a group of empl
- Bulk delete Greenhouse custom field optionsdestructive
Tool to archive many custom field options at once by id via the Greenhouse Harvest v3 API. Use when you need to remove multiple options from one or more select-type custom fields in a single call. This is destructive: archived custom field
- Bulk update Greenhouse blocked spam sources
Tool to asynchronously update the note on many Greenhouse blocked spam sources in a single Harvest v3 call. Use when you need to revise notes on multiple blocklist entries at once and want a single submission that Greenhouse processes in th
- Bulk update Greenhouse custom field options
Tool to asynchronously edit many Greenhouse custom field options in a single Harvest v3 call. Use when you need to rename, reorder, or set external ids on several options at once and want a single submission that Greenhouse processes in the
- Bulk update Greenhouse departments
Tool to asynchronously update many Greenhouse departments in a single call via the Harvest v3 API. Use when you need to rename or re-key several departments at once, each identified by its Greenhouse id, up to Greenhouse's bulk-endpoint cap
- Bulk update Greenhouse offices
Tool to asynchronously update many Greenhouse offices in a single Harvest v3 call. Use when you need to rename offices, set or clear their location or external_id, or reposition them in the office tree in bulk, and want a single submission
- Bulk update Greenhouse openings
Tool to asynchronously update many Greenhouse openings in a single call via the Harvest v3 API. Use when you need to re-key, open, close, or update custom fields on several openings at once, each identified by its immutable Greenhouse id, u
- Bulk update Greenhouse users
Tool to asynchronously update many Greenhouse users in a single call via the Harvest v3 API. Use when you need to change fields on several users at once (for example an HRIS sync updating job titles, offices, departments, or custom fields),
- Create Greenhouse application
Tool to create a new application for an existing Greenhouse candidate via the Harvest v3 API. Use when you need to attach a candidate to a job (supply candidate_id and job_id) or register a sourced candidate as a prospect (supply candidate_
- Create Greenhouse approval flow
Tool to create a multi-step approval flow on a Greenhouse job via the Harvest v3 API. Use when you need to gate a job opening or offer behind one or more tiers of approvers, supplying the job_id, approval_type, whether the tiers resolve seq
- Create Greenhouse attachment
Tool to attach a file to an existing Greenhouse application via the Harvest v3 API. Use when you need to upload a document (resume, cover letter, offer letter, etc.) to a candidate's application, supplying the application_id, filename, type
- Create Greenhouse blocked spam source
Tool to add a new IP address, CIDR range, email address, or email domain to the organization's spam blocklist via the Greenhouse Harvest v3 API. Use when you need to block a sender or network source so that future applications and emails fr
- Create Greenhouse candidate
Tool to create a new candidate profile in Greenhouse via the Harvest v3 API. Use when you need to add a candidate to your organization, optionally creating their first application (an applicant on a specific job, or a prospect) in the same
- Create Greenhouse candidate education
Tool to add a new education entry to a Greenhouse candidate's profile via the Harvest v3 API. Use when you need to record a candidate's schooling, including the school, degree, and discipline (referenced by custom-field option ids) along wi
- Create Greenhouse candidate employment
Tool to add a new work-history (employment) entry to a Greenhouse candidate's profile via the Harvest v3 API. Use when you need to record a candidate's past or current role. The candidate id, company name, job title, and start date are requ
- Create Greenhouse candidate note
Tool to create a candidate note, log an email, or record an activity-feed entry on a Greenhouse candidate via the Harvest v3 API. Use when you need to attach a note (note_type NOTE), a logged email (note_type EMAIL, which also requires subj
- Create Greenhouse candidate tag
Tool to add a new tag to the organization's candidate-tag dictionary via the Greenhouse Harvest v3 API. Use when you need to register a reusable candidate tag (by name) so it can later be applied to candidates. Tag names are case-insensitiv
- Create Greenhouse custom field
Tool to add a new custom field to your organization's dictionary via the Greenhouse Harvest v3 API. Use when you need to define a new custom data point (text, number, currency, select, date, etc.) on jobs, candidates, applications, offers,
- Create Greenhouse custom field department
Tool to restrict a custom field's visibility to one additional department via the Greenhouse Harvest v3 API. Use when you want a custom field to appear only on jobs, offers, or candidates that belong to specific departments and need to add
- Create Greenhouse custom field office
Tool to restrict a custom field's visibility to one additional office via the Greenhouse Harvest v3 API. Use when you need to make an existing job, opening, or offer custom field visible for one more office without replacing its existing of
- Create Greenhouse custom field option
Tool to add a new selectable value to a single_select or multi_select custom field via the Greenhouse Harvest v3 API. Use when you need to extend a custom field with an additional option (for example syncing option values from an external H
- Create Greenhouse department
Tool to create a new department for the organization via the Greenhouse Harvest v3 API. Use when you need to add a department with an optional external_id and an optional parent department (by id or external_id) to nest it in the department
- Create Greenhouse interview
Tool to create a scheduled interview against a candidate application in Greenhouse Harvest. Use when you need to place a candidate's interview onto the schedule with a start/end time, panel of interviewers, and the corresponding calendar ev
- Create Greenhouse job
Tool to create a new Greenhouse job from an existing template via the Harvest v3 API. Use when you need to spin up a new requisition that inherits its interview plan, scorecards, hiring team, and approval workflow from a template job. templ
- Create Greenhouse job hiring manager
Tool to assign a user as a hiring manager on a Greenhouse job via the Harvest v3 API. Use when you need to add an existing organization user to a job's hiring team in the hiring manager role. Both job_id and user_id are required and must re
- Create Greenhouse job note
Tool to create a free-form note attached to a Greenhouse job via the Harvest v3 API. Use when you need to record context, hiring decisions, or status updates on a specific job (identified by job_id) rather than on a candidate or application
- Create Greenhouse offer
Tool to create a new offer on an existing Greenhouse application via the Harvest v3 API. Use when you need to extend an offer to a candidate, supplying the application_id plus optional starts_on and custom_fields (compensation components an
- Create Greenhouse office
Tool to create a new office for the organization via the Greenhouse Harvest v3 API. Use when you need to add a recruiting location (e.g. for scoping jobs, candidates, or custom fields) to a Greenhouse organization. Only name is required; su
- Create Greenhouse opening
Tool to add a new opening (headcount slot) to an existing Greenhouse job via the Harvest v3 API. Use when a job needs additional headcount and you want to create one more opening that can be filled by a single hire. job_id is required; an o
- Create Greenhouse user
Create a new user in your Greenhouse Recruiting organization via the Harvest v3 API. Use when you need to onboard a recruiter, hiring manager, interviewer, coordinator, or other team member, optionally assigning offices/departments, an exte
- Create Greenhouse user email
Attach an additional email address to an existing Greenhouse user via the Harvest v3 API. Use when a recruiter, hiring manager, or other team member needs a secondary email address associated with their Greenhouse account, optionally trigge
- Deactivate Greenhouse user
Tool to deactivate a Greenhouse user via the Harvest v3 API, preventing that user from signing in while preserving their historical data. Use when you need to offboard or temporarily disable a recruiter, hiring manager, interviewer, coordin
- Delete Greenhouse applicationdestructive
Tool to permanently delete a single Greenhouse application via the Harvest v3 API, along with its interview stages, scorecards, rejection details, and prospect details. Use when you need to remove an application entirely; the parent candida
- Delete Greenhouse applied candidate tagdestructive
Tool to detach a single tag from a candidate in Greenhouse via the Harvest v3 API, identified by its applied candidate tag id. Use when you need to remove a tag association from a candidate. This action is irreversible: once deleted the tag
- Delete Greenhouse attachmentdestructive
Tool to permanently remove an attachment from its Greenhouse application via the Harvest v3 API, identified by its attachment id. Use when you need to delete a document (resume, cover letter, offer letter, etc.) that was previously uploaded
- Delete Greenhouse blocked spam sourcedestructive
Tool to permanently remove a single blocked spam source from Greenhouse via the Harvest v3 API. Use when an IP address, email address, CIDR range, or email domain was blocked by mistake or should no longer be blocked, so future applications
- Delete Greenhouse candidatedestructive
Tool to permanently delete a candidate from Greenhouse via the Harvest v3 API. Use when you need to fully remove a candidate and all of their associated applications, attachments, scorecards, notes, and other records identified by the candi
- Delete Greenhouse candidate educationdestructive
Tool to remove a single education entry from a Greenhouse candidate's profile via the Harvest v3 API. Use when you need to delete one specific education record from a candidate, identified by the education entry id. WARNING: this operation
- Delete Greenhouse candidate employmentdestructive
Tool to permanently delete a single employment entry from a candidate's profile in Greenhouse via the Harvest v3 API. Use when you need to remove an incorrect or outdated employment record identified by its candidate employment id. This act
- Delete Greenhouse candidate tagdestructive
Tool to delete a tag from your organization's candidate-tag dictionary in Greenhouse via the Harvest v3 API, identified by its candidate tag id. Use when you need to permanently remove a tag from the dictionary. This action is irreversible:
- Delete Greenhouse custom field officedestructive
Tool to remove an office from a custom field's visibility scope via the Greenhouse Harvest v3 API. Use when an existing job, opening, or offer custom field should no longer be restricted to a particular office and that office's association
- Delete Greenhouse custom field optiondestructive
Tool to archive a single custom field option via the Greenhouse Harvest v3 API so it can no longer be selected on new records. Use when an option of a select-type custom field should be retired while preserving it on existing records. This
- Grant Greenhouse user job permission
Grant a Greenhouse user a Job Admin role on a single job via the Harvest v3 API. Use when you need to give a recruiter, hiring manager, coordinator, or interviewer scoped access to manage one specific job at a defined permission level. Requ
- Reactivate Greenhouse user
Reactivate a previously deactivated Greenhouse user via the Harvest v3 API so they can sign in again. Use when you need to restore sign-in access for a user account that was previously deactivated, for example when an employee returns. Reac
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Click 'Add MCP' and select Greenhouse from the directory. 3. You'll be redirected to Greenhouse to authorize the connection; sign in with an account that has API admin permissions. 4. Grant the requested Harvest API scopes (candidates.view, candidates.edit, jobs.view, jobs.edit, users.view, users.edit, custom_fields.edit). 5. After approval, Greenhouse redirects you back to Switchy and the integration appears in your MCP list with a green 'Connected' badge. 6. To test, create a new Project in Switchy, type '@Greenhouse list my open jobs', and send the message. 7. The MCP should return a summary of active job postings; if it does, the connection is live and your team can start invoking tools in any Project thread.
What teammates see: by default, memories from Greenhouse are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Assign Hiring Team
@Greenhouse add Sarah Chen as recruiter and Mike Torres as coordinator to the Senior Backend Engineer job.
Tag Pipeline Candidates
@Greenhouse apply the 'Q2 Priority' tag to all candidates currently in the 'Phone Screen' stage for our Data Analyst roles.
Bulk Open Headcount
@Greenhouse create three openings for the Product Designer job and two openings for the DevOps Engineer job, all starting next month.
Block Spam Sources
@Greenhouse block the email domains spambot.xyz and fakeresume.net, plus the IP address 203.0.113.42.
Offboard Contractors
@Greenhouse deactivate the following users: alex@contractor.com, jamie@temp.agency, and taylor@seasonal.hire.
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@greenhouse show me all open engineering roles that have been unfilled for more than 60 days, grouped by hiring manager
Found 12 open engineering positions exceeding 60 days: **Sarah Chen (Engineering Manager)**: Senior Backend Engineer (posted 89 days ago, 3 candidates in final round), Staff SRE (posted 72 days ago, pipeline stalled at phone screen). **Marcus Liu (VP Engineering)**: Principal Architect (posted 94 days ago, 1 offer declined), Engineering Manager - Platform (posted 68 days ago, 5 active candidates). This illustrative summary shows how the MCP can surface aging requisitions by combining job status, opening date, and hiring-team data to help you prioritize recruiting efforts.
Requires OAuth scope to read jobs, openings, and hiring-team assignments. The MCP fetches live data but does not auto-refresh—rerun the prompt to see current state. Useful for weekly pipeline reviews when you need to spot bottlenecks across multiple hiring managers.
@greenhouse bulk-add the tag 'Q1-2025-priority' to all candidates currently in offer stage for Product Manager roles
Applied tag 'Q1-2025-priority' to 7 candidates: - Jane Doe (PM - Growth, offer extended Jan 3) - Alex Kim (Senior PM, offer pending legal review) - Taylor Morgan (PM - Platform, verbal acceptance received) …and 4 others. This illustrative example shows the MCP executing a bulk tagging operation. In practice, confirm the tag exists in your Greenhouse instance before running—this action is immediate and cannot be undone via the MCP.
Writes data to Greenhouse; requires OAuth scope for candidate tags. The tag must already exist in your organization's tag dictionary—this tool applies existing tags, it does not create new ones. Useful for cohort tracking (interview batches, diversity sourcing campaigns) but verify the candidate list before committing.
@greenhouse draft a summary email for our exec team: how many hires did we close last quarter, which departments are ahead or behind plan, and what our average time-to-fill was
**Q4 2024 Hiring Summary** We closed 23 hires against a plan of 28 (82% attainment). Engineering filled 9 of 12 roles (75%), Sales hit 6 of 6 (100%), and Product filled 3 of 5 (60%). Average time-to-fill was 47 days, up from 41 days in Q3—primarily driven by two Principal-level searches that took 80+ days each. This illustrative draft combines hire data, headcount plans, and cycle-time metrics. The AI synthesizes numbers the MCP retrieves; you should verify figures in Greenhouse reports before sending to leadership.
Combines read-only data (hires, openings, job metadata) with AI reasoning to produce narrative summaries. Requires OAuth scope for jobs and offers. The MCP does not access your internal headcount-plan spreadsheets—you may need to cross-reference those manually for true plan-vs-actual comparisons.
Use-case deep-dives
When you need to revoke ATS access for 15+ people in one go
A 30-person startup cuts its recruiting team from 18 to 4 after a funding round falls through. HR needs to deactivate Greenhouse logins for 14 former recruiters by end-of-day, and the web UI forces you to click through a confirmation dialog for each user. The bulk-deactivate tool in this MCP handles the entire list in one API call, finishing in under a minute. You'll need OAuth2 set up in advance—Greenhouse won't let you authenticate mid-crisis—and someone with user-management permissions must authorize the connection. If you're only offboarding one or two people a quarter, the manual flow is faster than configuring the MCP. But if you're running a reduction-in-force that touches recruiting ops, or if you regularly cycle contract recruiters, this MCP turns a 40-minute checklist into a single Switchy prompt.
Why this MCP matters for EU hiring compliance
A London-based fintech hires across the EU and receives 6-8 right-to-be-forgotten requests per month from candidates who didn't get the role. The legal team needs proof that PII was anonymized within 30 days, and Greenhouse's anonymize endpoint is the only compliant path—manual edits leave an audit trail that regulators flag. The anonymize tool in this MCP lets your ops lead run the redaction from Switchy, log the timestamp in a compliance sheet, and move on. You pick which PII categories to scrub (email, phone, resume text, notes), and Greenhouse handles the irreversible wipe. If your company only hires in the US or you get fewer than two requests a year, you can live in the Greenhouse UI. But if you're subject to GDPR and your candidate volume is above 500 applicants a quarter, this MCP is the difference between a manual compliance nightmare and a 10-second task.
When finance approves 40 new roles and you need them live today
A Series B SaaS company just closed their round and the board approved 40 new engineering and sales roles to be posted by Monday. The recruiting ops manager has a spreadsheet with job IDs, office locations, and opening counts, but Greenhouse makes you create each opening one at a time through the UI—40 roles means 40 form submissions. The bulk-create-openings tool in this MCP takes the CSV, maps it to the Harvest API schema, and submits the entire batch asynchronously in one call. Greenhouse processes it in the background and emails a confirmation when the openings go live, usually within 15 minutes. If you're adding fewer than 10 openings a month, the manual workflow is fine. But if you're in hypergrowth, running a quarterly headcount refresh, or managing a multi-office expansion, this MCP compresses a half-day project into a five-minute Switchy session.
Frequently asked
What does the Greenhouse MCP do in Switchy?
It connects your Greenhouse ATS account so AI agents can read candidate data, update job postings, manage hiring teams, apply tags, and handle bulk operations like creating openings or deactivating users. The MCP wraps Greenhouse's Harvest v3 API with 50 tools, letting you automate recruiter workflows without leaving Switchy's chat interface.
Do I need admin access to connect Greenhouse via OAuth?
Yes. The OAuth2 flow requires a Greenhouse user with API permissions, which typically means Site Admin or a custom role that includes Harvest API access. Without those permissions the connection will fail or return empty datasets. Check with your Greenhouse admin before attempting to connect.
Can the Greenhouse MCP send emails to candidates?
No. The Harvest API this MCP uses is read-heavy and focused on data management—candidates, jobs, openings, tags, custom fields. Greenhouse keeps email templates and candidate messaging inside its own UI and separate email-sending APIs. For outreach you still need to use Greenhouse directly or a dedicated email tool.
Why use this MCP instead of Greenhouse's web UI?
The MCP shines for bulk edits and cross-system workflows. Adding ten job owners, anonymizing candidates for GDPR, or syncing custom-field options across departments takes minutes in Switchy versus hours of clicking in Greenhouse. If you're doing one-off candidate reviews, the web UI is faster.
Who on the team should connect the Greenhouse MCP?
Your recruiting ops lead or the person who manages Greenhouse settings. They already have API access and understand your job structures, custom fields, and tag taxonomy. Once connected, you can share the workspace with recruiters who need bulk-action shortcuts but shouldn't have full Greenhouse admin rights.