Integration · Data and lineage

Snowflake integration

Turn the lineage in a Snowflake database into a flow you can edit and share. Wavelength reads the metadata and draws which objects feed which.

No AI call. Wavelength reads metadata only, never your table data.

What you can do

Map a database or a schema

Pick a database, an optional schema, and a history window in days. Wavelength draws the objects and the links between them.

See what writes to each table

Writes such as INSERT ... SELECT, CREATE TABLE AS SELECT, and MERGE show as edges labeled writes.

Trace stage and Snowpipe loads

COPY INTO loads and Snowpipe loads show as edges from the stage to the table.

See it in action

Watch a short demo of a Snowflake lineage import.

Wavelength reads ACCOUNT_USAGE and draws the lineage as a flow.

How it works

  1. Open Settings, then Connected apps. Or click Automations in the transcript panel and open the Snowflake tab.
  2. Copy the setup SQL with the Copy button. An admin runs it once in Snowflake. It creates the role WAVELENGTH_LINEAGE and the security integration WAVELENGTH_OAUTH.
  3. Paste the client id and the client secret, then click Sign in with Snowflake. Key pair and programmatic access token sign-in are also available.
  4. Pick a database, an optional schema, and a history window in days.
  5. Wavelength runs the queries and draws the flow. Edit it like any other flow.

Wavelength reads three ACCOUNT_USAGE views. OBJECT_DEPENDENCIES works on all editions. ACCESS_HISTORY gives the writes and needs Enterprise edition. COPY_HISTORY gives the stage and Snowpipe loads.

Tables and stages become data nodes. Views, dynamic tables, streams, and tasks become steps. Functions become systems. Edge labels are references, writes, COPY INTO, and Snowpipe with the pipe name.

A flow holds up to 250 nodes. For a bigger database, pick a schema. Snowflake fills ACCOUNT_USAGE with a delay of up to 3 hours, so new objects can take that long to show.

You can also import from Claude, ChatGPT, or another AI assistant with the Wavelength connector. The tools are list_snowflake_databases and import_snowflake_lineage. See Wavelength MCP.

Worked example

A data engineer imports the database WAVELENGTH_DEMO.

What lands in Wavelength

  • A flow with 18 nodes and 19 edges.
  • 7 edges come from dependency rows, such as a view that references a table.
  • 12 edges come from write rows, such as a MERGE into a table.
  • Tables as data nodes, and views and tasks as steps.

Who uses this

Security and permissions

Sign in with Snowflake uses your own custom OAuth security integration. It is a confidential client with PKCE. Snowflake blocks ACCOUNTADMIN, SECURITYADMIN, and ORGADMIN for OAuth.

The role WAVELENGTH_LINEAGE gets IMPORTED PRIVILEGES on the SNOWFLAKE database and usage on a warehouse. Wavelength runs read-only SQL on ACCOUNT_USAGE. It does not read your table data.

Wavelength stores the tokens encrypted with AES-GCM. The tokens refresh automatically. The import makes no AI call.

The Trust Center and the subprocessor list show how Wavelength handles your data.

Common questions

Does Wavelength work with Snowflake?

Yes. Wavelength reads lineage metadata from Snowflake ACCOUNT_USAGE and draws it as an editable flow. Tables, views, tasks, stages, and loads become nodes and edges.

What access does Wavelength need?

A role with IMPORTED PRIVILEGES on the SNOWFLAKE database and usage on a warehouse. The setup SQL creates the role WAVELENGTH_LINEAGE and the security integration WAVELENGTH_OAUTH.

Why do some writes not show?

Write lineage comes from ACCESS_HISTORY, which needs Snowflake Enterprise edition. Snowflake also fills ACCOUNT_USAGE with a delay of up to 3 hours.

How big can the flow be?

Up to 250 nodes. For a bigger database, pick a schema.

Does the import use AI?

No. Wavelength maps the metadata with fixed rules. The import makes no AI call.