Use the conversations and feedback in your warehouse as evidence for product decisions.
A workspace owner or administrator connects a dedicated Snowflake service user. Select a view, map its fields, preview records, then test and activate a saved import. Imports run on demand and use your Snowflake warehouse.
Connect Snowflake
- Open Settings → Sources, find Snowflake in the catalog, and open its setup page.
- Enter the account identifier and hostname, a new service user, a dedicated read-only role, and a warehouse. Use a small warehouse with automatic suspension and a query timeout.
- Choose Create public key. Ask a Snowflake administrator to run the displayed setup SQL. Zentrik keeps the encrypted private key on the server.
- Choose Test connection. After it succeeds, choose New import.
Use a separate service user for each connection. Do not grant administrator roles or permission to write source data. This integration supports public Snowflake account endpoints; private connectivity requires a separate setup.
See Snowflake's key-pair authentication guide.
Map and import evidence
- Enter the database, schema, and view or table. Under Grant access to this source, choose the object type and copy the SQL for your Snowflake administrator. Grant access only to the approved object.
- Choose Read columns and review the suggested mappings. Each row needs a stable string ID, last-updated timestamp, evidence text, title, event timestamp, and Boolean deletion flag. Timestamps must include a time zone. JSON or nested source data should be converted into these fields in the view.
- Give the dataset a stable identity. Keep it unchanged if the view moves. Choose the type of evidence and an optional product.
- Choose Preview evidence. Check the sample text and dates. Preview reads up to five records and creates no Signals.
- Save the import, test its saved definition, then activate it. Run it when ready. The run receipt records import outcomes and links to Discovery results; analysis can continue after the source import completes.
The first run reads records updated within the chosen one-, three-, or seven-day window. This is the source update date, not the conversation date. Later runs include a 48-hour overlap and leave five minutes for upstream writes to settle. Each run allows up to 1,000 records and 64 MiB of decoded results; each evidence body allows 1 MiB. An oversized result stops without advancing coverage. Use an approved view with a smaller source scope when necessary.
Keep complete records and explicit deletion rows available throughout the overlap. Physical deletion or late updates outside that window cannot be inferred from a missing row. This version imports evidence text; it does not import arbitrary event tables, account metrics, files, or warehouse write-back.
Updates and deletions
Use the same record ID and increase its last-updated timestamp for a correction. Zentrik updates the existing Signal, withdraws its previous extracted evidence, and processes the new revision. A conflict with a person's source-text edit stops that item for review. A timestamp-only change does not create duplicate evidence.
For deletion, keep the ID and updated timestamp and set the deletion flag to true. Zentrik removes the imported source body and extracted quotes, withdraws their support, and retains a suppression record to prevent an older source replay from restoring them. Deleting the imported Signal in Zentrik also suppresses future import of that source identity.
Human decisions and their links remain for review. Check related work when supporting evidence changes. Retained human-authored documents or exports are separate records; source withdrawal does not rewrite them.
Retry a failed saved run from its receipt. The retry keeps its saved coverage window and source request identity where possible. If Snowflake confirms the statement failed, repair its source access or configuration first; retry then submits a new read for that same window. If Snowflake's result has expired, Zentrik also reads that same window again and records the new snapshot. Coverage advances only after all source writes and analysis handoffs succeed.
Data and access
- Imported text leaves Snowflake and is stored and analyzed in Zentrik. Choose a view whose data may be shared with the destination workspace and processed by its configured AI services. Snowflake row permissions do not become per-record permissions in Zentrik.
- Zentrik issues generated read queries for the selected object and column metadata. Query limits bound returned data; they do not guarantee a fixed Snowflake compute cost.
- Stored source files and their retained versions enter a cleanup queue when withdrawn. Storage failures are retried; they do not restore the source to analysis.
- To rotate the service key, choose Replace public key. Install the displayed key in the unused Snowflake key slot, then choose Test and activate key. A failed test keeps the working key active. Remove the old key in Snowflake after activation.
- Disconnect removes Zentrik's saved credentials. Imported evidence and saved imports remain. Revoke the service user or its grants in Snowflake to remove its access there.
Troubleshooting
Most connection problems clear up after a fresh authorization or an admin allows the app. If you have tried that and still cannot connect, contact us and we will help.
The connection test fails
Check the account hostname, service user, public key, role, and warehouse grant. Use the role and user named on the connection page.
No columns or records appear
Check exact object names, source grants, update timestamps, and the five-minute settling delay. An empty result is not a deletion signal.
An import stops at the limit
Narrow the approved view. Retry the saved run after the source scope is corrected; do not delete the saved run to bypass its coverage window.
A source record cannot be updated
Check for duplicate IDs, a reused timestamp with different content, or a person editing the imported source text. Correct the source or resolve the conflict before retrying.
Continue from here
Related guides
Did this guide answer your question?
Your response helps us prioritize missing or unclear documentation.
Still stuck?
Send your question to Zentrik support. This guide will be included automatically.