Overview
The Snowflake Native App installs as a customer-hosted data plane within your Snowflake environment. It runs the operator component that bridges Narrative’s control plane with your Snowflake data—polling for jobs, executing NQL queries, and returning results, all without your data leaving your Snowflake account.Capabilities
- Register Snowflake tables and views as Narrative datasets
- Register one or more Snowflake warehouses as compute pools
- Execute NQL queries directly in your Snowflake environment
- Participate in cross-data-plane data collaboration
- Keep data within your Snowflake security perimeter
Requirements
Privileges
The app requires the following Snowflake privileges:Registering warehouses as compute pools
To register a Snowflake warehouse as a compute pool, grant the app usage on the warehouse:API token permissions
Your Narrative API token must include the following permissions:
See API Keys for instructions on creating and managing tokens.
Registering datasets
A Snowflake table or view becomes a Narrative dataset by either of two routes, which produce the same result:- The app’s Configuration screen, covered in the installation guide
- The
code.register_datasetstored procedure, callable from a worksheet, the Snowflake SQL API, or a task — see Register a Snowflake dataset from SQL
dataset_registration application role, which carries the registration procedures and nothing else, or app_admin, which holds it. Either way the app must already have its external access integration, API token, and at least one granted warehouse.
Dataset naming conventions
When you name a dataset on the Configuration screen, the name must use:- Uppercase letters only (A–Z)
- Numbers (0–9)
- Underscores (
_)
MY_DATASET_NAME, CUSTOMER_EVENTS_2024.
Registering from SQL takes a human-readable display_name and derives the machine name from it, replacing every non-word character with an underscore, so 'My Events' becomes My_Events. Pass dataset_name explicitly to set it yourself.
Registration errors
Bothcode.register_dataset and code.infer_dataset_schema fail with a named message rather than a generic error.
Installation
For step-by-step installation instructions, see Install the Snowflake Native App.Related content
Installation Guide
Step-by-step setup instructions
Data Planes
Understand how data planes and operators work
Execution Context
Learn how queries are executed across data planes
API Keys
Manage API tokens and permissions

