Guide to BI Connector/Greenhouse Analytics Tables

Candidate-level data

Table What does the table represent? What does each row represent? Anything to watch out for?
candidates A snapshot of relevant candidate data Represents a single candidate A candidate is a person. A candidate may have multiple applications on multiple jobs.

The "recruiter" and "coordinator" that is assigned to a candidate may or may not be the same recruiter and coordinator that is assigned to the hiring team of a job that the candidate has an application on.
candidate_custom_fields Custom fields associated with a candidate Represents a single value of a single custom field for a single candidate "custom_field" represents the name of the custom field, and "display_value" represents the value of the custom field. 
candidates_tags All tags associated with a candidate Represents a single tag on a single candidate This table only has "tag_id" and needs to be joined to the tags table to get the tag name.
educations All educations associated with a candidate Represents a single structured education for a single candidate This data is only generated when education is added in a structured manner in the candidate info section (candidate details tab in Greenhouse). 
employments All employments associated with a candidate Represents a single structured employment record for a single candidate This data is only generated when employment is added in a structured manner in the candidate info section (candidate details tab in Greenhouse). 

 Candidate PII

Table What does the table represent? What does each row represent? Anything to watch out for?
candidate_email_addresses A list of email addresses by candidate Represents a single email address and the associated candidate This table is OPT-IN ONLY. Please reach out to your account manager or to customer support to enable this.
candidate_mailing_addresses A list of mailing addresses by candidate Represents a single mailing address and the associated candidate This table is OPT-IN ONLY. Please reach out to your account manager or to customer support to enable this.
candidate_phone_numbers A list of phone numbers by candidate Represents a single phone number and the associated candidate This table is OPT-IN ONLY. Please reach out to your account manager or to customer support to enable this.

Application-level Data

Table What does the table represent? What does each row represent? Anything to watch out for?
applications A snapshot of relevant application data Represents the latest status of a single application This table contains the current/latest data per application, so "status" and "stage_name" will represent the current status and current stage, and "prospect" will represent whether or not the application is a prospect application. If a prospect application is converted to an actual application, the status on the prospect application will change to "converted". This table does NOT contain any historical records.

In advance of a new prospecting feature that will be released, we've proactively added "prospect_pool", "prospect_pool_stage" and "prospect_owner_id" as dimensions into this table

This table contains several ID numbers that can be joined to other tables to get the names (e.g. "source_id" and "referrer_id").
application_custom_fields Custom fields associated with an application Represents a single value of a single custom field for a single application "custom_field" represents the name of the custom field, and "display_value" represents the value of the custom field.

Note: Application custom fields are only available to Premium customers only.

application_question

_answers

The questions and answers that the candidate answered on the job post when submitting an application Represents a single question and answer n/a
application_stages Historical activity of all stages an application can be in Represents a stage that an application can be in, and the timestamp that the application entered and exited the stage This table contains a row for each stage that an application can be in (taken from the job that the application is on). Thus, there may be rows for stages that an application has yet to reach, or will not reach (if the application was rejected).
applications_jobs Mapping of applications to jobs Represents a mapping of one application to one job A candidate can have multiple applications, but a single application is only on one job.
eeoc_responses Responses to EEOC questions Represents a single application's responses to the EEOC questions Data is only generated in this table when an application responds to the EEOC questions, or a request is sent to an application to respond to the questions. Data is not generated for applications that did not respond to questions on the job post, and did not receive a request to resopnd to the questions afterwards.

referral_question

_custom_fields

Custom referral questions associated with an application Represents a single value of a single custom referral question for a single application "custom_field" represents the name of the custom rejection question, and "display_value" represents the value of the custom question.

rejection_question

_custom_fields

Custom fields associated with an application's rejection Represents a single value of a single custom rejection question for a single application "custom_field" represents the name of the custom rejection question, and "display_value" represents the value of the custom question.

Note: Rejection question custom fields are only available to Premium customers only.

Offer Data

Table What does the table represent? What does each row represent? Anything to watch out for?
offers All offer details Represents the details of a single version an offer for an application Each version of an offer generates a new row of data. The older versions are all marked with "status" = deprecated.
offer_custom_fields Custom fields associated with an offer Represents a single value of a single custom field for a single offer "custom_field" represents the name of the custom field, and "display_value" represents the value of the custom field. 

Job-level Data

