WarehousesCreating a Warehouse

Creating a Warehouse

This guide walks you through adding a new warehouse connection in SignalSmith. A warehouse connects SignalSmith to your data warehouse so you can build models, define schemas, and sync data to destinations.

Prerequisites

Before creating a warehouse, ensure you have:

  • A SignalSmith workspace with appropriate permissions (Admin or Editor role)
  • Connection credentials for your data warehouse
  • Network access from SignalSmith to your warehouse (IP allowlisting if needed)
  • A read-only database user or service account (recommended)

Step-by-Step Guide

Step 1: Navigate to Warehouses

  1. Log in to your SignalSmith workspace
  2. Click Warehouses in the left sidebar
  3. Click the Add Warehouse button in the top-right corner

Step 2: Select Your Warehouse Type

Choose from the supported warehouse types:

  • Snowflake — Cloud data warehouse with account-based access
  • BigQuery — Google Cloud’s serverless data warehouse
  • Databricks — Unified analytics platform with Delta Lake

Each warehouse type has a dedicated configuration form with fields specific to that platform. See the warehouse-specific guides for details:

Step 3: Enter Connection Details

Fill in the required fields for your warehouse type. While the specific fields vary by warehouse, they generally include:

CategoryExamples
Host / AccountSnowflake account identifier, Databricks host URL, database hostname
AuthenticationUsername/password, service account key, access token, key pair
Database / ProjectDatabase name, BigQuery project ID, Databricks catalog
Schema / DatasetDefault schema or dataset to query

All credentials are encrypted at rest using AES-256 encryption before being stored.

Step 4: Name Your Warehouse

Give your warehouse a descriptive name that helps team members identify it. Good naming conventions include:

  • Production Snowflake — Identifies the environment
  • Analytics BigQuery (US) — Includes the region
  • Marketing Databricks — Identifies the team or use case

The name must be unique within your workspace.

Step 5: Test the Connection

Click the Test Connection button to verify your configuration. SignalSmith will:

  1. Attempt to connect to your warehouse using the provided credentials
  2. Execute a lightweight validation query (SELECT 1 or equivalent)
  3. Verify that the specified database/schema exists and is accessible
  4. Report success or provide specific error details

See Testing Connections for more details on what the test validates and how to troubleshoot failures.

Step 6: Save

Once the connection test passes, click Save to create the warehouse. Your warehouse is now ready to be used by Models.

Using the API

You can also create warehouses programmatically via the REST API:

curl -X POST https://your-workspace.signalsmith.dev/api/v1/sources \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Snowflake",
    "type": "snowflake",
    "config": {
      "account": "xy12345.us-east-1",
      "warehouse": "COMPUTE_WH",
      "database": "ANALYTICS",
      "schema": "PUBLIC",
      "username": "CDP_USER",
      "password": "your-password"
    }
  }'

The API response includes the created warehouse with its id, which you can use to reference it in model and sync creation:

{
  "id": "src_abc123",
  "name": "Production Snowflake",
  "type": "snowflake",
  "status": "healthy",
  "created_at": "2025-01-15T10:30:00Z",
  "updated_at": "2025-01-15T10:30:00Z"
}

Editing a Warehouse

To update an existing warehouse:

  1. Navigate to Warehouses in the sidebar
  2. Click on the warehouse you want to edit
  3. Modify the fields as needed
  4. Click Test Connection to verify the updated credentials
  5. Click Save

Note that changing the database or schema of an existing warehouse may break models that reference tables in the old schema.

Deleting a Warehouse

To delete a warehouse:

  1. Navigate to Warehouses in the sidebar
  2. Click on the warehouse you want to delete
  3. Click the Delete button (or use the overflow menu)
  4. Confirm the deletion

SignalSmith will prevent deletion if the warehouse has active models or syncs depending on it. You must first remove or reassign those downstream resources.

Common Issues

IssueSolution
Connection test fails with “timeout”Verify network access — ensure SignalSmith IPs are allowlisted in your warehouse’s firewall or security group
”Authentication failed”Double-check credentials, verify the user/service account exists, and confirm it has the necessary permissions
”Database not found”Verify the database name is correct and that the user has access to it
”Schema not found”Verify the schema name and that the user has USAGE permission on it
Warehouse shows “Unhealthy” statusCredentials may have been rotated, or the warehouse may be unreachable. Edit the warehouse and re-test

Next Steps