ψ · SALESFORCE → SLACK

Push Salesforce reports to Slack daily.

Send pipeline stats, deal updates, lead counts, and any custom Salesforce report to Slack channels on a schedule. Write the SOQL once, schedule the post, and your team sees the numbers without opening Salesforce.

Start 14-day free trial Download on theMac App Store

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

Why this workflow matters

Sales and revenue teams need recurring visibility into Salesforce data — yesterday's bookings, today's pipeline, this week's at-risk deals, this month's lead volume. Most teams currently send these manually (someone runs a report, screenshots it, posts to Slack). The work is repetitive, slow, and error-prone.

Existing options and their limits

Salesforce's Slack integration is real but limited to record-level notifications (this deal closed, this lead was created). Reports & Dashboards have native Slack delivery in some org configurations but the formatting is rigid. Third-party tools like Slackbot can do this with custom code maintenance. None of these are simple.

The QueryFlow workflow in 4 steps

Step 1: Write your SOQL query in QueryFlow (or have Claude AI write it). Step 2: In the pipeline destination, pick Webhook and paste your Slack channel's incoming webhook URL. Step 3: Configure the formatting — table layout, headers, color-coded conditional formatting if needed. Step 4: Schedule — daily at 8 AM, hourly during business hours, weekly Monday morning, whatever cadence matters.

Slack-native formatting

QueryFlow formats Salesforce query results as Slack-friendly tables using Slack's Block Kit format. Numeric columns right-aligned, headers bolded, conditional color coding for at-risk values (deals slipping, leads going stale). The output looks like it was designed for Slack, not copy-pasted from a CSV.

Smart aggregation for executive-friendly reports

Daily reports for executives need to be skimmable. Use Flow Books (SQL + Python) to aggregate the Salesforce query results into a single summary line: 'Yesterday: 12 deals closed, $147K booked, 3 at risk for this week.' The Python step formats the aggregation, then the webhook destination sends the one-liner to the executive Slack channel.

Multiple channels for different audiences

One QueryFlow workspace can have dozens of pipelines, each going to a different Slack channel. #sales-ops gets the detailed daily pipeline rollup. #leadership gets the executive summary. #at-risk-deals gets only the deals flagged as slipping. Each pipeline has its own SOQL query, schedule, and webhook URL.

Conditional alerts instead of constant reports

Beyond daily reports, configure pipelines that only post to Slack when something meaningful happens. A deal worth over $100K moves to Stage 3 → post to #leadership. A Lead with no Owner sits unassigned for >24 hours → post to #lead-routing. These conditional triggers are configured through SOQL filters and pipeline conditions.

Frequently asked

Do I need a Slack admin to set up the webhook?

You need someone with permission to add a Slack App or create an incoming webhook in your workspace. For most teams this is the channel admin or a workspace admin. Once you have the webhook URL, configuring QueryFlow takes 5 minutes.

Does QueryFlow handle Slack's rate limits?

Slack incoming webhooks have generous rate limits (1 message per second per webhook). For daily or hourly reports this is not a concern. For high-frequency alert workflows (multiple alerts per minute), pipelines can be staggered or aggregated.

Can I send Salesforce charts to Slack, not just tables?

Yes, via Flow Books. Run the SOQL query, build a chart with matplotlib or plotly in a Python cell, save the chart as a PNG, and post the image to Slack via the webhook with the image URL. The Python pre-step makes any visualization possible.

Does QueryFlow support Slack threads for organized reports?

Webhook posts can target a specific Slack thread by including the thread_ts in the payload. This is useful for daily report threads where each day's report becomes a reply to the original report message.

What about posting to Microsoft Teams instead of Slack?

QueryFlow's webhook destination is generic — it sends formatted JSON to any URL. Microsoft Teams incoming webhooks work the same way as Slack's, just with Teams' card formatting. Configure the webhook URL and Teams-compatible JSON payload structure.

Salesforce reports your team will actually read.

14-day free trial. Send your first scheduled Salesforce-to-Slack report this morning.

Start 14-day free trial