Integrate Greenhouse into the workflow. List and retrieve candidates, jobs, applications, users, departments, offices, and job stages from your Greenhouse ATS account.
Lists candidates from Greenhouse with optional filtering by date, job, or email
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
per_page | number | No | Number of results per page (1-500, default 100) |
page | number | No | Page number for pagination |
created_after | string | No | Return only candidates created at or after this ISO 8601 timestamp |
created_before | string | No | Return only candidates created before this ISO 8601 timestamp |
updated_after | string | No | Return only candidates updated at or after this ISO 8601 timestamp |
updated_before | string | No | Return only candidates updated before this ISO 8601 timestamp |
job_id | string | No | Filter to candidates who applied to this job ID (excludes prospects) |
email | string | No | Filter to candidates with this email address |
candidate_ids | string | No | Comma-separated candidate IDs to retrieve (max 50) |
| Parameter | Type | Description |
|---|
candidates | array | List of candidates |
count | number | Number of candidates returned |
Retrieves a specific candidate by ID with full details including contact info, education, and employment history
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
candidateId | string | Yes | The ID of the candidate to retrieve |
| Parameter | Type | Description |
|---|
id | number | Candidate ID |
first_name | string | First name |
last_name | string | Last name |
company | string | Current employer |
title | string | Current job title |
is_private | boolean | Whether candidate is private |
can_email | boolean | Whether candidate can be emailed |
created_at | string | Creation timestamp (ISO 8601) |
updated_at | string | Last updated timestamp (ISO 8601) |
last_activity | string | Last activity timestamp (ISO 8601) |
email_addresses | array | Email addresses |
phone_numbers | array | Phone numbers |
addresses | array | Addresses |
website_addresses | array | Website addresses |
social_media_addresses | array | Social media profiles |
tags | array | Tags |
application_ids | array | Associated application IDs |
recruiter | object | Assigned recruiter |
coordinator | object | Assigned coordinator |
attachments | array | File attachments (URLs expire after 7 days) |
educations | array | Education history |
employments | array | Employment history |
custom_fields | object | Custom field values |
Lists jobs from Greenhouse with optional filtering by status, department, or office
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
per_page | number | No | Number of results per page (1-500, default 100) |
page | number | No | Page number for pagination |
status | string | No | Filter by job status (open, closed, draft) |
created_after | string | No | Return only jobs created at or after this ISO 8601 timestamp |
created_before | string | No | Return only jobs created before this ISO 8601 timestamp |
updated_after | string | No | Return only jobs updated at or after this ISO 8601 timestamp |
updated_before | string | No | Return only jobs updated before this ISO 8601 timestamp |
department_id | string | No | Filter to jobs in this department ID |
office_id | string | No | Filter to jobs in this office ID |
| Parameter | Type | Description |
|---|
jobs | array | List of jobs |
count | number | Number of jobs returned |
Retrieves a specific job by ID with full details including hiring team, openings, and custom fields
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
jobId | string | Yes | The ID of the job to retrieve |
| Parameter | Type | Description |
|---|
id | number | Job ID |
name | string | Job title |
requisition_id | string | External requisition ID |
status | string | Job status (open, closed, draft) |
confidential | boolean | Whether the job is confidential |
created_at | string | Creation timestamp (ISO 8601) |
opened_at | string | Date job was opened (ISO 8601) |
closed_at | string | Date job was closed (ISO 8601) |
updated_at | string | Last updated timestamp (ISO 8601) |
is_template | boolean | Whether this is a job template |
notes | string | Hiring plan notes (may contain HTML) |
departments | array | Associated departments |
offices | array | Associated offices |
hiring_team | object | Hiring team members |
openings | array | Job openings/slots |
custom_fields | object | Custom field values |
Lists applications from Greenhouse with optional filtering by job, status, or date
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
per_page | number | No | Number of results per page (1-500, default 100) |
page | number | No | Page number for pagination |
job_id | string | No | Filter applications by job ID |
status | string | No | Filter by status (active, converted, hired, rejected) |
created_after | string | No | Return only applications created at or after this ISO 8601 timestamp |
created_before | string | No | Return only applications created before this ISO 8601 timestamp |
last_activity_after | string | No | Return only applications with activity at or after this ISO 8601 timestamp |
| Parameter | Type | Description |
|---|
applications | array | List of applications |
count | number | Number of applications returned |
Retrieves a specific application by ID with full details including source, stage, answers, and attachments
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
applicationId | string | Yes | The ID of the application to retrieve |
| Parameter | Type | Description |
|---|
id | number | Application ID |
candidate_id | number | Associated candidate ID |
prospect | boolean | Whether this is a prospect application |
status | string | Status (active, converted, hired, rejected) |
applied_at | string | Application date (ISO 8601) |
rejected_at | string | Rejection date (ISO 8601) |
last_activity_at | string | Last activity date (ISO 8601) |
location | object | Candidate location |
source | object | Application source |
credited_to | object | User credited for the application |
recruiter | object | Assigned recruiter |
coordinator | object | Assigned coordinator |
current_stage | object | Current interview stage (null when hired) |
rejection_reason | object | Rejection reason |
jobs | array | Associated jobs |
job_post_id | number | Job post ID |
answers | array | Application question answers |
attachments | array | File attachments (URLs expire after 7 days) |
custom_fields | object | Custom field values |
Lists Greenhouse users (recruiters, hiring managers, admins) with optional filtering
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
per_page | number | No | Number of results per page (1-500, default 100) |
page | number | No | Page number for pagination |
created_after | string | No | Return only users created at or after this ISO 8601 timestamp |
created_before | string | No | Return only users created before this ISO 8601 timestamp |
updated_after | string | No | Return only users updated at or after this ISO 8601 timestamp |
updated_before | string | No | Return only users updated before this ISO 8601 timestamp |
email | string | No | Filter by email address |
| Parameter | Type | Description |
|---|
users | array | List of Greenhouse users |
count | number | Number of users returned |
Retrieves a specific Greenhouse user by ID
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
userId | string | Yes | The ID of the user to retrieve |
| Parameter | Type | Description |
|---|
id | number | User ID |
name | string | Full name |
first_name | string | First name |
last_name | string | Last name |
primary_email_address | string | Primary email address |
disabled | boolean | Whether the user is disabled |
site_admin | boolean | Whether the user is a site admin |
emails | array | All email addresses |
employee_id | string | Employee ID |
linked_candidate_ids | array | IDs of candidates linked to this user |
created_at | string | Creation timestamp (ISO 8601) |
updated_at | string | Last updated timestamp (ISO 8601) |
Lists all departments configured in Greenhouse
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
per_page | number | No | Number of results per page (1-500, default 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
departments | array | List of departments |
count | number | Number of departments returned |
Lists all offices configured in Greenhouse
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
per_page | number | No | Number of results per page (1-500, default 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
offices | array | List of offices |
count | number | Number of offices returned |
Lists all interview stages for a specific job in Greenhouse
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | Greenhouse Harvest API key |
jobId | string | Yes | The job ID to list stages for |
per_page | number | No | Number of results per page (1-500, default 100) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
stages | array | List of job stages in order |
count | number | Number of stages returned |
Trigger workflow when a candidate is hired
| Parameter | Type | Description |
|---|
action | string | The webhook event type (hire_candidate) |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload.application.id | number | Application ID |
payload.application.status | string | Application status |
payload.application.prospect | boolean | Whether the applicant is a prospect |
payload.application.applied_at | string | When the application was submitted |
payload.application.url | string | Application URL in Greenhouse |
payload.application.current_stage.id | number | Current stage ID |
payload.application.current_stage.name | string | Current stage name |
payload.application.candidate.id | number | Candidate ID |
payload.application.candidate.first_name | string | First name |
payload.application.candidate.last_name | string | Last name |
payload.application.candidate.title | string | Current title |
payload.application.candidate.company | string | Current company |
payload.application.candidate.email_addresses | json | Email addresses |
payload.application.candidate.phone_numbers | json | Phone numbers |
payload.application.candidate.recruiter | json | Assigned recruiter |
payload.application.candidate.coordinator | json | Assigned coordinator |
payload.application.jobs | json | Associated jobs (array) |
payload.application.source.id | number | Source ID |
payload.application.source.name | string | Source name when provided by Greenhouse |
payload.application.source.public_name | string | Public-facing source name when provided by Greenhouse |
payload.application.offer.id | number | Offer ID |
payload.application.offer.version | number | Offer version |
payload.application.offer.starts_at | string | Offer start date |
payload.application.offer.custom_fields | json | Offer custom fields |
payload.application.custom_fields | json | Application custom fields |
Trigger workflow when a new application is submitted
| Parameter | Type | Description |
|---|
action | string | The webhook event type (new_candidate_application) |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload.application.id | number | Application ID |
payload.application.status | string | Application status |
payload.application.prospect | boolean | Whether the applicant is a prospect |
payload.application.applied_at | string | When the application was submitted |
payload.application.url | string | Application URL in Greenhouse |
payload.application.current_stage.id | number | Current stage ID |
payload.application.current_stage.name | string | Current stage name |
payload.application.candidate.id | number | Candidate ID |
payload.application.candidate.first_name | string | First name |
payload.application.candidate.last_name | string | Last name |
payload.application.candidate.title | string | Current title |
payload.application.candidate.company | string | Current company |
payload.application.candidate.created_at | string | When the candidate was created |
payload.application.candidate.email_addresses | json | Email addresses |
payload.application.candidate.phone_numbers | json | Phone numbers |
payload.application.candidate.tags | json | Candidate tags |
payload.application.jobs | json | Associated jobs (array) |
payload.application.source.id | number | Source ID |
payload.application.source.name | string | Source name when provided by Greenhouse |
payload.application.source.public_name | string | Public-facing source name when provided by Greenhouse |
payload.application.answers | json | Application question answers |
payload.application.attachments | json | Application attachments |
payload.application.custom_fields | json | Application custom fields |
Trigger workflow when a candidate changes interview stages
| Parameter | Type | Description |
|---|
action | string | The webhook event type (candidate_stage_change) |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload.application.id | number | Application ID |
payload.application.status | string | Application status |
payload.application.prospect | boolean | Whether the applicant is a prospect |
payload.application.applied_at | string | When the application was submitted |
payload.application.url | string | Application URL in Greenhouse |
payload.application.current_stage.id | number | Current stage ID |
payload.application.current_stage.name | string | Current stage name |
payload.application.current_stage.interviews | json | Interviews in this stage |
payload.application.candidate.id | number | Candidate ID |
payload.application.candidate.first_name | string | First name |
payload.application.candidate.last_name | string | Last name |
payload.application.candidate.title | string | Current title |
payload.application.candidate.company | string | Current company |
payload.application.candidate.email_addresses | json | Email addresses |
payload.application.candidate.phone_numbers | json | Phone numbers |
payload.application.jobs | json | Associated jobs (array) |
payload.application.source.id | number | Source ID |
payload.application.source.name | string | Source name when provided by Greenhouse |
payload.application.source.public_name | string | Public-facing source name when provided by Greenhouse |
payload.application.custom_fields | json | Application custom fields |
Trigger workflow when a candidate is rejected
| Parameter | Type | Description |
|---|
action | string | The webhook event type (reject_candidate) |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload.application.id | number | Application ID |
payload.application.status | string | Application status (rejected) |
payload.application.prospect | boolean | Whether the applicant is a prospect |
payload.application.applied_at | string | When the application was submitted |
payload.application.rejected_at | string | When the candidate was rejected |
payload.application.url | string | Application URL in Greenhouse |
payload.application.current_stage.id | number | Stage ID where rejected |
payload.application.current_stage.name | string | Stage name where rejected |
payload.application.candidate.id | number | Candidate ID |
payload.application.candidate.first_name | string | First name |
payload.application.candidate.last_name | string | Last name |
payload.application.candidate.email_addresses | json | Email addresses |
payload.application.candidate.phone_numbers | json | Phone numbers |
payload.application.jobs | json | Associated jobs (array) |
payload.application.rejection_reason | json | Rejection reason object with id, name, and type fields |
payload.application.rejection_details | json | Rejection details with custom fields |
payload.application.custom_fields | json | Application custom fields |
Trigger workflow when a new offer is created
| Parameter | Type | Description |
|---|
action | string | The webhook event type (offer_created) |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload.id | number | Offer ID |
payload.application_id | number | Associated application ID |
payload.job_id | number | Associated job ID |
payload.user_id | number | User who created the offer |
payload.version | number | Offer version number |
payload.sent_on | string | When the offer was sent |
payload.resolved_at | string | When the offer was resolved |
payload.start_date | string | Offer start date |
payload.notes | string | Offer notes |
payload.offer_status | string | Offer status |
payload.custom_fields | json | Custom field values |
Trigger workflow when a new job is created
| Parameter | Type | Description |
|---|
action | string | The webhook event type (job_created) |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload.job.id | number | Job ID |
payload.job.name | string | Job title |
payload.job.requisition_id | string | Requisition ID |
payload.job.status | string | Job status (open, closed, draft) |
payload.job.confidential | boolean | Whether the job is confidential |
payload.job.created_at | string | When the job was created |
payload.job.opened_at | string | When the job was opened |
payload.job.closed_at | string | When the job was closed |
payload.job.departments | json | Associated departments |
payload.job.offices | json | Associated offices |
payload.job.hiring_team | json | Hiring team (managers, recruiters, etc.) |
payload.job.openings | json | Job openings |
payload.job.custom_fields | json | Custom field values |
Trigger workflow when a job is updated
| Parameter | Type | Description |
|---|
action | string | The webhook event type (job_updated) |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload.job.id | number | Job ID |
payload.job.name | string | Job title |
payload.job.requisition_id | string | Requisition ID |
payload.job.status | string | Job status (open, closed, draft) |
payload.job.confidential | boolean | Whether the job is confidential |
payload.job.created_at | string | When the job was created |
payload.job.opened_at | string | When the job was opened |
payload.job.closed_at | string | When the job was closed |
payload.job.departments | json | Associated departments |
payload.job.offices | json | Associated offices |
payload.job.hiring_team | json | Hiring team (managers, recruiters, etc.) |
payload.job.openings | json | Job openings |
payload.job.custom_fields | json | Custom field values |
| Parameter | Type | Description |
|---|
action | string | The webhook event type |
applicationId | number | Application id when present (payload.application.id or flat payload.application_id on offers) |
candidateId | number | Candidate id when payload.application.candidate.id is present |
jobId | number | Job id from payload.job.id or flat payload.job_id when present |
payload | json | Full event payload |
- Category:
tools
- Type:
greenhouse