Secoda Docs
Get Started
  • Getting Started with Secoda
    • Secoda as an Admin
      • Deployment options
      • Sign in options
      • Settings
      • Connect your data
        • Define Service Accounts
        • Choose which schemas to extract
      • Customize the workspace
      • Populate Questions with FAQs
      • Invite your teammates
        • Joining & Navigating between Multiple Workspaces
      • Onboard new users
        • Onboarding email templates
        • Onboarding Homepage template
        • Training session guide
      • User engagement and adoption
        • Tips & Tricks to share with new users
    • Secoda as an Editor
    • Secoda as a Viewer
      • Introduction guide
      • Requesting changes in Secoda
  • Best practices
    • Setting up your workspace
    • Integrating Secoda into existing workflows
    • Documentation best practices
    • Glossary best practices
    • Data governance
    • Data quality
    • Clean up your data
    • Tool migrations using Secoda
    • Slack <> Questions workflow
    • Defining resources workflow
    • Streamline data access: Private and public teams workflow
    • Exposing Secoda to external clients
  • Resource Management
    • Editing Properties
      • AI Description Editor
      • Bulk Editing
      • Propagation
      • Templates
    • Resource Sidesheet
    • Assigning Owners
    • Custom Properties
    • Tags
      • Custom Tags
      • PII Identifier
      • Verified Identifier
    • Import and Export Resources
    • Related Resources
  • User Management
    • Roles
    • Teams
    • Groups
  • Integrations
    • Integration Settings
    • Data Warehouses
      • BigQuery
        • BigQuery Metadata Extracted
      • Databricks
        • Databricks Metadata Extracted
      • Redshift
        • Redshift Metadata Extracted
      • Snowflake
        • Snowflake Metadata Extracted
        • Snowflake Costs
        • Snowflake Native App
      • Apache Hive
        • Apache Hive Metadata Extracted
      • Azure Synapse
        • Azure Synapse Metadata Extracted
      • MotherDuck
        • MotherDuck Metadata Extracted
      • ClickHouse
        • ClickHouse Metadata Extracted
    • Databases
      • Druid
        • Druid Metadata Extracted
      • MySQL
        • MySQL Metadata Extracted
      • Microsoft SQL Server
        • Page
        • Microsoft SQL Server Metadata Extracted
      • Oracle
        • Oracle Metadata Extracted
      • Salesforce
        • Salesforce Metadata Extracted
      • Postgres
        • Postgres Metadata Extracted
      • MongoDB
        • MongoDB Metadata Extracted
      • Azure Cosmos DB
        • Azure Cosmos DB Metadata Extracted
      • SingleStore
        • SingleStore Metadata Extracted
      • DynamoDB
        • DynamoDB Metadata Extracted
    • Data Visualization Tools
      • Amplitude
        • Amplitude Metadata Extracted
      • Looker
        • Looker Metadata Extracted
      • Looker Studio
        • Looker Studio Metadata Extracted
      • Metabase
        • Metabase Metadata Extracted
      • Mixpanel
        • Mixpanel Metadata Extracted
      • Mode
        • Mode Metadata Extracted
      • Power BI
        • Power BI Metadata Extracted
      • QuickSight
        • QuickSight Metadata Extracted
      • Retool
        • Retool Metadata Extracted
      • Redash
        • Redash Metadata Extracted
      • Sigma
        • Sigma Metadata Extracted
      • Tableau
        • Tableau Metadata Extracted
      • ThoughtSpot
        • ThoughtSpot Metadata Extracted
      • Cluvio
        • Cluvio Metadata Extracted
      • Hashboard
        • Hashboard Metadata Extracted
      • Lightdash
        • Lightdash Metadata Extracted
      • Preset
        • Preset Metadata Extracted
      • Superset
        • Superset Metadata Extracted
      • SQL Server Reporting Services
        • SQL Server Reporting Services Metadata Extracted
      • Hex
        • Hex Metadata Extracted
      • Omni
        • Omni Metadata Extracted
    • Data Pipeline Tools
      • Census
        • Census Metadata Extracted
      • Stitch
        • Stitch Metadata Extracted
      • Airflow
        • Airflow Metadata Extracted
      • Dagster
        • Dagster Metadata Extracted
      • Fivetran
        • Fivetran Metadata Extracted
      • Glue
        • Glue Metadata Extracted
      • Hightouch
        • Hightouch Metadata Extracted
      • Apache Kafka
        • Apache Kafka Metadata Extracted
      • Confluent Cloud
        • Confluent Cloud Metadata Extracted
      • Polytomic
        • Polytomic Metadata Extracted
      • Matillion
        • Matillion Metadata Extracted
      • Airbyte
        • Airbyte Extracted Metadata
      • Informatica
        • Informatica Metadata Extracted
      • Azure Data Factory
        • Azure Data Factory Metadata Extracted
    • Data Transformation Tools
      • dbt
        • dbt Cloud
          • dbt Cloud Metadata Extracted
        • dbt Core
          • dbt Core Metadata Extracted
      • Coalesce
        • Coalesce Metadata Extracted
    • Data Quality Tools
      • Cyera
      • Dataplex
        • Dataplex Metadata Extracted
      • Great Expectations
        • Great Expectations Metadata Extracted
      • Monte Carlo
        • Monte Carlo Metadata Extracted
    • Data Lakes
      • Google Cloud Storage
        • GCS Metadata Extracted
      • AWS S3
        • S3 Metadata Extracted
    • Query Engines
      • Trino
        • Trino Metadata Extracted
    • Custom Integrations
      • File Upload
        • CSV File Format
        • JSONL File Format
        • Maintain your Resources
      • Marketplace
        • Secoda SDK
        • Upload and Connect your Marketplace Integration
        • Publish the Integration
        • Example Integrations
      • Secoda Fields Explained
    • Security
      • Connecting via Reverse SSH Tunnel
      • Connecting via SSH Tunnel
      • Connecting via VPC Peering
      • Connecting via AWS Cross Account Role
      • Connecting via AWS PrivateLink
        • Snowflake via AWS PrivateLink
        • AWS Service via AWS PrivateLink
      • Recommendations to Improve SSH Tunnel Concurrency on SSH Bastion
    • Push Metadata to Source
  • Extensions
    • Chrome
    • Confluence
      • Confluence Metadata Extracted
      • Confluence best practices
    • Git
    • GitHub
    • Jira
      • Jira Metadata Extracted
    • Linear
    • Microsoft Teams
    • PagerDuty
    • Slack
      • Slack user guide
  • Features
    • Access Requests
    • Activity Log
    • Analytics
    • Announcements
    • Audit Log
    • Automations
      • Automations Use Cases
    • Archive
    • Bookmarks
    • Catalog
    • Collections
    • Column Profiling
    • Data Previews
    • Data Quality Score
    • Documents
      • Comments
      • Embeddings
    • Filters
    • Glossary
    • Homepage
    • Inbox
    • Lineage
      • Manual Lineage
    • Metrics
    • Monitors
      • Monitoring Use Cases
    • Notifications
    • Policies
    • Popularity
    • Publishing
    • Queries
      • Query Blocks
        • Chart Blocks
      • Extracted Queries
    • Questions
    • Search
    • Secoda AI
      • Secoda AI User Guide
      • Secoda AI Use Cases
      • Secoda AI Security FAQs
      • Prompts
    • Sharing
    • Views
  • Enterprise
    • SAML
      • Okta SAML
      • OneLogin SAML
      • Microsoft Azure AD SAML
      • Google SAML
      • SCIM
      • SAML Attributes
    • Self-Hosted
      • Additional Resources
        • Additional Environment Variables
          • PowerBI OAuth Application (on-premise)
          • Google OAuth Application (on-premise)
          • Github Application (on-premise)
          • OpenAI API Key Creation (on-premise)
          • AWS Bucket with Access Keys (on-premise)
        • TLS/SSL (Docker compose)
        • Automatic Updates (Docker compose)
        • Backups (Docker compose)
        • Outbound Connections
      • Self-Hosted Changelog
    • SIEM
      • Google Chronicle
  • API
    • Get Started
    • Authentication
    • Example Workflows
    • API Reference
      • Getting Started
      • Helpful Information
      • Audit Logs
      • Charts
      • Collections
      • Columns
      • Custom Properties
      • Dashboards
      • Databases
      • Documents
      • Events
      • Groups
      • Integrations
      • Lineage
      • Monitors
      • Resources
      • Schemas
      • Tables
      • Tags
      • Teams
      • Users
      • Questions
      • Queries
  • FAQ
  • Policies
    • Terms of Use
    • Secoda AI Terms
    • Master Subscription Agreement
    • Privacy Policy
    • Security Policy
    • Accessibility Statement
    • Data Processing Agreement
    • Subprocessors
    • Service Level Agreement
    • Bug Bounty Program
  • System Status
  • Changelog
