Skip to main content

Snowflake Integration

Integrate Toolio with your Snowflake data warehouse

If you are using Snowflake as your data warehouse, Toolio can integrate directly with your Snowflake instance. Toolio supports two connection methods: Direct Connection (Toolio connects to your Snowflake using credentials) or Snowflake Private Listing (you share data with Toolio's Snowflake account — no credentials required, fully self-service).

Table Naming Conventions

You will need to set up a table for each core model. Below are the required table names:

Data Model

Table Name

Product

toolio_products

Inventory

toolio_inventory

Sale

toolio_sales

Purchase Order

toolio_purchase_orders

Receipt

toolio_receipts

Required Table Schema

You can think of each column on your table corresponding to an attribute on Toolio's data models. Column names should be the same as the slugs. Please see core model documentation for the column types you should use.

Direct Connection

Please share the following information with your Toolio Customer Success Manager to connect Toolio to your Snowflake instance:

.snowflakecomputing.com

user=

db=

schema=

warehouse=

role=

Snowflake Private Listing

Snowflake Private Listing allows you to share data from your Snowflake account directly with Toolio — no credentials required, and data never leaves Snowflake's platform. Toolio will mount your listing as a read-only database on our end.

Use Private Listing if:

  • Your security policy prohibits sharing Snowflake credentials with external parties.

  • You prefer to manage data access through Snowflake's native access controls.

Step 1: Set Up Your Tables

Create the tables in your Snowflake schema following the Table Naming Conventions and Required Table Schema above. Note the schema name where these tables reside — you will need it in Step 4.

Step 2: Create a Private Listing in Snowflake

In your Snowflake account, navigate to Data Products > Provider Studio and create a new listing:

  1. Select Only Specified Consumers to make it a private listing.

  2. Add the schema containing your Toolio tables as the listing content.

Step 3: Add Toolio as a Consumer

Share your listing with Toolio's Snowflake account. Your Toolio Customer Success Manager will provide <TOOLIO_ACCOUNT>:

ALTER LISTING <LISTING_NAME> ADD TARGETS $$
targets:
  accounts: ["<TOOLIO_ACCOUNT>"]
$$;

Then retrieve your listing's global name — this is the Listing ID you will enter in Toolio:

DESC LISTING <LISTING_NAME>;

Look for the global_name field in the results (e.g., GZ1MWZ2OYN3).

Step 4: Enter the Listing ID in Toolio

In Toolio, navigate to Settings > Data Management > Integrations and open the Snowflake integration. Select Private Listing as the connection mode, then:

  • Paste the global_name from the previous step into the Listing ID field.

  • Enter the schema name where your Toolio tables reside.

Pagination & UpdateAt Field

If possible, make sure to add an updatedAt field to each of the tables that you create. This helps Toolio keep track of the last value that has been synced from your Data Warehouse. To learn more please see how Toolio handles pagination here.

Related Articles

Did this answer your question?