Table What does the table represent? What does each row represent? Anything to watch out for?
jobs A snapshot of relevant job data Represents the latest status of a single job Each job only has one set of "opened_at" and "closed_at" values. If a job is opened, closed, and re-opened again, the first pair of open/close dates are lost. This table does NOT contain any historical records. A history of job open/close dates can be found in the Change Log in Greenhouse.
job_custom_fields Custom fields associated with a job Represents a single value of a single custom field for a single job "custom_field" represents the name of the custom field, and "display_value" represents the value of the custom field. 
job_snapshots A daily snapshot of job-level activity Represents various job-level metrics for a single day n/a
jobs_attributes A list of attributes on scorecards by job Represents a single tag on a single job n/a
jobs_departments A list of departments by job Represents a single department on a single job n/a
jobs_interviews A list of interviews by job Represents a single interview on a single stage for a single job n/a
jobs_offices A list of offices by job Represents a single office on a single job n/a
job_posts A list of job posts by job Represents the details of a job post that are associated with a job n/a
jobs_stages A list of stages by job Represents a single stage for a single job n/a
hiring_team The hiring team for a job Represents a single Greenhouse user in a hiring team role on a single job Each row represents a single user on a single role, so if a hiring team has 2 or more members on the same role, those members will be represented in multiple rows.

This table only contains "user_id" and not user name, which can be identified by joining onto the users table.
openings The openings for a job Represents a single opening for a single job n/a

 Process Data

Table What does the table represent? What does each row represent? Anything to watch out for?
scheduled_interviews Data on scheduled interviews Represents a scheduled interview Data is only generated when an interview is scheduled with Greenhouse (as evidenced the presence of a Greenhouse calendar on the scheduled interview's calendar invite). If an interview occurs or a scorecard is submitted when the interview was not scheduled with Greenhouse, it will NOT appear in this table. If interviews are rescheduled, this table does not capture the timestamp at which it was rescheduled; the "scheduled_at" table only represents the very first the interview was scheduled.
interviewers A list of interviewers per scheduled interview Represents an interviewer for a scheduled interview This table is joined to the scheduled_interviews table on scheduled_interviews.id = interviewers.interview_id
scorecards Data on submitted scorecards Represents a submitted scorecard Data is only generated when a scorecard is submitted in Greenhouse. If a scorecard is not submitted, it will NOT appear in this table.If an interview has been scheduled, you can connect the scheduled_interviews table to the interviewers table, and then connect the scorecards table to the interviewers table.
scorecards_attributes Attribute-level data on a submitted scorecard Represents an attribute rating on a submitted scorecard This table can be joined to the scorecards data to show attribute-level ratings, in addition to the overall recommendation.

scorecard_question

_answers

The questions and answers that exist on a scorecard Represents a single question and answer n/a
stage_snapshots A daily snapshot of stage-level activity Represents the number of active applications in a stage at 4am EST on a given date, only for jobs that were open at that time n/a
candidate_surveys Candidate survey responses Rpresents a single response to the candidate survey For privacy, candidate survey responses are not associated to the candidate or to the job.

candidate_survey

_questions

The list of candidate survey questions The text of the question asked on the candidate survey The ID numbers here correspond to question #1, question #2 etc.

Organization-level Data

Table What does the table represent? What does each row represent? Anything to watch out for?
organizations The name of your organization The name of your organization n/a
attributes A list of all attributes ever used on a scorecard A single attribute This table can be joined to any other table that has an attribute ID to get the name of the attribute
departments A list of all departments A single department This table can be joined to any other table that has a department ID to get the name of a department
interviews A list of all interviews A single interview This table can be joined to any other table that has an interview ID to get the name of an interview
interviewer_tags A list of all interviewer tags associated with users A single interviewer tag for a single user n/a
offices A list of all offices A single office This table can be joined to any other table that has an office ID to get the name of an office
referrers A list of all referrers A single referrer This table can be joined to any other table that has a referrer ID to get the name of a referrer
rejection_reasons A list of all rejection reasons A single rejection reason This table can be joined to any other table that has a rejection reason ID to get the name of a rejection reason
sources A list of all sources A single source This table can be joined to any other table that has a source ID to get the name of a source
stages A list of all stages A single stage This table can be joined to any other table that has a stage ID to get the name of a stage
tags A list of all tags A single tag This table can be joined to any other table that has a tag ID to get the name of a tag
users A list of all users A single user This table can be joined to any other table that has a user ID to get the name of a user

Usage Data

Table What does the table represent? What does each row represent? Anything to watch out for?
greenhouse_usages A record of Greenhouse usages Represents a record of a user using Greenhouse on a single date n/a
user_actions A record of user actions in Greenhouse Represents a single action from a user on a single job Not all actions are recorded in this table. In general, it is better to look for a specific timestamped activity in a different table than to use this table.


Metadata

Table What does the table represent? What does each row represent? Anything to watch out for?
schema_migrations n/a - this table is not accessible n/a - this table is not accessible n/a - this table is not accessible
Have more questions? Submit a request