Powered by GitBook
On this page
  • Installation Process
  • 1. Installing from Marketplace
  • 2. Configure Connection Credentials
  • 3. Network Rule Setup
  • 4. Create Integration in Secoda
  • Setup Wizard
  • 1. Connect to Secoda
  • 2. Select Integration
  • 3. Configure Features
  • Using the Native App
  • Required Permissions
  • Monitoring
  • Creating Monitors
  • Running and Managing Monitors
  • Catalog
  • Manual Catalog Sync

Was this helpful?

  1. Integrations
  2. Data Warehouses
  3. Snowflake

Snowflake Native App

Last updated 9 days ago

Was this helpful?

The Secoda Snowflake Native App is currently in early access. Features and functionality may change before the full release.

The Secoda Native Snowflake App enables you to integrate your Snowflake warehouse with Secoda without providing direct access to your Snowflake account. The native application runs securely within your Snowflake environment.

The Secoda Native App processes your data within your Snowflake environment and only sends metadata and limited processed information to Secoda's servers, allowing you to use Secoda's features without providing direct access to your raw data.

Installation Process

To get started with the Secoda Native Snowflake App, follow these four steps:

  1. Install the native app from Snowflake Marketplace

  2. Configure the application's connection credentials

  3. Set up network rules (if required)

  4. Complete the setup process

