Product tier: Available to Expert subscription tier

Business Intelligence Connector delivers a nightly ETL of your organization's Greenhouse Recruiting or Greenhouse Onboarding data. The data model relies on three main keys, on which other tables and columns are mapped.


There are three main keys in Business Intelligence Connector data:

Candidates A candidate is a person who can submit any number of applications for any number of jobs, meaning they can apply to one job many times, or to many jobs at different times. A candidate is represented in the model by candidate_id.
Applications Only one application can be submitted for a single job. This information is summarized in the application_jobs table. A single candidate might have multiple applications. Additionally, there is a boolean dimension named prospect on the applications table which indicates whether an application is an actual application on a job, or is a prospect application. An application is represented in the model by application_id.
Jobs A job is a role with one or more openings. A job is represented in the model by job_id.

Candidate-level data

Candidates in the candidates table can be associated with the following candidate-level tables using candidate_id as a key:

One-to-many relationships

  • candidate_custom_fields
  • candidate_email_addresses
  • candidate_mailing_addresses
  • candidate_phone_numbers
  • candidate_tags
  • educations
  • employments
  • referral_question_custom_fields

Application-level data

Applications in the applications table can be associated with the following application-level tables using application_id as a key:

One-to-one relationships

  • eeoc_responses

One-to-many relationships

  • application_custom_fields
  • application_question_answers
  • rejection_question_custom_fields

Job-level data

Jobs in the jobs table can be associated with the following job-level tables using job_id as a key:

One-to-many relationships

  • hiring_team
  • job_custom_fields
  • job_posts
  • job_snapshots
  • jobs_attributes
  • jobs_departments
  • jobs_interviews
  • jobs_offices
  • jobs_stages
  • openings
  • stage_snapshots

Process and applicant tracking data

As applications move through the hiring pipeline, the following process and applicant tracking data is generated for each application ID:

Process Representation
Stages The application_stages table represents each stage on a job that an application has or could be in, along with the enter and exit times for each stage. Null is represented on stages that applications have not yet entered.

The scheduled_interviews table represents each interview that is scheduled in Greenhouse Recruiting. The interviewers and interviewer_tags tables represent the Greenhouse users assigned to the interview. The scorecards, scorecard_question_answers, and scorecards_attributes tables represent each scorecard that each interviewer submits.

Offers The offers and offer_custom_fields tables represent the details of any offer that is generated for an application.

Other tables

There are a few other tables that are not keyed to candidates, applications, or jobs:

User-level tables

  • users
  • user_actions
  • greenhouse_usages

Standalone tables

  • organizations
  • candidate_surveys

Every other data table is a simple mapping table that maps an ID to the name of the item represented. For example, the attributes table maps an attribute ID to the name of the attribute.

Tip: For more detailed information on all the tables, check out Guide to Business Intelligence Connector tables.