Skip to main content

Greenhouse Connector

Greenhouse Interact with the Greenhouse API

Connections

API Key

InputCommentsDefault
API KeyAPI Key for your Greenhouse User

Triggers

Webhook

Receive and validate webhook requests from Greenhouse for webhooks you configure.

InputCommentsDefault
Enabled EventsA list of events configured by the user to accept in the integration. If empty, all events will be accepted
Secret KeyThe secret key to use for the webhook

Actions

Create a Candidate

Create a new candidate.

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
First NameThe candidate's first name
Last NameThe candidate's last name
ApplicationsAn array of application objects. At least one required.
CompanyThe candidate's company
TitleThe candidate's title
Phone NumbersArray of phone numbers. Passing an empty array will clear all.
AddressesArray of addresses. Passing an empty array will clear all.
Email AddressesArray of email addresses. Passing an empty array will clear all.
Website AddressesArray of website addresses. Passing an empty array will clear all.
Social Media AddressesArray of social media addresses. Passing an empty array will clear all.
EducationsAn array of education records.
EmploymentsAn array of education records.
TagsArray of tags as strings. Passing an empty array will clear all.["000xxx"]
Custom FieldsArray of hashes containing new custom field values. Passing an empty array does nothing.
Debug RequestEnabling this flag will log out the current request.false

Create a Job

