Enboarder + Greenhouse Integration

Connect your Greenhouse instance with Enboarder to automatically send new hires into their onboarding experience!

Adam Faludi avatar
Written by Adam Faludi
Updated over a week ago


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/status: "When the Candidate is hired”. This event in Greenhouse will launch a new hire into an Enboarder workflow.

Before you begin: Like anything worth doing, integrations take time. Please allow up to 4 weeks for this integration to be completed, this includes time for scoping, development and testing. You’ll also need to have a system expert and/or system administrator to assist in the completion of this integration.

How does it work?

Greenhouse is an ATS and therefore is a one-way integration to Enboarder. This means that while you can launch Workflows directly from Greenhouse, you can't cancel or update details of active Workflows once they're launched. This is a manual process for you or your Enboarder admins.

Have no fear, updating or canceling Workflows is easy!


Integration Setup in Greenhouse portal

Create a Greenhouse API Key:

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

  • Create a 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.

Please provide below scopes:

  • Candidates → Get: Retrieve Candidate

Users →

  • Get: Retrieve User

  • Get: List Users

Offers →

  • Get: Retrieve Offer

  • Get: List Offers

  • Jobs →

    • Get: Retrieve Job

    • Get: List Jobs

    • Get: Get hiring team

  • Custom Fields → Get: custom fields

Set up your Greenhouse API Key within Enboarder:

Log into Enboarder as an admin user and go to Settings > Apps and Integrations > 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'.

There are two flags on this screen. Please tick them based on business requirements:

  • "Enforce Push To Enboarder" flag - tick this flag if you only want to launch the candidate if the "push to enboarder" tag is present in your Greenhouse payload and its value is yes.

  • "Enforce Candidate ID as Unique ID" flag - tick this flag if you want to restrict the same candidate from being launched more than once in Enboarder. Enboarder will reject the duplicate payload if sent again for an existing candidate with the same job.

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 > Apps and Integrations > Extensions).

Password: blank (Do not specify any value).

General Integration Notes

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

  • Offer start date will be “Key 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 managers will be mapped as Enboarder Stakeholders.  The Manager Labels that will match will be “Hiring Manager”, “Recruiter”, “Sourcer”, “Coordinator”.

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

  • Stakeholders will only have an 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 the correct Workflow.

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

  • Department name will be picked from the first job → Departments → first Department if it is not defined as a custom field in the offer, candidate or job sections.


Custom fields mapping for User data type and multi-select data type

In Greenhouse system, the admin can add a custom field of data type user and multi-select as well. Here is a mapping of these two fields in Enboarder

  1. Multi-Select - If the data type of field Multi-Select then the user can select multiple values. In Enboarder system will pick the first value from the selected list and map it to a custom field.

2. User - If the data type of field is User, the system will add two fields in the payload and also try to map it with existing stakeholder

In Enboarder simplified payload, you will see two fields

  • buddy - Mapped with the name of the user

  • buddy_email - mapped to the email of the user

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 the “Immutable Field Key” value of the custom field should be lower case manager label defined in Enboarder with spaces converted to “_” ( For example if the Stakeholder 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 the 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.

IGNORE

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"

LAUNCH

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 payloads to find if the location exists in the custom fields 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 the location type is multi-select, then it will pick the first value selected.
​
If location is not found in the above tags the system will populate the info indicated below:
It will pick the first office address (payload > jobs > the 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 the location tag by splitting its value with a 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 to Greenhouse portal and click on Add a candidate button.

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

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

  • Click on Manage offer link

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

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

  • The candidate is now hired and the webhook will send data to Enboarder!


Got questions? Start a chat with the team using the Chat in the top right of any Enboarder page. If you're setting this up for the first time, always begin by looping in your Customer Success Manager.

Did this answer your question?