Terapage integrations

Snowflake Integration Guide

Connect Terapage to Snowflake so researchers can securely import eligible participants from approved databases, schemas, tables, or views, map Snowflake columns to Terapage participant fields, and keep research samples synced automatically.

What it does

The Snowflake integration lets a Terapage workspace connect to a client-owned Snowflake warehouse, discover permitted participant sources, map columns, preview records, and sync eligible contacts into studies or tasks.

Who uses it

Research operations teams, enterprise insight teams, CX teams, panel managers, healthcare research teams, agencies, and data teams whose participant or customer records already live in Snowflake.

Best for

Importing large panels, syncing opted-in contacts from governed warehouse views, and turning first-party customer data into recruitable Terapage research participants without repeated CSV exports.

Terapage Snowflake integration workflow illustration

The Snowflake integration flow: connect, discover, map, filter, preview, sync and invite.

Core idea: the client connects their own Snowflake account. Terapage reads only approved participant data, maps it into Terapage fields, applies consent and filter rules, deduplicates records, and optionally invites eligible participants into selected studies or research activities.

Before you start
  • You must be a Terapage workspace admin or have permission to manage participant imports and integrations.
  • Your organisation should provide a Snowflake account identifier, warehouse, database, schema, role, and allowed tables or views.
  • Use a restricted read-only Snowflake user and role for Terapage.
  • For MVP, use key-pair authentication. For enterprise clients, OAuth can be supported where SSO governance requires it.
  • For best practice, expose a dedicated participant view such as RESEARCH.ELIGIBLE_RESEARCH_PARTICIPANTS_VIEW rather than granting broad access to raw operational tables.
How to connect Snowflake to Terapage
1

Open Integrations. From your Terapage workspace, go to Participants or Import / Sync Participants, then choose Snowflake.

2

Enter connection details. Add the Snowflake account identifier, warehouse, database, schema, role and authentication method supplied by your data team.

3

Test the connection. Terapage checks that the credentials work and that the role can read only the approved databases, schemas, tables and views.

4

Choose the participant source. Select the table or view containing the eligible participants you want to import or sync.

Recommended client-side setup

Ask the client data team to create a dedicated Snowflake user and role for Terapage, then grant read-only access to one approved source.

CREATE USER TERAPAGE_SYNC_USER;
CREATE ROLE TERAPAGE_READ_ROLE;
GRANT ROLE TERAPAGE_READ_ROLE TO USER TERAPAGE_SYNC_USER;
GRANT USAGE ON WAREHOUSE RESEARCH_WH TO ROLE TERAPAGE_READ_ROLE;
GRANT USAGE ON DATABASE CUSTOMER_DATA TO ROLE TERAPAGE_READ_ROLE;
GRANT USAGE ON SCHEMA CUSTOMER_DATA.RESEARCH TO ROLE TERAPAGE_READ_ROLE;
GRANT SELECT ON ALL TABLES IN SCHEMA CUSTOMER_DATA.RESEARCH TO ROLE TERAPAGE_READ_ROLE;
Generated Terapage Snowflake connection screen

Generated example of a Terapage Snowflake connection screen with secure authentication, read-only access and source validation.

Choose a table or view

After a successful connection, Terapage discovers available databases, schemas, tables, views and columns that the Snowflake role is allowed to see. The researcher does not need to know SQL.

Source typeExampleRecommended use
ViewRESEARCH.ELIGIBLE_RESEARCH_PARTICIPANTS_VIEWBest option. A governed, pre-filtered participant source approved by the client.
TableRESEARCH.PARTICIPANTSUseful when the table is already clean, scoped and consent-aware.
CRM exportRESEARCH.CRM_EXPORT_VIEWUseful when customer records are prepared from Salesforce, HubSpot, product usage or internal CRM sources.
Generated Terapage Snowflake field mapping screen

Generated example of mapping Snowflake columns into Terapage participant fields, custom attributes and consent filters.

Map Snowflake columns to Terapage fields

Map the Snowflake columns to Terapage participant records. Required fields can be validated before the sync is activated.

Terapage participant fieldSnowflake column
First NameFIRST_NAME
Last NameLAST_NAME
EmailEMAIL
PhonePHONE
CompanyCOMPANY
CountryCOUNTRY
Consent StatusCONSENT_STATUS
External Source IDCUSTOMER_ID
Last Updated AtLAST_UPDATED_AT
Add filters and safety rules
  • Only allow SELECT queries generated by Terapage.
  • Only query approved databases, schemas, tables and views.
  • Only use columns discovered from Snowflake metadata.
  • Block raw SQL for normal workspace users.
  • Apply row limits and pagination to large participant sources.
  • Require consent confirmation before auto-invite is enabled.