Create a new job.

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
Template Job IDThis is the job we will use to generate the new job. The new job will receive most of the settings of the template job. The On-Behalf-Of user must have access to this job.
Number of OpeningsThe number of openings that will be created for this job.
Job Post NameThis will be the name on the new job post. If this is not included, the job post names in the base job will be copied.
Job NameThis is the internal name of the new job. If this is not included, the name of the new job will be “Copy Of (the template job's name)”
Department IDThe department of the new job. This should be a department id from the Departments endpoint. If this element is omitted, the new job will receive the department of the template job. If this element is included but blank, it will create the job with no departments. If the organization requires jobs to have a department, this case will return a 422 response.
External Department IDThis may be used instead of department_id and represents the ID of the department in an external system.
Office IdsThe offices of the new job. These should be office ids from the Offices endpoint. If this element is omitted, the new job will receive the offices of the template job. If this element is included but blank, it will create the job with no offices. If the organization requires jobs to have an office, this case will return a 422 response.["000xxx"]
External Office IdsThis may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_id must be blank and vice versa.["000xxx"]
Requisition IDIf included, will return only the jobs that match the given requisition_id
Opening IdsThis may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_ids must be blank and vice versa.["000000"]
Debug RequestEnabling this flag will log out the current request.false

Create a User

Create a new user

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
First NameThe user's first name
Last NameThe user's last name
EmailThe user's email address. Must be a valid email address.
Send Email InviteIf true, an email will be sent to the user alerting them of any new job permissions that have been assigned to them. Emails are never sent when permissions are removed. If false, nothing happens. Default is false.false
Employee IdThe user's external employee id.
Office IdsThe office value(s) associated with a user. Must be a valid set of office IDs. Passing an empty array does nothing.["000xxx"]
External Office IdsThis may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_id must be blank and vice versa.["000xxx"]
Department IdsThe department value(s) associated with a user. Must be a valid set of department IDs. Passing an empty array does nothing.["000xxx"]
External Department IdsThis may be used instead of department_ids and represents the ID of the department in an external system. If this is used, department_ids must be blank and vice versa.["000xxx"]
Custom FieldsArray of hashes containing new custom field values. Passing an empty array does nothing.
Debug RequestEnabling this flag will log out the current request.false

Delete a Candidate

Delete a candidate by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
Candidate IDID of the candidate to delete.
Debug RequestEnabling this flag will log out the current request.false

Delete Application

Delete an application by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Application IDID of the application
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
Debug RequestEnabling this flag will log out the current request.false

Disable a User

Disable an existing user

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v2
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
EmailThe user's email address. Must be a valid email address.
Debug RequestEnabling this flag will log out the current request.false

Edit a Candidate

Edit an existing candidate.

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
Candidate IDThe Id of the candidate
First NameThe candidate's first name
Last NameThe candidate's last name
CompanyThe candidate's company
TitleThe candidate's title
Is PrivateWhether the candidate is private or not. One of: [“true”, “false”]false
Phone NumbersArray of phone numbers. Passing an empty array will clear all.
AddressesArray of addresses. Passing an empty array will clear all.
Email AddressesArray of email addresses. Passing an empty array will clear all.
Website AddressesArray of website addresses. Passing an empty array will clear all.
Social Media AddressesArray of social media addresses. Passing an empty array will clear all.
TagsArray of tags as strings. Passing an empty array will clear all.["000xxx"]
Custom FieldsArray of hashes containing new custom field values. Passing an empty array does nothing.
RecruiterAn object representing the candidate's new recruiter
CoordinatorAn object representing the candidate's new coordinator
Debug RequestEnabling this flag will log out the current request.false

Edit a Job

Edit a job by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Job IDIf supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
Job NameThe job's name
NotesNotes on the hiring plan
AnywhereBoolean value indicating where the job can be done anywherefalse
Requisition IDIf included, will return only the jobs that match the given requisition_id
Team and ResponsibilitiesA description of the team the candidate would join and their responsibilities
How to Sell This JobA description for the recruiter of the desirable aspects of the job
Office IdsReplace the current offices for this job with new offices. If your organization requires at least one office, trying to set this to blank will return an error.["000xxx"]
External Office IdsThis may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_id must be blank and vice versa.["000xxx"]
Department IDIf included, will return only the jobs in this specific department.
External Department IDThis may be used instead of department_id and represents the ID of the department in an external system.
Custom FieldsArray of hashes containing new custom field values. Passing an empty array does nothing.
Debug RequestEnabling this flag will log out the current request.false

Edit Application

Edit an Application by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Application IDID of the application
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
Source IDThe ID of the application's source
ReferrerAn object representing the referrer
Custom FieldsArray of hashes containing new custom field values. Passing an empty array does nothing.
Prospect Pool IDThe ID of the prospect pool for the application
Prospect Stage IDThe ID of the prospect pool stage for the application
Debug RequestEnabling this flag will log out the current request.false

Edit a User

Edit an existing user

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v2
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
First NameThe user’s new first name. If included, this cannot be blank.
Last NameThe user’s new last name. If included, this cannot be blank.
EmailThe user element must contain one of ‘employee_id’, 'email’, or 'user_id’, but not more than one. If included, this cannot be blank, nor can it match any other email for a user in this organization.
Employee IdThe user’s external employee id. If included, this cannot be blank, nor can it match any other employee-id for a user in this organization.
Office IdsReplace the current offices for this user with new offices. An empty array will remove all offices on this user.["000xxx"]
External Office IdsThis may be used instead of office_ids and represents the ID of the office in an external system. If this is used, office_ids must be blank and vice versa.["000xxx"]
Department IdsReplace the current departments for this user with new departments. An empty array will remove all departments on this user.["000xxx"]
External Department IdsThis may be used instead of department_ids and represents the ID of the department in an external system. If used, department_ids must be blank and vice versa.["000xxx"]
Custom FieldsArray of hashes containing new custom field values. Passing an empty array does nothing.
Debug RequestEnabling this flag will log out the current request.false

Enable a User

Enable an existing user

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v2
On Behalf Of User IDID of the user issuing this request. Required for auditing purposes.
EmailThe user's email address. Must be a valid email address.
Debug RequestEnabling this flag will log out the current request.false

Get a Candidate

Get a candidate by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Candidate IDThe Id of the candidate
Debug RequestEnabling this flag will log out the current request.false

Get a Job

Get a Job by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Job IDIf supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
Debug RequestEnabling this flag will log out the current request.false

Get Application

Get an Application by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Application IDID of the application
Debug RequestEnabling this flag will log out the current request.false

Get User

Get a user by id

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
On Behalf Of User IDID of the user to get.
Debug RequestEnabling this flag will log out the current request.false

List Applications

Get a list of applications

InputCommentsDefault
Connection
Per PageReturn up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.100
PageA cursor for use in pagination. Returns the n-th chunk of per_page objects.1
Job IDIf supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
Created BeforeReturn only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
Created AfterReturn only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
Api VersionThe version of the API to use. Defaults to "v1"v1
StatusIf supplied, only return applications that match this status. Accepted values are active, converted, hired, and rejected. If anything else is used, an empty response will be returned rather than an error.
Last Activity AfterReturn only applications where ‘last_activity_at' is at or after this timestamp. Timestamp must be in in ISO-8601 format.
Debug RequestEnabling this flag will log out the current request.false

List Candidates

Get a list of Candidates

InputCommentsDefault
Connection
Per PageReturn up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.100
PageA cursor for use in pagination. Returns the n-th chunk of per_page objects.1
EmailIf supplied, only return candidates who have a matching e-mail address. If supplied with job_id, only return a candidate with a matching e-mail with an application on the job. If email and candidate_ids are included, candidate_ids will be ignored.
Job IDIf supplied, only return candidates that have applied to this job. Will return both when a candidate has applied to a job and when they're a prospect for a job
Created BeforeReturn only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
Created AfterReturn only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
Updated BeforeReturn only candidates that were updated before this timestamp. Timestamp must be in in ISO-8601 format.
Updated AfterReturn only candidates that were updated at or after this timestamp. Timestamp must be in in ISO-8601 format.
Api VersionThe version of the API to use. Defaults to "v1"v1
Candidate IdsIf supplied, return only the candidates with the given ids. These are supplied as a comma separated string. e.g.: “candidate_ids=123,456,789”. When combined with job_id, only return candidates with an application on the job. A maximum of 50 candidates can be returned this way.
Debug RequestEnabling this flag will log out the current request.false

List Jobs

Get a list of jobs

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Per PageReturn up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.100
PageA cursor for use in pagination. Returns the n-th chunk of per_page objects.1
Created BeforeReturn only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
Created AfterReturn only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
Updated BeforeReturn only candidates that were updated before this timestamp. Timestamp must be in in ISO-8601 format.
Updated AfterReturn only candidates that were updated at or after this timestamp. Timestamp must be in in ISO-8601 format.
Requisition IDIf included, will return only the jobs that match the given requisition_id
Opening IDIf included, will return only the jobs that contain at least one opening with the given opening_id.
StatusOne of 'open', 'closed', or 'draft'. If included, will only return jobs with that status.
Department IDIf included, will return only the jobs in this specific department.
External Department IDThis may be used instead of department_id and represents the ID of the department in an external system.
Office IDIf included, will return only the jobs in this specific office.
External Office IDThis may be used instead of office_id and represents the ID of the office in an external system.
Custom FieldsArray of hashes containing new custom field values. Passing an empty array does nothing.
Debug RequestEnabling this flag will log out the current request.false

List Users

Get a list of Users

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
Per PageReturn up to this number of objects per response. Must be an integer between 1 and 500. Defaults to 100.100
PageA cursor for use in pagination. Returns the n-th chunk of per_page objects.1
Employee IdThe user's external employee id.
Created BeforeReturn only candidates that were created before this timestamp. Timestamp must be in in ISO-8601 format.
Created AfterReturn only candidates that were created at or after this timestamp. Timestamp must be in in ISO-8601 format.
Updated AfterReturn only candidates that were updated at or after this timestamp. Timestamp must be in in ISO-8601 format.
Updated BeforeReturn only candidates that were updated before this timestamp. Timestamp must be in in ISO-8601 format.
EmailThe user's email address. Must be a valid email address.
Candidate IdsWhen true, include user attributes. Otherwise excludes user attributes.false
Debug RequestEnabling this flag will log out the current request.false

Raw Request

Send raw HTTP request to Greenhouse

InputCommentsDefault
Connection
Api VersionThe version of the API to use. Defaults to "v1"v1
URLInput the path only (/jobs), The base URL is already included (https://harvest.greenhouse.io/{version}). For example, to connect to https://harvest.greenhouse.io/v1/jobs, only /jobs is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Debug RequestEnabling this flag will log out the current request.false
Retry Delay (ms)The delay in milliseconds between retries.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type.false
Max Retry CountThe maximum number of retries to attempt.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries.false