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
idcolumn will become a real, primary key ID as it exists in Greenhouse Recruiting, removing the need for the additional JOIN statement - The
idwill be static, and won't update with each data refresh - The
created_atandupdated_atcolumns provide the actualcreated_atandupdated_attimes 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_attributestable now will containnameandcategorycolumns - The
jobs_attributes_idandjobs_attributes.attributes_idwill contain matching values - The
scorecards_attributestable will containattribute_nameandattribute_categorycolumns - The
attibute_idnow joins tojobs_attributes.idinstead 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'