> This page is for Agent Handler.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Greenhouse

**Authentication:** client credentials. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow.

## Sample use cases

* List candidates in the `On-site` stage for the Senior Engineer role, sorted by interview date.
* Find offers extended in the last 30 days that haven't been accepted yet.
* Pull a breakdown of candidates by source for Q1 hires.

## 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.

#### 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.