A scheduled job always delivers its result. A Watch only tells you when the condition you set actually fires. Different jobs, often used together.
No credit card. 14 days. Cancel in one click.
Quick answer: A scheduled job runs a query and delivers the result every time, on a fixed cadence, right for a report people read regardless of the numbers. A Watch runs on a cadence too but only alerts when a condition, like a row count change or a threshold crossed, actually fires. Most setups use both: scheduled reports for routine numbers, watches for the specific conditions that need attention.
A scheduled job runs a query and delivers the result every time, on a fixed cadence, regardless of what the result says. A Watch runs a query on a cadence too, but only tells you something when a condition you defined actually fires.
Both live under Automations and both can run with QueryFlow closed through the login-item helper. The difference is entirely about what happens after the query runs: a scheduled job always delivers, a watch delivers conditionally.
A daily sales report that a team reads every morning regardless of the numbers is a scheduled job, see scheduling a Databricks query or scheduling a BigQuery query. A number you only want to hear about when it crosses a line, failed logins, a dropped row count, a KPI below target, is a Watch.
Most real setups use both. A scheduled report for the numbers people expect to see on a regular rhythm regardless of what they say, and a handful of watches for the specific conditions that actually need attention when, and only when, they happen. Using a watch for something you'd want to see every day anyway just means rebuilding a report as a series of one-off alerts; using a scheduled job for something rare just means getting paged with the same routine message every day even when nothing's wrong.
Row count alerts and threshold alerts cover setting up the watch side. The Daily Recap is a third option worth knowing: a once-a-day summary of both scheduled job runs and watch alerts, for when you want the calmer read instead of either extreme.
Say you run a nightly Snowflake-to-Salesforce sync and also track failed checkouts. The sync is a scheduled job, it runs every night at a set time and you want confirmation either way, success or failure, because someone reads that confirmation as part of a routine. Failed checkouts are a watch: most days nothing's wrong, and a message every single check would be noise. The distinction isn't about which feature is more powerful, it's about whether you want to hear from the system every time or only when something changes.
Using a scheduled job for something you only care about occasionally means getting a routine message even on days when everything's fine, which people tend to start ignoring, exactly the outcome you don't want for something that matters. Using a watch for something you'd want to see daily regardless means rebuilding a report as a series of narrow alerts instead of just reading the report. Neither mistake breaks anything, but both waste the feature's actual strength.
Whichever matches an actual habit you already have. If you check a number out of habit just in case, that's a watch. If you already read a report every day regardless, that's a scheduled job.
Not directly, a scheduled job delivers its output every time it runs, on a fixed cadence. If you want it to only speak up under a condition, a watch is the right tool instead.
Yes, both can send to Slack, Teams, email, or other destinations depending on your tier, and both run through the same login-item helper when the app is closed.
Both are Pipelines features for the full destination set; Studio includes the Scheduler with email and local-file output only. Watch This itself is Pipelines-only.
14-day free trial, no card. Try a watch or a scheduled job today.
No credit card. 14 days. Cancel in one click.