1. Installing from Marketplace

You can install the app directly from the Snowflake Marketplace. Once installed, you will see the application interface:

2. Configure Connection Credentials

Next, you'll need to configure the connection and provide account-level privileges:

  1. Open the app and navigate to the Connections tab

  1. Enter your Secoda API key (You can generate an API key by )

  1. Grant the necessary privileges to the application

3. Network Rule Setup

By default, the native app can connect to Secoda's US Cloud service (app.secoda.co). If you use any other URL to access Secoda, you will need to create a network rule.

You can skip this step if you use Secoda at app.secoda.co

To create a network rule:

  1. In Snowflake, navigate to Admin → Security → Network Rules

  2. The network rule name depends on your app installation name

    • If you installed the app as SECODA_APP, the rule will be named SECODA_APP_SECODA_API_NETWORK_RULE

  3. Add your custom Secoda endpoint to the network rule

4. Create Integration in Secoda

Before proceeding with the application configuration, you need to create a Native Snowflake integration in Secoda:

You will not need to configure any authentication for this integration. After creating the integration in Secoda, return to Snowflake and launch the "INSTALL_SECODA" Streamlit program from the application header.

Setup Wizard

The setup process guides you through three essential steps:

1. Connect to Secoda

  • By default, the installation connects to Secoda's US cloud (app.secoda.co)

  • Custom endpoint options are available for EU cloud, single-tenant, or on-premise deployments

2. Select Integration

  • Choose which Secoda integration to use with your Snowflake data

  • The app will list compatible Snowflake integrations from your Secoda account

  • If no integrations exist, you'll need to create one in Secoda first

3. Configure Features

  • Catalog: Enable to discover, explore, and document your Snowflake data assets

  • Monitor: Enable to track data quality and freshness metrics

Once the setup is complete, your Secoda Native Snowflake App is ready to use!

Using the Native App

You can interact with the Secoda Native Snowflake App in two ways:

  1. Streamlit-powered GUI: A user-friendly interface for configuring and managing your integration

  2. SQL commands: Execute SQL statements via a worksheet to perform the same operations

Most functionality available through the GUI can also be accessed via SQL commands, offering flexibility based on your team's preferences.

Required Permissions

For each database you want to monitor or catalog, grant the following permissions:

