Greenhouse Recruiting
18 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 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 greenhouse oauth to create the connection log in to your account, add a greenhouse recruiting module to your , and click create a connection optional in the connection name field, enter a name for the connection in additional scopes , select any scopes your needs 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 create the connection in using greenhouse oauth (client credentials) greenhouse recruiting also supports a client credentials connection use this connection type for server to server integrations that don't need a user to sign in or grant consent this connection type requires harvest v3 greenhouse is retiring harvest v1 and v2 to create the connection log in to your greenhouse recruiting https //app3 greenhouse io/dashboard account click configure > dev center click api credential management click create new api key set the api type to harvest v3 (oauth) click manage scopes and select only the scopes the modules in your require copy the client id and client secret the client secret is shown only once store it in a safe place before you continue log in to your account and add a greenhouse recruiting module to a click create a connection optional in the connection name field, enter a name for the connection in client id field, paste the c lient id you copied earlier in client secret field, paste the client secret you copied earlier optional in the on behalf of user id field, enter a numeric greenhouse user id leave empty to use the integration service user attached to the credential list endpoints require a user with site admin permissions find the id in configure > users (the number in the user url) or in a users excel export click save you have now created 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