This article outlines the main steps to integrate Greenhouse with Enboarder. Greenhouse's integration utilizes Greenhouse's Webhook feature and Harvest API. The current integration supports one function: “When Candidate is hired”. This event in Greenhouse will launch a new hire into an Enboarder workflow.

Integration Setup in Greenhouse portal

Create a Greenhouse API Key:

Log into Greenhouse and go to: Configure > Dev Center > API Credential Management.

  • Create new API key + manage Permissions. (Permissions needed are around querying Jobs and Users).

  • Give a name to the API Key (e.g. ‘Enboarder Integration API’ or similar).

  • Copy the API Key value and keep it handy for further configurations.

Set up your Greenhouse API Key within Enboarder:

Log into Enboarder as an admin user and go to Settings > Integration > App Center.
Click on the Greenhouse tile (or search if you can't see it).

Add your Greenhouse Integration API key, generated in the Greenhouse portal in the previous step and click on 'Integrate Now'.

Please tick on "Enforce Push to Enboarder" flag if you want to launch candidate only if "push to enboarder" tag is present in payload and its value is "yes".

Upon successful integration, Enboarder will show as integrated. 

Webhook Configuration

These are the steps to configure a Webhook in Greenhouse.

  • Log into Greenhouse, go to: Configure > Dev Center.

Username: Enboarder API Key (can be found in Enboarder from: Settings > Integration).

Password: blank (Do not specify any value).

General Integration Notes

  • Candidate Information will be coming from the candidate record in Greenhouse. First valid Mobile number will be used a valid mobile in Enboarder for communication. First email address will be stored in Enboarder for Candidate.

  • Offer start Date will be “Start Date” in Enboarder

  • Greenhouse has 4 Hiring team roles. These will be mapped to managers in Enboarder. If the Manager Label matches these roles then those manages will be mapped as Enboarder managers.  The Manager Labels that will match will be “Hiring Manager”, “Recruiter”, “Sourcer”, “Coordinator”

  • Hiring team Info from Greenhouse will be picked from first Job record coming from Greenhouse

  • Managers will only have email in Greenhouse. If there are multiple emails associated with manager users in Greenhouse, only the first email will be used.

  • Custom fields in Greenhouse will be mapped to Category fields in Enboarder. This will be based on name match (case sensitivity is not important).  Values should also match the value defined in Enboarder. This will be critical to put people in correct workflow.

  • Custom Fields in Enboarder will be matched to Custom fields in Greenhouse.

Mapping Extra Managers via Custom Fields

Greenhouse only supports 4 manager roles  (Hiring Manager, Recruiter, Sourcer, Coordinator). To map extra managers with mobile numbers of emails Custom fields should be used.  The convention to be used for “Immutable Field Key” value of the custom field should be lower case manager label defined in Enboarder with spaces converted to “_” ( For example if manager label in Enboarder is Line Manager, the key in Greenhouse should be line_manager). To define Mobile or Email for this manager user the Key name convention same as manager label but suffixed with _mobile or _email. ( Example line_manager_mobile)

Customization for hires to be ignored OR launched in Enboarder

A custom field can be created most appropriately in the Offer section and given the respective values before the candidate is hired. 

Only one of the below approaches can be used for an account based on your preference.


The placements with any of above rows will be ignored in Enboarder. All others will be launched in Enboarder.

Note:  If Push to Enboarder key is not part of payload, the workflow will be launched in database.  During integration if "Enforce Push To Enboarder" checkbox is enabled, then candidate will only launch if "push to Enboarder" tag is present with value "yes"


The placements with any of above rows will be launched in Enboarder. All others will be ignored in Enboarder.

Outcome of workflow if both keys are present

Location Detail:

The system will search all of the payload to find if location exists in the custom fields under the below. The system will populate the info as per below:

  • payload > jobs > first job > Custom fields

  • payload > custom fields

  • payload > Candidate > custom fields

  • payload > offer > custom fields

Note: If location type is multi-select, then it will pick the first value selected.

If location is not found in above tags them the system will populate the info indicated below:
It will pick first office address (payload > jobs > first job > first office), then check if the name attribute is there, then pick this as the location value. Otherwise, it will pick Country and City from location tag by splitting its value with comma.

"offices": [

                   { "name": "Brisbane", -> Map to Location if present

                     "location": "St Lucia, Queensland", -> Map to Country and City.

                      "id": 59283



Creating data in a Test Box

  • Login in Greenhouse portal and click on Add a candidate button.

Fill required information like email, name, phone and assign him a job. If job is not created then first create a job. Then Click on Add candidate button.

  • On Candidate detail page, click on Move Stage button and select offer.

  • Click on Manage offer link

  • Click on Create offer button and fill the hire date etc on offer page.

  • On next page click on Mark Candidate as Hired button. Then  fill  the information for offer accepted on next page and click save.

  • Candidate is now hired and web-hook will send data to Enboarder.

Did this answer your question?