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.
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.
Select âWeb Hooksâ
Select âWeb Hooksâ again
Name this webhook: (Create a user-friendly name).
When: âCandidate has been hiredâ.
Endpoint URLs:
AU: https://api.syd.e1.enboarder.com/ats/greenhouse/c/hired
EU: https://api.fra.e1.enboarder.com/ats/greenhouse/c/hired
US: https://api.ore.e1.enboarder.com/ats/greenhouse/c/hired
CA: https://api.can.e1.enboarder.com/ats/greenhouse/c/hiredIf you're not sure which URL is yours, ask your Enboarder Contact
Secret key: Greenhouse API Key created in Step 1 above (for harvest API).
Error recipient email: any admin user email (optional).
Basic Authorization credentials (inside Advanced Settings).
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
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 â offer â custom fields
payload â Candidate â custom fields
payload â custom fields
payload â jobsâfirst job â 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.