How can we help you?

Enabling the One Model integration

Overview

One Model’s Greenhouse API Connector exports data from your Greenhouse account and imports it into your instance of One Model. Once set up, the connector can be scheduled to run daily, weekly, or monthly. 

The data import can be either destructive or incremental. Destructive data loads mean that a fresh copy of all your Greenhouse data will be pulled into One Model. Incremental (or delta) data loads will just pull new data from the last time that the import was run. 

Once imported, One Model transforms your Greenhouse data into a structure that is optimized for analytic reporting and data science. (If you are familiar with data modeling, this means that we will load your data into fact and dimension tables within a data warehouse.) This transformed data set allows you to generate recruiting efficiency reports on your pipeline, offer acceptance rates, time to hire, etc. Because the data has been reorganized for analytics, you can easily cut metrics like time to hire by key recruiting dimensions like source, recruiter, department, office, etc. 

One Model also connects your Greenhouse data to data from your other HR systems. For example, you might link candidate records from Greenhouse with employee data from your core HR system. This allows you to develop recruiting effectiveness reports, covering topics like new hire performance, termination rates by hire cohort, etc. This means you can have a connected view of employee outcomes from sourcing to termination and every step in between. 

There are two main steps involved in adding your Greenhouse data to One Model:  Setting up an API key in Greenhouse and adding Greenhouse as a data source in One Model. This guide will walk you through those steps, as well as give you an end to end overview of the data processing pipeline.

 

Requirements

  • Greenhouse administrator access to set up an API Key for One Model.
  • A One Model account with the following Application permissions.
    • CanViewDataOverview
    • CanConfigureApiDataSource
    • CanCreateDataSource
    • CanDeleteDataSource
    • CanEditDataSource
    • CanViewDataSourceDetails
    • CanViewDataSources

Setting up an API Key in Greenhouse for One Model

  1. Log into Greenhouse as an admin. Navigate to API Credential Management. The path is Settings > Dev Center > API Credential Management. See image below. 
  2. In the API Credential Management Window, choose Create New API Key. Give the Key a descriptive name, select Harvest as the Type, and then Click Create.
  3. Next you’ll be prompted to choose permissions for the API key. One Model reads data from Greenhouse but does not write any data back into Greenhouse. In API terminology that means we “GET” but do not “DELETE”, “PATCH”, “POST”, or “PUT”. You can ensure that One Model is limited to reading (not changing) data by only checking the “GET” sub options in each category. On the following page, you’ll find a list of permissions to choose.

 

Select the following permissions for the API Key, then click Update at the bottom of the permissions window.

 

●      Activity Feed:

○      GET: Retrieve Activity Feed

●      Applications:

○      GET: Retrieve Application

○      GET: List Applications

●      Candidates:

○      GET: Retrieve Candidate

○      GET: List Candidates

●      Departments:

○      GET: Retrieve Department

○      GET: List Departments

●      EEOC:

○      GET: Retrieve EEOC Data for Application

○      GET: List EEOC

●      Job Stages:

○      GET: Retrieve Job Stage

○      GET: List Job Stages

○      GET: List Job Stages for Job

●      Jobs:

○      GET: Retrieve Job

○      GET: List Jobs

●      Offers:

○      GET: List Application's Offers

○      GET: Retrieve Application's Current Offer

○      GET: Retrieve Offer

○      GET: List Offers

●      Offices:

○      GET: Retrieve Office

○      GET: List Offices

●      Rejection Reasons:

○      GET: List Rejection Reasons

●      Scheduled Interviews:

○      GET: List Interviews for Application

○      GET: Retrieve Interview

○      GET: List Interviews

●      Scorecards:

○      GET: Retrieve Application's Scorecard

○      GET: List Scorecards for Application

○      GET: Retrieve Scorecard

○      GET: List Scorecards

●      Sources:

○      GET: List Sources

 

If you have questions about any of the permissions requested here, please reach out to your One Model account team. If there is data that you would prefer to leave out, we may be able to adjust the import process to work without access to that section of the API. Please also let us know if there is data we are not including that you would like us to add. We may be able to adjust the import process to include it. 

Adding Greenhouse as a Data Source in One Model 

You’ll find the Greenhouse connection option in One Model by clicking on Data on the left navigation pane and choosing Sources. In the Sources window, click the Add Data Source button in the upper right corner. Scroll down and choose Greenhouse. These steps are shown in the following images.

 


Once you choose Greenhouse, you will be prompted to enter some information into a configuration popup window. We recommend leaving name set to “Greenhouse” and entering “greenhouse” for Schema. Name means that later you will able to find your Greenhouse connection in the sources list under “Greenhouse.” The Schema means that the raw data from Greenhouse will be loaded into a section of your data warehouse called “greenhouse.” 

With that settled, you’ll also need to enter your Secret Key. Your Secret Key is your Harvest API Key from Greenhouse. See previous section. 

The Greenhouse data source will create a set of staging tables within the database schema you specified in the above step. The table below lists out these staging tables as well as their originating location in the Greenhouse API.

As a reminder, Greenhouse allows you do add or remove access for each API section independently. For example, you could choose to remove access to the EEOC object.

 

 

One Model Staging Table

Greenhouse Name

Greenhouse Endpoint

candidate_notes

ActivityFeed

/v1/candidates/{id}/activity_feed

candidate_emails

ActivityFeed

/v1/candidates/{id}/activity_feed

candidate_activities

ActivityFeed

/v1/candidates/{id}/activity_feed

applications

Applications

/v1/applications

candidates

Candidates

/v1/approval_flows/{id}

candidates_applications

Candidates

/v1/candidates/{id}

candidates_applications_jobs

Candidates

/v1/candidates/{id}

candidates_applications_answers

Candidates

/v1/candidates/{id}

departments

Departments

/v1/departments

eeoc

EEOC

/v1/eeoc

jobs

Jobs

/v1/jobs

job_stages

JobStages

/v1/job_stages

offers

Offers

/v1/offers

offices

Offices

/v1/offices

rejection_reasons

RejectionReasons

/v1/rejection_reasons

scheduled_interviews

ScheduledInterviews

/v1/scheduled_interviews

scorecards

Scorecards

/v1/scorecards

sources

Sources

/v1/sources

 

Refreshing the Results

Once you have set up Greenhouse as a data source. You can refresh the results on demand by pressing the play button next to the data source.

 

You can configure the data source to run on a schedule by clicking the clock icon. Both full and incremental data loads can be set to run daily, weekly, or monthly at a given time.

 

Finally, clicking on the middle icon will allow you to view the status of the current and previous data loads. If the data load encounters errors or fails, you’ll see diagnostic messages here.

 

 

Transforming Your Greenhouse Data

After fresh data is loaded into One Model from Greenhouse, data processing scripts are run to transform the raw data into a relational model that is ready for analytics. Your assigned One Model product specialist will develop and maintain these processing scripts for you as part of your One Model subscription.

Now you’ll be able to easily explore your Greenhouse data, breaking results out by a wide range of dimensions. For example, you might want to look at offers outstanding by recruiter or applicant quality by source. And once this relational model has been set up, you can create new custom metrics, add new dimensions to the data, or connect recruiting data to other HR data sets.