Important: Terapage should not run UPDATE, DELETE, INSERT, COPY, MERGE, DROP or ALTER statements against a client Snowflake warehouse.

Preview records before import

Before activating a sync, Terapage should show a preview of the first matching records, validation status, missing required fields, duplicates, consent eligibility, and the number of records that would be imported or skipped.

Validation

Check email, phone number, required fields, field lengths, invalid characters and country formatting before import.

Consent

Only include participants who match the consent column, lawful basis rule or client-supplied eligibility view.

Deduplication

Dedupe using Snowflake connection ID, table/view, external ID, email address and phone number.

Destination

Choose whether to import only, import into a participant pool, invite to a study, or invite to a selected research activity.

Terapage create research activity screen showing import workflow context

Example Terapage workflow context: imported Snowflake participants can be routed into research activities, AI interviews, journals, focus groups or external interview analysis workflows.

Automatic sync options

Once the connection, source, mapping and filters are approved, Terapage can run scheduled sync jobs.

  • Manual sync: run import only when a researcher starts it.
  • Hourly sync: check for new or updated participants every hour.
  • Daily sync: refresh participant lists once per day.
  • Auto-invite: invite newly eligible participants into a selected study or task after consent confirmation.
  • Sync logs: show records scanned, imported, updated, skipped, failed and invited.
Generated safe query example
SELECT
  CUSTOMER_ID,
  FIRST_NAME,
  LAST_NAME,
  EMAIL,
  PHONE,
  COMPANY,
  COUNTRY,
  CITY,
  SEGMENT,
  CONSENT_STATUS,
  LAST_UPDATED_AT
FROM CUSTOMER_DATA.RESEARCH.ELIGIBLE_RESEARCH_PARTICIPANTS_VIEW
WHERE EMAIL IS NOT NULL
  AND CONSENT_STATUS = 'Opted In'
  AND LAST_UPDATED_AT > ?
ORDER BY LAST_UPDATED_AT ASC
LIMIT 10000;
Generated Terapage Snowflake sync monitor screen

Generated example of a Snowflake sync monitor showing records scanned, imports, updates, skipped duplicates, errors and the next scheduled sync.

Auto-invite participants to research

When eligible Snowflake records are found, researchers can choose what Terapage should do next.

ActionWhat Terapage doesBest for
Import onlyAdds validated participants to Terapage without sending invitations.Teams that want to review data first.
Import into participant poolAdds records to a reusable workspace participant pool.Long-term research communities and future studies.
Import and invite to selected studySends study invitations after participants pass eligibility and consent rules.Fast recruitment for a live study.
Import and invite to selected taskSends a direct activity or task link to eligible participants.Journals, surveys, diary tasks, AI interviews and external interview workflows.
Security, privacy and governance
Client-owned compute

The client pays for and controls their Snowflake warehouse. Terapage connects only to permitted data sources.

Encrypted credentials

Private keys, tokens and sensitive connection details should be encrypted at rest and never stored in plain text.

Read-only access

The integration should be designed for read-only participant sync, not warehouse writes or destructive SQL actions.

Consent-aware sync

Sync rules should filter by consent status, opt-out flags, country rules and client-defined contact eligibility.

Audit logs

Log every connection test, preview, import, sync run, mapping change, invite action and error.

Easy disconnect

Admins should be able to pause sync, rotate credentials, change mappings or disconnect Snowflake completely.

Troubleshooting
IssueLikely causeWhat to check
Connection failsInvalid account identifier, role, warehouse, user or private key.Confirm Snowflake account details, key-pair setup, role assignment and warehouse access.
No tables appearThe Terapage role does not have usage or select access.Grant USAGE on database/schema and SELECT on approved tables or views.
Columns are missingThe selected table/view does not expose the expected fields.Ask the data team to update the approved participant view.
Participants are skippedMissing email/phone, duplicate records, invalid data or consent filter failure.Open the sync log and review validation reasons.
Auto-invite does not runConsent confirmation, target study or destination task is missing.Confirm lawful basis, selected destination and invite settings.

Recommended product position: Snowflake should be treated as a governed participant data source for enterprise research teams. The value is not only import; it is controlled access, secure mapping, consent-aware sync, deduplication, auditability and direct activation into Terapage research workflows.