We are making updates to the BI Connector schema on November 2, 2022.
Download the latest schema file by clicking the attachment on the right side of the page.
Note: An invalid schema file for these updates was available on the date of publishing (November 2nd). The file has been updated. You can download the corrected file on the right side of the page.
Overview of changes
In the Business Intelligence Connector, the attributes
table was generated as a unique list of values with an id that changed each time the data was refreshed. Then, to correctly match the list of values to a more specific table containing relevant Greenhouse Recruiting data, organizations had to write an additional JOIN to ensure the correct values were returned in the query.
With this update, the following changes will occur:
- The
id
column will become a real, primary key ID as it exists in Greenhouse Recruiting, removing the need for the additional JOIN statement - The
id
will be static, and won't update with each data refresh - The
created_at
andupdated_at
columns provide the actualcreated_at
andupdated_at
times instead of a null value
In addition to the changes outlined above, the following changes will occur on the jobs_attributes
and scorecards_attributes
tables:
- The
jobs_attributes
table now will containname
andcategory
columns - The
jobs_attributes_id
andjobs_attributes.attributes_id
will contain matching values - The
scorecards_attributes
table will containattribute_name
andattribute_category
columns - The
attibute_id
now joins tojobs_attributes.id
instead ofattributes_id
After this change, the job_attributes
table contains the same data as the attributes
table. The attributes
table will be deprecated in a future release. Organizations should plan to update their queries with the following mapping.
attributes column | Matching job_attributes column |
attributes.id |
jobs_attributes.id |
attributes.organization_id |
jobs_attributes.organization_id |
attributes.name |
jobs_attributes.name |
attributes.created_at |
jobs_attributes.created_at |
jobs_attributes.updated_at |
jobs_attributes.updated_at |
Note: Since the updated table will reflect the actual values in your Greenhouse Recruiting organization, this table will slightly increase in size.
Example query
When the interviews table contained a generated id, an additional JOIN statement was needed to query the tables.
SELECT *
FROM scorecards_attributes
JOIN attributes ON attributes.id = scorecard_attributes.attribute_id
WHERE attributes.name = 'Public Speaking'
After the above updates, the ID in the Business Intelligence Connector will match the ID Greenhouse Recruiting, providing a stable id for the table and allowing you to query each table directly without the additional JOIN:
SELECT *
FROM scorecards_attributes
WHERE attribute_name = 'Public Speaking'