May 8, 2026 · 7 min read · Snowflake, Slack, How-to

How to monitor Snowflake business metrics and get Slack alerts

Most data teams using Snowflake have the same blind spot: the warehouse contains everything — transactions, signups, revenue, user activity — but nobody gets notified when something goes wrong. You find out in the Monday standup, or when the CEO asks why last week's numbers look off.

This guide covers how to set up proactive business metric monitoring on Snowflake with Slack alerts — so your team knows the moment a KPI moves, not hours or days later.

Why Snowflake monitoring ≠ infrastructure monitoring

Snowflake has built-in query monitoring and account usage views. These are useful for tracking warehouse credits, query costs, and performance. But they don't monitor the data inside your tables.

Business metric monitoring is different. It means watching the values your SQL produces — transaction counts, daily active users, conversion rates, revenue by segment — and alerting your team when they change unexpectedly.

You can't do that with Snowflake's native tooling. You need something that:

What most teams build first — and why it breaks

The typical starting point is a Python script that runs on a cron job, queries Snowflake, compares the result to a hardcoded threshold, and posts to a Slack webhook if triggered.

This works. For a while.

The problem is the maintenance: static thresholds fire every Monday morning because Monday is always slower than Friday. Your team starts ignoring alerts. You spend time tuning thresholds that make sense this month but break after a campaign or a seasonal shift. A schema change breaks three queries silently. Eventually the system owns you.

The deeper problem: only engineers can touch it. Every time a product manager wants a new metric, it's a ticket.

Setting up Snowflake metric monitoring with Lighthouse

Lighthouse is a business metric monitoring platform that connects directly to Snowflake with read-only credentials and sends Slack alerts when KPIs change. Here's how to get from zero to your first alert.

Step 1: Connect Snowflake with read-only credentials

Lighthouse needs a read-only Snowflake service account. Create a dedicated role with SELECT permissions on the schemas you want to monitor:

CREATE ROLE lighthouse_monitor;
GRANT USAGE ON WAREHOUSE your_warehouse TO ROLE lighthouse_monitor;
GRANT USAGE ON DATABASE your_db TO ROLE lighthouse_monitor;
GRANT USAGE ON SCHEMA your_db.your_schema TO ROLE lighthouse_monitor;
GRANT SELECT ON ALL TABLES IN SCHEMA your_db.your_schema TO ROLE lighthouse_monitor;

Then create a user and assign the role:

CREATE USER lighthouse_user
  PASSWORD = 'your_secure_password'
  DEFAULT_ROLE = lighthouse_monitor;
GRANT ROLE lighthouse_monitor TO USER lighthouse_user;

Enter these credentials in Lighthouse. Setup takes about 3 minutes.

Step 2: Describe a metric in plain English

Once connected, Lighthouse shows you your Snowflake schemas. Pick a table and describe what you want to monitor — in plain English.

For example: "Total transaction volume in the last hour, compared to the same hour last week."

Lighthouse's AI reads your schema and generates the Snowflake SQL automatically — including CTEs, window functions, and time filters. You review and approve the query. No manual SQL writing required.

Step 3: Set alert conditions

Configure how Lighthouse should alert:

Lighthouse also sets adaptive baselines automatically — it learns your day-of-week patterns so Monday's lower volume doesn't trigger an alert.

Step 4: Connect Slack

Authorize the Lighthouse Slack app and pick which channel to send alerts to. You can route different metrics to different channels — finance metrics to #finance-alerts, product metrics to #product-data.

What the Slack alert looks like

When a metric crosses its threshold, Lighthouse sends a Slack message with:

Your team has the full picture without leaving Slack or opening a dashboard.

Common Snowflake metrics to monitor

Here are the metrics data teams most commonly set up alerts for:

Transaction and revenue metrics

User and engagement metrics

Operations and data quality

Frequently asked questions

Do I need admin credentials? No. Lighthouse only needs a read-only role with SELECT access. It never writes to your warehouse.

How does it handle seasonal patterns? Lighthouse compares each metric to a rolling baseline — same day of week, same time of day, averaged over the past 4 weeks. Monday at 9am is compared to the last 4 Mondays at 9am, not to Sunday at midnight.

Can analysts create their own metrics? Yes. Lighthouse is designed so non-technical business users can describe metrics in plain English without filing a ticket to the data team. Every analyst can manage their own alerts.

How long does setup take? Most teams connect Snowflake and create their first metric in under 10 minutes.


Ready to set it up? Start for free on Lighthouse — or read more about the Snowflake integration.