Integration Snowflake as a data source for Great Question candidates.
Overview
We are using this: https://docs.snowflake.com/en/user-guide/oauth-custom.html
Creating a Snowflake OAuth Integration
Create a Snowflake OAuth integration using the CREATE SECURITY INTEGRATION (Snowflake OAuth) command.
create or replace security integration <integration_name>
type = oauth
enabled = true
oauth_client = custom
oauth_client_type = 'CONFIDENTIAL'
oauth_redirect_uri = 'https://greatquestion.co/users/auth/snowflake/callback'
oauth_allow_non_tls_redirect_uri = false
oauth_issue_refresh_tokens = true
oauth_refresh_token_validity = 86400;
Note: Only account administrators (users with the ACCOUNTADMIN
role) or a role with the global CREATE INTEGRATION
privilege can execute this SQL command.
You can then run these two commands to extract the information necessary to connect to snowflake in Great Question:
desc integration <integration_name>;
This you run to get the URL, which will look something like
https://..snowflakecomputing.com
select system$show_oauth_client_secrets(<integration_name>);
This one you run to get the OAUTH_CLIENT_ID
and OAUTH_CLIENT_SECRET
After you have all the info, you can go to User Menu > Account > Integrations, add the information and connect to Snowflake, using your credentials.
Once you are connected you will see this:
Let's break this screen down:
Warehouse, Database and Table (required)
This is where your data lives inside Snowflake. Add the values to tell us where to get the data from.
Only import contacts with gq_import tag
In case you want to restrict access from specific records in the table you chose, you can add a boolean column called gq_import
and the records with false
won't be imported into Great Question.
When a candidate is deleted from Snowflake
If a previously imported record is removed from Snowflake, the candidate will not be deleted automatically from our Great Question database. This is a limitation of how our integration currently works. However, if you want to automatically delete records from Great Question, you can add a boolean column is_deleted
to Snowflake and select what type of behavior you want when the record is imported to Great Question.
Syncing schedule
The candidates will be synced every 24 hours at midnight PST, and you can trigger a sync manually at the candidates page
Custom Attributes
All columns from Snowflake will be available in Great Question. If you want to be able to use any specific column, you need to create a candidate attribute for it. In order to do that you go to Account > Candidate attributes > New attribute
Note: The name of the attribute must match the column name from Snowflake.