Databricks' own alerting is a real, native feature with Slack support. It's also built for a platform that already has a SQL warehouse provisioned. If you just want one query checked from your Mac, that's a lighter job.
No credit card. 14 days. Cancel in one click.
Quick answer: Databricks SQL Alerts are a genuine native feature, scheduled, with Slack and other notification destinations, but they run against a SQL warehouse you provision and keep available. QueryFlow's Watch This checks the same kind of query from a native Mac app using the Databricks connection you already have, no separate warehouse-availability planning required for a single check.
If a SQL warehouse is already running for your team's dashboards, native Alerts cost you almost nothing extra to add. If you're an individual engineer with a personal connection to a shared Databricks workspace and no dashboard infrastructure of your own, the calculation is different, you'd be setting up alert objects and thinking about warehouse availability for a check that's really just for you.
Databricks' own Alerts documentation describes a solid, native feature: a saved query, a schedule, a condition, and a notification destination that includes Slack. This isn't a workaround, it's a first-class part of Databricks SQL, and if your team already has a warehouse provisioned and running for reporting, adding an alert on top of it is close to free.
The alert's condition query has to actually execute against something, and that something is a SQL warehouse. If the warehouse auto-stops when idle, which is the sensible default for cost control, each scheduled alert check can trigger a cold start, adding latency and a small compute charge every time. Keeping a warehouse running continuously to avoid that removes the cold start but adds a standing cost of its own. Neither is wrong, it's just a real trade-off that a lightweight, occasional check doesn't always want to take on.
Say you want to know if a Unity Catalog table stopped getting new rows overnight:
SELECT COUNT(*) AS new_rows FROM main.analytics.events WHERE event_date = current_date() - 1;
Run that in QueryFlow against your Databricks connection, click Watch this, choose A value on new_rows, condition Equals 0 (or Less than a floor), check every 1d, and destination Slack. The check runs on whatever schedule you pick, using the warehouse connection you already have, and the cost and cold-start question is the same one you'd already be managing for that warehouse day to day, it doesn't add a second alerting system's worth of scheduling on top.
For a data-quality check the platform team owns, that needs to live inside Databricks' own governance and run regardless of whether any particular person's laptop is on, native Alerts are the correct tool, full stop. This page isn't arguing against that. It's aimed at a narrower, common situation: an individual engineer or analyst who wants one query watched and doesn't want to become the owner of a new alert object inside a shared warehouse for it.
| Databricks SQL Alerts | QueryFlow Watch This | |
|---|---|---|
| Runs against | A Databricks SQL warehouse you provision | Your existing Databricks connection |
| Lives in the platform | Yes, under Databricks governance | No, a QueryFlow object on your Mac |
| Slack destination | Yes, native | Yes, plus Teams and a Mac notification |
| Cross-warehouse work | Databricks only | Any of the 9 connectors, including BigQuery, Snowflake, Postgres |
| Runs closed/offline | Platform-side, always on | Yes, via a login-item helper, independent of the app-closed job toggle |
Run or open a query in the SQL Editor, click Watch this, name it and confirm the connection and SQL. Choose Row count, A value, or Any change, pick a condition, set Check every, tick Destinations, run a preview, and save. Full walkthrough: the Watch This tutorial.
Databricks results over 25 MB need a LIMIT or fewer columns, worth knowing before you build a Watch around a query that scans a wide, high-cardinality table without narrowing it down. A row-count or single-value check, the shape most Watches take, almost never runs into this since the result being checked is a handful of numbers, not raw rows. If you're watching something closer to Any change on a broader result set, keep the query itself scoped, a WHERE clause on a recent date range, or a LIMIT on the rows returned, the same discipline you'd already want for any interactive query against a large Unity Catalog table.
A single Databricks connection can browse and query across catalogs if you leave the connection's Catalog field blank, letting you pick a different one per query rather than being locked to a single catalog per connection. That matters if the table you want watched sits in a different catalog than the one you use day to day, no second connection required, just qualify the query with the right catalog.schema.table path.
Yes, Databricks SQL Alerts support notification destinations including Slack, alongside email and other configured destinations, natively.
The alert's scheduled query needs a SQL warehouse to run against at check time. Depending on your warehouse's auto-stop settings, that can mean a cold start on each check, or keeping it running, which has its own cost.
Yes. Set a catalog on the connection, or leave it blank to browse the default, and write the Watch's query using catalog.schema.table naming.
Native Databricks SQL Alerts, since they live inside the platform under its own permissions and don't depend on any client app being installed. A Watch is better suited to a personal or small-team check someone wants without opening a ticket with the platform team.
14-day free trial, no card. Point it at the Databricks connection you already have.
No credit card. 14 days. Cancel in one click.