Greenhouse Recruiting
17 min
greenhouse recruiting is an applicant tracking system and recruiting software designed to help businesses manage their hiring process from sourcing to onboarding with the greenhouse recruiting app in , you can manage the applications, candidates, prospects, jobs, job posts, offers, approval flows, and notes in your greenhouse recruiting account the greenhouse recruiting app is available on the enterprise plan https //www make com/en/enterprise make currently supports greenhouse recruiting greenhouse onboarding is unsupported at this time to get started with greenhouse recruiting, create an account at greenhouse com https //www greenhouse com/uk greenhouse recruiting the account setting up the integration must have developer permissions in greenhouse recruiting create the connection in using oauth to create the connection log in to your account, add an greenhouse recruiting module to your , and click create a connection optional in the connection name field, enter a name for the connection optional to use your greenhouse recruiting client id and client secret in advanced settings to obtain oauth app approval from greenhouse partner support, you must have a signed greenhouse partnership agreement contact greenhouse partner support to approve your oauth app at partner support\@greenhouse zendesk com and provide the following redirect uri https //www make com/oauth/cb/greenhouse2 once approved, greenhouse sends you a client id and client secret toggle advanced settings and enter your client id and client secret click save if prompted, authenticate your account and confirm access connect greenhouse recruiting to make using the api key to connect your greenhouse recruiting account to make, you must first create a harvest api key in your greenhouse recruiting account the greenhouse recruiting account must have developer permissions to create an api key greenhouse recruiting allows you to select specific permissions for each api key we recommend to only select the permissions that correspond to the actions you want make to perform in a specific scenario different scenarios may require different permissions based on the actions the scenario performs and the data the scenario works with we recommend to create a separate api key and a separate connection for each scenario and include only the permissions that the specific scenario needs to create the connection log in to your greenhouse recruiting https //app3 greenhouse io/dashboard account click the configure symbol > dev center click on api credential management click on create new api key and enter the details below then click manage permissions api type harvest partner make description insert a description detailing what actions the api key is allowed to perform and permission information the description will allow you to identify the purpose of the api keys for different scenarios we recommend using the following format make api key \[permissions] for example make api key delete, edit, add candidate copy the api key to your clipboard, store it in a safe place as you are only able to view your api key once, and click i have stored the api key select only the permissions that your scenario will require in the manage permissions section and click save refer to the module list below to identify the required permissions for each module log in to your make account and add a greenhouse recruiting module to a click create a connection note if you add a module with an instant tag, you will first be prompted to create a webhook click create a webhook > create a connection optional in the connection name field, enter a name for the connection paste the api key copied in step 5 in the api key field and click save if you receive the following error forbidden you do not have access to that record , return to the manage permissions section of your greenhouse recruiting account from step 6, update and save the corresponding permissions, and add the module again you have successfully established the connection you can now edit your and add more greenhouse recruiting modules if your connection requires reauthorization at any point, follow the connection renewal steps here docid\ so88fm6pkt0g adkddfzz modules application watch applications triggers when an application is created, updated, deleted, or approved search applications lists applications and filter by criteria add application to prospect creates a new application for a prospect by their id add application to candidate creates a new application for a candidate by their id add attachment to application uploads an attachment to an application by its id candidate watch candidates triggers when a candidate or prospect is created, updated, deleted, submitted an application or other status is changed search candidates lists candidates and filter by criteria create a prospect creates a new prospect create a candidate creates a new candidate update a candidate updates a candidate by their id add a candidate note adds a note to the candidate by their id add attachment to candidate uploads an attachment to a candidate or prospect by their id job watch jobs triggers when a job is created, updated, approved, or deleted watch job posts triggers when a job post is created, updated, deleted or a job interview stage is deleted watch offers triggers when an offer is created, approved, updated or deleted search jobs lists jobs and filter by criteria search job posts lists job posts and filter by criteria list approval flows lists approval flows by the job id get a job retrieves the details of a job by its id get a job post retrieves the details of a job post by its id other make a harvest api call performs an arbitrary authorized harvest api call migration from api v2 to v3 add a candidate note module name add a candidate note → add a candidate note input changes none output changes field path before (api v2) now (api v3) user nested user object (id, first name, last name, name, employee id) removed — replaced by flat user id (uinteger); map user id → user id private boolean removed visiblity text (legacy typo field) removed add application to candidate module name add application to candidate → add application to candidate input changes change before (api v2) now (api v3) removed attachments array with type + upload by url/file (filename, url/content, content type) field removed — upload via add attachment to application referrer id value type referrer type = id → value was text value is uinteger output changes none breaking add application to prospect module name add application to prospect → add application to prospect input changes change before (api v2) now (api v3) referrer id value type referrer type = id → value was text value is uinteger prospect owner id type text uinteger output changes field path before (api v2) now (api v3) nested objects (location, source, credited to, jobs, current stage, prospective department, prospective office, prospect detail) nested objects removed — replaced by flat ids (source id, referrer id, recruiter id, coordinator id, stage id, stage name, job interview stage id) prospective job ids nested structure flat array location address nested location flat text applied at present removed answers untyped array array of { question, answer } add attachment to application module name add attachment to application → add attachment to application input changes change before (api v2) now (api v3) removed content type optional under url and file upload removed output changes field path before (api v2) now (api v3) content type present removed add attachment to candidate module name add attachment to candidate → add attachment to candidate input changes change before (api v2) now (api v3) required application id not required (attach directly to candidate) required — harvest v3 attaches files to an application removed content type optional under url and file upload removed output changes field path before (api v2) now (api v3) content type present removed create a candidate module name create a candidate → create a candidate input changes change before (api v2) now (api v3) removed applications\[] attachments could upload attachments while creating removed — use attachment modules after create removed activity feed notes could send notes on create removed — use add a candidate note output changes field path before (api v2) now (api v3) applications\[] array of nested application objects replaced by a single application collection with flat ids (stage id, job id, source id, ); map application id instead of applications\[1] id create a prospect module name create a prospect → create a prospect input changes none output changes field path before (api v2) now (api v3) output shape flat candidate fields at root + applications\[] structured as candidate + application collections — remap root fields to candidate and use application instead of applications\[] photo url / attachments / application ids present removed recruiter / coordinator objects present replaced by ids under application educations / employments present removed from this output contract get a job post module name get a job post → get a job post input changes none output changes field path before (api v2) now (api v3) questions\[] type text removed — replaced by questions\[] answer type questions\[] values array of { value\ number, label } removed — replaced by questions\[] options (array of { label, value\ text }) list approval flows module name list approval flows → list approval flows input changes none output changes field path before (api v2) now (api v3) approver groups nested groups + approvers removed requested by user id present removed — replaced by requested by id search candidates module name search candidates → search candidates input changes change before (api v2) now (api v3) removed job id optional filter removed output changes field path before (api v2) now (api v3) applications nested applications array removed attachments / application ids / photo url present removed recruiter / coordinator objects present removed educations / employments present removed is private boolean renamed to private last activity date renamed to last activity at custom fields empty collections now loaded from your greenhouse account search job posts module name search job posts → search job posts input changes none output changes same question schema shift as get a job post — questions\[] type / questions\[] values replaced by questions\[] answer type / questions\[] options search jobs module name search jobs → search jobs input changes change before (api v2) now (api v3) removed opening id present removed removed external department id present removed removed external office id present removed output changes none breaking update a candidate module name update a candidate → update a candidate input changes change before (api v2) now (api v3) removed applications could update embedded application payload (job id, initial stage id, source id, referrer, attachments) removed removed activity feed notes could send notes on update removed — use add a candidate note output changes none breaking migration guide if your scenario uses greenhouse v1 update the connection — create/select a greenhouse2 connection and attach it to each migrated module replace removed inputs attachments stop using applications\[] attachments / inline attachments; use add attachment to application or add attachment to candidate (with required application id) notes stop using activity feed notes on create/update; use add a candidate note search filters remove job id from search candidates ; remove opening id, external department id, external office id from search jobs fix output references old path (v1) new path (v2) modules user id user id add a candidate note source id / nested source source id add application to prospect current stage stage id / stage name add application to prospect applications\[1] id application id create a candidate root candidate fields candidate create a prospect applications\[] application create a prospect is private private search candidates last activity last activity at search candidates requested by user id requested by id list approval flows questions\[] type / questions\[] values questions\[] answer type / questions\[] options get / search job posts content type (attachment output) — (removed) attachment modules retype referrer / owner ids — where referrer value / prospect owner id were free text, map numeric ids (uinteger) re test webhook payloads on the watch modules after migrating the connection