Greenhouse

Connect your AI agents to Greenhouse.

Available Tools

list_applications

List applications with optional filters (job_id, status, timestamps). Returns candidate info, stage, status, and assignments. Supports pagination up to 500 per page.

get_application

Get detailed application by ID including candidate profile, current stage, status, rejection details, jobs, assignments, custom fields, and activity timeline.

create_application

Create a job application for a candidate.

advance_application

Advance application to next stage in hiring workflow. Requires from_stage_id matching current stage. Use get_application to verify stage and get_job_stages for valid transitions.

reject_application

Reject an active application with specified reason. Use list_reject_reasons for available options. Sets status to ‘rejected’. Can be reversed with unreject_application.

unreject_application

Restore rejected application to active status. Application must currently be ‘rejected’. Returns to previous stage and clears rejection details. Use get_application to verify status first.

hire_application

Mark candidate as hired. Requires start_date and on_behalf_of. Application must be active with complete offer and approvals. Use check_hire_readiness first to validate prerequisites.

move_application

Move application to any stage (forward or backward) within same job. Requires from_stage_id and to_stage_id. Unlike advance, allows non-sequential moves. Use get_job_stages for available stages.

transfer_application

Transfer application to different job. Requires target_job_id. Optionally specify target_stage_id (defaults to first stage). Preserves candidate info and history. Cannot transfer prospects.

check_hire_readiness

Validate application meets all hiring prerequisites.

add_application_note

Add note to application with visibility control (admin_only, private, or public). Records feedback and observations. Returns note_id and complete note data with timestamps.

list_candidates

List all candidates in Greenhouse with optional pagination and filtering by job_id, created_before/after, updated_before/after timestamps.

get_candidate

Retrieve comprehensive candidate profile by ID including personal information (name, title, company), complete contact details (all emails, phones, addresses), social media profiles (LinkedIn,…

create_candidate

Create a new candidate profile in Greenhouse with personal information, contact details, and optional application.

update_candidate

Update an existing candidate’s profile information including personal details (name, title, company), contact information (emails, phones, addresses), social media profiles, employment history,…

merge_candidates

Merge two duplicate candidate records into a single profile, keeping the primary candidate and transferring all data from the duplicate.

add_candidate_tags

Add one or more tags to a candidate for categorization, filtering, and organization.

remove_candidate_tags

Remove one or more tags from a candidate.

add_candidate_note

Add a note to a candidate for recording recruiter observations, interview feedback, or internal communications.

list_jobs

List all job postings in Greenhouse with optional pagination and timestamp-based filtering (created_before/after, updated_before/after).

get_job

Retrieve comprehensive details about a specific job by ID including job title, requisition ID, status (open/closed/draft), complete job description, departments and offices, hiring team (recruiters,…

create_job

Create a new job posting in Greenhouse by copying from a template job.

update_job

Update an existing job’s information including job name, requisition ID, status, departments, offices, hiring team assignments, custom field values, and confidentiality settings.

get_job_stages

Retrieve all hiring stages and workflow steps for a specific job including stage names, IDs, interview plans, milestones, and stage ordering.

list_job_openings

List all job openings (requisitions/headcount slots) for a specific job including opening ID, status (open/closed), opening date, close date, close reason, and custom opening fields.

create_job_opening

Create a new job opening (requisition/headcount slot) for a specific job to track individual hires.

update_job_opening

Update an existing job opening’s information including status (open/closed), opening_id (external requisition number), open_date, close_date, close_reason, and custom opening fields.

get_job_approval_flows

Retrieve all approval workflows configured for a specific job including approval flow names, required approvers, approval stages, and current approval status.

list_departments

List all departments in the organization including department names, IDs, parent-child relationships, external IDs, and child department hierarchies.

get_department

Retrieve detailed information about a specific department by ID including department name, parent department, child departments, external ID, and complete hierarchical relationships.

create_department

Create a new department in the organization to organize jobs and users by functional area.

update_department

Update an existing department’s information including name, parent department relationship, and external ID.

list_offices

List all office locations in the organization including office names, IDs, physical locations, primary contact users, parent-child relationships, external IDs, and child office hierarchies.

get_office

Retrieve detailed information about a specific office by ID including office name, physical location, primary contact user, parent office, child offices, external ID, and complete hierarchical relationships.

create_office

Create a new office location in the organization to track where employees work and jobs are located.

update_office

Update an existing office’s information including name, location, primary contact user, parent office relationship, and external ID.

list_sources

List all candidate sources available in the system for tracking where candidates come from (e.g., LinkedIn, Indeed, Referral, Career Site, Agency).

list_close_reasons

List all reasons available for closing job openings to track why positions are no longer active (e.g., ‘Hire - New Headcount’, ‘Position Eliminated’, ‘Filled Internally’, ‘Budget Frozen’).

list_reject_reasons

List all reasons available for rejecting candidates to track why applications are declined (e.g., ‘Underqualified’, ‘Position Filled’, ‘Compensation Mismatch’, ‘Failed Assessment’, ‘Culture Fit’).

list_custom_fields

List all custom field definitions configured in the system for extending standard Greenhouse objects with organization-specific data.

list_tags

List all candidate tags available in the system for categorizing and organizing candidates (e.g., ‘Senior Engineer’, ‘Diversity Candidate’, ‘Referral’, ‘Passive Candidate’).

discover_custom_and_required_fields

Discover comprehensive field requirements for creating Greenhouse objects including core required fields, recommended fields, optional fields, and organization-specific custom fields.

list_scorecards

List all interview scorecards in Greenhouse with optional pagination and filtering by application_id, candidate_id, interview_id, and timestamps.

get_scorecard

Retrieve detailed information about a specific interview scorecard by ID including interviewer name and details, interview type, submission timestamp, overall recommendation…

get_application_scorecards

Retrieve all interview scorecards for a specific application to see complete interview feedback from all interviewers.

get_scorecard_summary

Calculate aggregate statistics and summary metrics for all scorecards associated with an application.

list_users

List all Greenhouse users with optional pagination and filtering by employee_id, created_before/after, updated_before/after timestamps.

get_user

Retrieve detailed information about a specific Greenhouse user by ID including full name, email address, employee ID, site administrator status (site_admin), account disabled status, linked candidate IDs, creation and update timestamps.

create_user

Create a new Greenhouse user account for a team member.

update_user

Update an existing Greenhouse user’s information including first_name, last_name, email, employee_id, and linked_candidate_ids.

disable_user

Disable a Greenhouse user account to revoke system access while preserving user data and history.

enable_user

Re-enable a previously disabled Greenhouse user account to restore system access.

get_user_permissions

Retrieve basic permissions information for a specific user including site_admin status (full system access), disabled status (account active/inactive), and user name.

invite_user

Create a new Greenhouse user account and automatically send invitation email with login credentials.