By connecting Snowflake to Great Question, users can import a specific table or view of data from Snowflake into Great Question as candidates.

This allows users to keep their Great Question up to date with candidates to contact for research, as well as helping to sync unsubscribes and deletions.

There are three key steps to setting up a Snowflake integration:

  • Define the source data in Snowflake (table or view)
  • Provide the Great Question application access
  • Configure the integration

Once everything is set up, syncing happens automatically every day, with the option to also trigger a manual sync as required.

Note: Great Question uses the open source framework Singer to help manage the data transfer.

Connecting Snowflake

Giving Great Question Access

In order to read data from Snowflake, the Great Question application requires user credentials with read access to your table or view. We do this via oauth.

Please see the connecting snowflake for details on how to create a connection.

Defining the source data in Snowflake

Snowflake sync requires a single table or view to import from. Currently, all records within this table (or view) will be imported. It table should therefore be representative of the users you want to do research with.

If you have an existing BI team running a manual query for your current candidate list, you can easily get them to set up a view with this query.

Table Schema

As Great Question requires an email for any candidates the source table must have an email column.

Any other column can be added and imported.

It is recommended that this table/view contains all information required for filtering candidate for research. Some common examples:

  • Last log in date
  • number of products

Great Question supports importing the following data types:

  • Text
  • Number
  • date
  • Url
  • Boolean


Unique email constraints

As Great Question considers email as unique, only one row per email address can be imported. In the case of multiple Snowflake records with the same email, the first match will be used and subsequent records ignored.


In order to map and import the Snowflake data correctly into Great Question, there is minor configuration required.
The following can be configured:

  • Mapping which columns to be imported (coming soon)
  • Handling unsubscribes and deletions.


To update a candidate's unsubscribe status in Great Question, the row can be updated in Snowflake with an additional unsubscribe column, rather than removed. The unsubscribe can either be a boolean field, or a datetime.

Account or company level attributes

At this stage Great Question does not support the concept of company or account attributes. All attributes are mapped onto the individual candidate.


Daily Sync

Once set up, data will automatically be imported into a Great Question every day at midnight PST. No additional work required.

Manual Sync

Once you are connected to Snowflake, you can go to the Candidates page to import new candidates from Snowflake.

When you click Import from Snowflake we will start importing the Contacts into GQ.

Keep in mind that this process can be slow, depending on how much data there is to be imported. Once it is finished we will let you know:

Overriding data in Great Question

If the candidate is fresh from Snowflake, the candidate will be shown with the values from Snowflake. If those attributes are changed in Great Question, however, this value will be used. Changes in Snowflake data will no longer be represented in Great Question for the overridden attribute.