Connecting Snowflake to NinjaCat: Direct vs. Share

Choose between Snowflake Direct and Snowflake Share to bring your Snowflake data into NinjaCat.

Connecting Snowflake to NinjaCat: Direct vs. Share

If you're a Snowflake customer and want to use your Snowflake data in NinjaCat, we support two ingestion methods: Snowflake Direct and Snowflake Share. Both require you to grant NinjaCat access to your Snowflake data, and in both cases you retain full ownership — you can revoke access at any time.

This article explains the difference between the two methods and helps you choose which is right for your data. Step-by-step setup instructions live in the linked companion articles.

Which method should I use?

We recommend Snowflake Direct for most customers. It's faster, simpler, and gives you near real-time access to your data with no duplication. No scheduled ingestion will run and data is available in the Ninjacat platform as soon as it is published. Choose Snowflake Share only when your data volume or query complexity makes direct querying impractical.

Snowflake Direct (recommended)Snowflake Share
How it worksNinjaCat queries your Snowflake data directly via a pointer — no copy is made.A daily query copies the latest data from your Snowflake account into NinjaCat's system.
Data freshnessNear real-time; queries only run on demand
(Private Marketplace Listings may add a ~30-min delay due to regional data movement)
Up to ~24 hours old (refreshed daily), based on schedule.
PerformanceFast for most datasets.Can be faster for very large or complex datasets that don't query efficiently in place.
Data storageData stays in your Snowflake account.A copy lives in NinjaCat's system in addition to yours.
Best forMost customers — straightforward datasets where freshness matters.Very large or complex datasets where direct querying isn't performant.
Ownership & revocationYou own the data and can revoke access at any time.You own the data and can revoke access at any time.
Status MonitoringNo refresh status is available, as no ingestion runs are processed.Latest sync time is displayed and sync history is available in the sync history tab of the dataset details page.

Snowflake allows private data sharing through two different mechanisms: Direct Shares or Private Marketplace Listings.

Note: Prior to sharing any data with NinjaCat over Snowflake share, make sure that any PII or sensitive content has either been excluded or masked.


Direct Shares

Direct shares are simple to create and manage, through either the Snowsight user interface or directly using SQL. However, they require that your account be in the same cloud platform and region as NinjaCat (AWS us-east-1/N Virginia).


Private Marketplace Listings

A Listing is essentially a wrapper around a data share, where Snowflake will take care of all the infrastructure required to deliver data across regions, removing the limitations of requiring your account to be in the same AWS region as NinjaCat.

Note: At this time, NinjaCat does not support cross-cloud data sharing through Listings. Please contact your NinjaCat account contact if you are not on an AWS hosted Snowflake account.

Creating a Snowflake Direct Share (Using Snowsight)

  1. Customer must create a Direct Share in the account where their data resides.

    Note: In order to perform this process you must have ACCOUNTADMIN permissions, or set up an appropriate role to be able to manage shares.

  2. Log into your Snowflake account where data resides

  3. Set your current role to "ACCOUNTADMIN"

  1. From the main menu, select Data SharingPrivate Sharing
  1. Add the tables, views, secure views to the share

  1. After creating your Share, contact NinjaCat via the in-app Support Bot and let us know the name of the share. Our support staff will accept the share and complete the internal tasks required for you to set up the Snowflake Share or Snowflake Direct data connectors.

Creating a Private Listing

  1. Log in and set your role appropriately
  2. From the main menu, select Data SharingPrivate Sharing
  1. Select "Publish to Specified Customers"
  2. Give your Listing an identifying name so it can be identified by us
  1. Select the "Add Data Product" button and add the objects you want to share with us. After saving your selection, you will name the underlying data Share that is wrapped by the Listing
  1. You will be returned to the listing page after saving. Set the Access Type to "Free listing"
  1. Update the "Who can access" block, and add our share ID to the listing: GZ07529.NC10487

Note: Once created, private listings can be found under Data SharingProvider Studio

  1. After creating your Share, contact NinjaCat via the in-app Support Bot and let us know the name of the share. Our support staff will accept the share and complete the internal tasks required for you to set up the Snowflake Share or Snowflake Direct data connectors.

Notes on Secure Views

Private sharing supports adding tables, views, or secure views.


Creating Shares with SQL

Creating Direct Shares with SQL is simple as well. Snowflake provides a great guide on how to complete this task.

If you need cross-region sharing, a direct share can be converted to a private listing.



Troubleshooting: a Direct Share stopped returning data

If a Snowflake Direct connection was working and then data stops appearing — most commonly after a credential or token was refreshed/rotated on the Snowflake side — the connection may need to be re-pointed at the current share.

  • What you'll see: A Snowflake Direct-backed dataset that previously returned data shows no new data, or the underlying share appears to have "disappeared" after a token refresh.
  • Why it happens: Refreshing or rotating the credential can leave the connection referencing a share that is no longer current.
  • What to do: Open the dataset in Data Cloud and use the Sync Now button to re-establish and refresh the connection. For Direct connections this re-points the connection at the current share so data flows again.
📘

Direct vs. Share status

Remember that Snowflake Direct does not run scheduled ingestion, so it does not show ongoing sync status the way Snowflake Share does (see the Status Monitoring row above). The Sync Now action is the manual control to use if a Direct connection needs to be refreshed.

Set up your data source

Once you've chosen a method, follow the setup steps in the matching article:

Using Snowflake with AI Agents

Yes — you can use your Snowflake data with NinjaCat AI Agents. Both Snowflake connector types are supported:

  • Snowflake Direct (snowflake-direct)
  • Snowflake Share (snowflake-share-manager)

How it works

AI Agents consume datasets, not Snowflake connections directly. You do not point an AI Agent at Snowflake itself. Instead, you first create a dataset backed by one of the Snowflake connectors above, and then add that dataset to your AI Agent in the Agent Builder.

There is no Snowflake-specific filter or picker in the Agent Builder. Snowflake-backed datasets appear in the same unified Select a Dataset dropdown as all other dataset types — they are distinguished only by a source icon. What you are attaching to the agent is a dataset (one that happens to be created from a Snowflake connector), not a Snowflake connection directly.

The agent reads from the dataset, which in turn pulls from your Snowflake connector — so any Snowflake source that can power a dataset can power an AI Agent.

Setup flow

  1. In the Agent Builder, open the Knowledge tab
  2. Under the Datasets section, click Add Datasets (empty state) or Add Dataset (if you already have one attached)
  3. In the Agent Data modal, use the Select a Dataset dropdown to choose your Snowflake-backed dataset
  4. Optionally choose a View (shows as "Select a View (Optional)")
  5. Give it a Name, add any Additional Agent Directions, then click Select

Did this page help you?