ψ · SNOWFLAKE → SLACK

Snowflake reports in your Slack channel, on schedule.

Daily revenue report at 9 AM. Hourly conversion check during business hours. Weekly executive summary every Monday. QueryFlow runs scheduled Snowflake queries on your Mac and posts formatted results to Slack channels via webhooks.

Start 14-day free trial Download on theMac App Store

macOS 15+ · Apple Silicon native · 14-day free trial · No credit card

Quick answer: QueryFlow schedules Snowflake queries to post results to Slack channels on macOS. Build a pipeline with Snowflake as source, configure a Slack incoming webhook URL as the destination, format the output as Slack Block Kit messages, schedule the pipeline (daily 9 AM, hourly business hours, etc.). The scheduler runs locally via macOS SMAppService. $299.99/year.

Why Snowflake-to-Slack reports matter

Daily business operations benefit from automated reporting in Slack: revenue numbers visible to the team without anyone querying, conversion alerts when metrics drop, executive summaries delivered every Monday morning. These workflows have classically required custom scripts, Airflow jobs, or paid SaaS reporting tools. QueryFlow makes them a 10-minute setup on a Mac.

QueryFlow's Slack webhook destination

Pipelines can target Slack incoming webhooks as a destination. Configuration: webhook URL (from your Slack app settings), message template, formatting options. Each scheduled run executes the SQL, formats the result, posts to Slack. Supports both simple text messages and rich Slack Block Kit with formatted columns, attached charts, and threading.

Step-by-step setup

Create an incoming webhook in your Slack workspace (Slack admin → Apps → Incoming Webhooks → Add to a channel). Copy the webhook URL. In QueryFlow, build a pipeline: Snowflake source with your report query, Slack webhook destination with the URL. Configure message format. Schedule the pipeline. Test by running manually first; once it looks right, the schedule takes over.

Message formatting examples

Daily revenue: '*Yesterday's Revenue*: $124,500 from 47 orders. *MoM*: +8.3%. *YoY*: +24.1%' formatted as a Slack Block Kit message with bold formatting. Hourly alerts: simple text message when a metric crosses a threshold. Weekly executive summary: a formatted multi-section Block Kit message with KPI dashboard-style layout.

Beyond simple text: attaching CSV

Some reports need detailed data, not just headline numbers. QueryFlow can attach the full query result as a CSV file to the Slack message. Recipients see the headline summary and can download the CSV for drill-down analysis. Useful for weekly reports where the team needs both summary and detail.

Conditional reports (only post when something interesting happens)

Use a Flow Book instead of a Visual ETL pipeline for reports with conditional logic: run the SQL query, evaluate the result with Python, post to Slack only if a condition is met (revenue below threshold, conversion drop > 10%, new customer count exceeds target). Scheduled Flow Books run the same way as pipelines.

Scaling to multiple reports

Most QueryFlow users running Snowflake-to-Slack workflows end up with 5-15 scheduled reports: morning revenue, hourly alerts, weekly summary, monthly cohort report, customer health check, etc. Each is its own pipeline or Flow Book with its own schedule. Observatory dashboard shows them all in one view with success rates and next-run times.

Production reliability patterns

For business-critical reports, a few patterns: dedicated Mac mini as 'ETL server' so reports don't depend on a laptop being open. Power Schedule to wake before scheduled report times. Failure notifications to a Slack admin channel when a report itself fails to run. Heartbeat reports — a daily 'all systems operational' message so you know the scheduler is alive.

Frequently asked

Can I send to multiple Slack channels?

Yes. Each Slack channel that should receive reports has its own webhook URL, and each pipeline can target a specific webhook. So different reports can route to different channels.

Does QueryFlow support Slack's interactive Block Kit components?

v1.5 supports static Block Kit formatting (text blocks, dividers, fields, simple sections). Interactive components (buttons, dropdowns) require a Slack app with server-side handlers, beyond QueryFlow's scope.

Can the report include a chart or graph image?

Yes. A Flow Book can generate a matplotlib/seaborn chart, upload it to a temporary host (or your S3), and include the image URL in the Slack message. More work than text-only reports but produces visually rich daily summaries.

What if my Snowflake warehouse is suspended when the report runs?

Snowflake auto-resumes the warehouse when a query arrives. There's a brief warmup delay (typically 0-5 seconds) but the query runs normally. Cost: warehouse resumes for that query and stays warm for the AUTO_SUSPEND duration (default 5 minutes).

Can I edit or delete a posted Slack message later?

Incoming webhooks don't support editing or deleting after the fact (Slack's webhook protocol limitation). For that capability, you'd build a proper Slack app with message tokens. For most reporting workflows, posting fresh messages each run is the simpler model.

Snowflake reports in Slack, automated.

14-day free trial. Build your first Snowflake-to-Slack report in 10 minutes and let it run forever.

Start 14-day free trial