Templates in Snowsight¶

Overview¶

Snowsight templates provide users with interactive walkthroughs for exploring Snowflake features and use cases. Templates are available as executable worksheets, notebooks, or Streamlit apps, and come pre-configured with sample data and the required permissions.

Templates run in a dedicated SNOWFLAKE_LEARNING environment, which includes a pre-provisioned role (SNOWFLAKE_LEARNING_ROLE), an X-Small compute warehouse (SNOWFLAKE_LEARNING_WH), and a database (SNOWFLAKE_LEARNING_DB). Costs associated with the SNOWFLAKE_LEARNING_WH and SNOWFLAKE_LEARNING_DB are managed in the same as any other object owned by ACCOUNTADMIN. See Monitor credit usage with budgets for details on monitoring and optimizing warehouse compute costs.

Note

SNOWFLAKE_LEARNING_WH is owned by the ACCOUNTADMIN role.

Templates offer the following advantages:

  • Safely try new features and use cases without impacting production data.

  • Sample data is included to get up and running quickly.

  • Concise, self-contained experiences that are typically completed in under five minutes.

In trial accounts created after May 28, 2025, the SNOWFLAKE_LEARNING environment is automatically provisioned.

The warehouse, database, and role are provisioned using the following SQL:

CREATE DATABASE SNOWFLAKE_LEARNING_DB;
CREATE ROLE SNOWFLAKE_LEARNING_ROLE;
GRANT ROLE SNOWFLAKE_LEARNING_ROLE TO ROLE PUBLIC;
CREATE WAREHOUSE SNOWFLAKE_LEARNING_WH
  COMMENT = 'Warehouse used for executing template and demo content'
  WAREHOUSE_SIZE = 'X-Small'
  AUTO_RESUME = true
  AUTO_SUSPEND = 300;
GRANT USAGE, MONITOR, OPERATE ON WAREHOUSE SNOWFLAKE_LEARNING_WH TO ROLE SNOWFLAKE_LEARNING_ROLE;
GRANT USAGE ON DATABASE SNOWFLAKE_LEARNING_DB TO ROLE SNOWFLAKE_LEARNING_ROLE;
GRANT CREATE SCHEMA ON DATABASE SNOWFLAKE_LEARNING_DB TO ROLE SNOWFLAKE_LEARNING_ROLE;
Copy

For existing customer accounts, the SNOWFLAKE_LEARNING environment needs to be set up manually by a user with the ACCOUNTADMIN role. Run the following SQL commands:

CREATE DATABASE SNOWFLAKE_LEARNING_DB;
CREATE ROLE SNOWFLAKE_LEARNING_ROLE;
GRANT ROLE SNOWFLAKE_LEARNING_ROLE TO ROLE PUBLIC;
CREATE WAREHOUSE SNOWFLAKE_LEARNING_WH
  COMMENT = 'Warehouse used for executing template and demo content'
  WAREHOUSE_SIZE = 'X-Small'
  AUTO_RESUME = true
  AUTO_SUSPEND = 300;
GRANT USAGE, MONITOR, OPERATE ON WAREHOUSE SNOWFLAKE_LEARNING_WH TO ROLE SNOWFLAKE_LEARNING_ROLE;
GRANT USAGE ON DATABASE SNOWFLAKE_LEARNING_DB TO ROLE SNOWFLAKE_LEARNING_ROLE;
GRANT CREATE SCHEMA ON DATABASE SNOWFLAKE_LEARNING_DB TO ROLE SNOWFLAKE_LEARNING_ROLE;
Copy

If the SNOWFLAKE_LEARNING environment has already been provisioned but you want to disable it and drop the objects, A user with the ACCOUNTADMIN role can run the following script to disable and drop the learning environment:

USE ROLE ACCOUNTADMIN;
SELECT SYSTEM$DISABLE_SNOWFLAKE_LEARNING_ENVIRONMENT();

-- DATABASE
SHOW DATABASES LIKE 'SNOWFLAKE_LEARNING_DB';
DROP DATABASE SNOWFLAKE_LEARNING_DB;

-- WAREHOUSE
SHOW WAREHOUSES LIKE 'SNOWFLAKE_LEARNING_WH';
DROP WAREHOUSE SNOWFLAKE_LEARNING_WH;

-- ROLE
SHOW ROLES LIKE 'SNOWFLAKE_LEARNING_ROLE';
DROP ROLE SNOWFLAKE_LEARNING_ROLE;
Copy

Get started with templates at http://app.snowflake.com/templates.