-- Replace placeholders with your actual database, schema, and table names
GRANT USAGE ON DATABASE <your_database> TO APPLICATION secoda_app;
GRANT USAGE ON SCHEMA <your_database>.<your_schema> TO APPLICATION secoda_app;
GRANT SELECT ON TABLE <your_database>.<your_schema>.<your_table> TO APPLICATION secoda_app;

Monitoring

The monitoring feature allows you to create data quality monitors that run within your Snowflake account using your Snowflake credits. Only the final calculated information is sent to Secoda.

Secoda tracks these metrics and can alert stakeholders when values exceed configured thresholds or when anomalies are detected.

Creating Monitors

You can create monitors using SQL commands. Here are some common examples:

-- Basic row count monitor
CALL SECODA_APP.MONITORING.CREATE_MONITOR(
    MONITOR_KEY => 'users_row_count',
    NAME => 'Users Table Row Count',
    METRIC_TYPE => 'row_count',
    TABLE_CATALOG => 'your_database',
    TABLE_SCHEMA => 'your_schema',
    TABLE_NAME => 'your_table'
);

-- Column-based monitor with manual thresholds
CALL SECODA_APP.MONITORING.CREATE_MONITOR(
    MONITOR_KEY => 'users_max_age',
    NAME => 'Users Maximum Age',
    METRIC_TYPE => 'max',
    TABLE_CATALOG => 'your_database',
    TABLE_SCHEMA => 'your_schema',
    TABLE_NAME => 'your_table',
    COLUMN_NAME => 'age',
    THRESHOLDS_METHOD => 'manual',
    THRESHOLDS_MAX => 100,
    THRESHOLDS_MIN => 20
);

-- Custom SQL monitor
CALL SECODA_APP.MONITORING.CREATE_MONITOR(
    MONITOR_KEY => 'active_users',
    NAME => 'Count of Active Users',
    METRIC_TYPE => 'custom_sql',
    TABLE_CATALOG => 'your_database',
    TABLE_SCHEMA => 'your_schema',
    TABLE_NAME => 'your_table',
    QUERY => 'SELECT COUNT(*) FROM your_database.your_schema.your_table WHERE is_active = TRUE'
);

-- Freshness monitor
CALL SECODA_APP.MONITORING.CREATE_MONITOR(
    MONITOR_KEY => 'data_freshness',
    NAME => 'Data Freshness',
    METRIC_TYPE => 'freshness',
    TABLE_CATALOG => 'your_database',
    TABLE_SCHEMA => 'your_schema',
    TABLE_NAME => 'your_table',
    COLUMN_NAME => 'last_updated'
);

Running and Managing Monitors

To run a specific monitor:

CALL SECODA_APP.MONITORING.RUN_MONITOR('monitor_key');

You can also manage your monitors:

-- Pause a monitor
CALL SECODA_APP.MONITORING.PAUSE_MONITOR('monitor_key');

-- Resume a monitor
CALL SECODA_APP.MONITORING.RESUME_MONITOR('monitor_key');

-- Update a monitor's thresholds
CALL SECODA_APP.MONITORING.UPDATE_MONITOR(
    MONITOR_KEY => 'monitor_key',
    THRESHOLDS_METHOD => 'manual',
    THRESHOLDS_MAX => 100
);

-- Clear all monitors
CALL SECODA_APP.MONITORING.CLEAR_MONITORS();

Catalog

The Catalog feature automatically discovers and syncs metadata about all schemas, tables, and columns that the app has been granted access to. The catalog syncs automatically at 12 AM UTC daily. After the sync completes, it may take a few hours for the metadata to be available in Secoda.

Manual Catalog Sync

You can also manually trigger a catalog sync:

  1. Open the "MANAGE_CATALOG" Streamlit application

  2. Click "Push Catalog" to start the sync process

  3. Once complete, go to Secoda and open the integration page

  4. Click "Pull Metadata" to import the metadata into Secoda

The catalog sync process takes approximately 1 hour for 200 tables and runs in a managed XSMALL warehouse.

Secoda Native App Interface
Connections Tab
API Key Entry
Required Privileges
Network Rule Configuration
Creating a Native Snowflake Integration in Secoda