// GuidesIntegration

Salesforce and HubSpot deal alerts in Slack: what works natively, what doesn’t (2026)

Short answer

Both CRMs can post to Slack when a deal changes. In Salesforce, a record-triggered Flow with the Send Slack Message action handles stage changes and close-date pushes, and a schedule-triggered Flow handles stale deals. In HubSpot, the Send a Slack notification workflow action does the same on a Professional or Enterprise plan, with a stale-deal filter that HubSpot checks once a day. What none of them does out of the box is alert you about a rep rather than a deal, and the decision table below shows where each option stops.

Which deal alerts can each option send to Slack?

All four options cover the event-shaped alerts, such as a stage change or a moved close date. They part ways on alerts that describe an absence, because a workflow engine needs an event, and “nothing happened on this deal for 14 days” is a state that becomes true while nothing happens. The table carries the tier and timing catches the vendor pages state.

Deal alerts in Slack, by the tool that sends them
Alert you wantSalesforce (Flow + Slack)HubSpot (workflows + Slack)Zapier / MakeA manager-intelligence layer
Stage change or closed-wonYes. Record-triggered Flow on Opportunity, condition on Stage, Send Slack Message. The Slack app ships preset Flows for a deals-closing feed that you set up and customize.Yes. Deal workflow, Property value changed on Deal stage, Send a Slack notification. Professional or Enterprise.Yes. Updated Field on Record (Salesforce) or Updated Deal Stage (HubSpot), then Send Channel Message. Polled.Yes, as a fact on the deal and the rep; no workflow to build.
Close date pushed or amount cutYes. The Flow compares the new value with the prior value, so it alerts on pushes only, with the days moved.Partly. Property value changed fires on any change; HubSpot documents no way to tell a push from a pull-in.Partly. Fires on the change; keeping pushes only needs a paid multi-step Zap.Yes, including whether it slipped into a new quarter.
Stale deal (no activity for N days)Yes. A daily schedule-triggered Flow over open opportunities with Last Activity older than N days; one message per record.Yes, with catches: the “more than N days ago” filter is checked once a day, a deal enrolls once unless re-enrollment is on, and a daily schedule trigger needs Data Hub Professional or Enterprise.Harder. A daily Zap needs a search step and a loop to list many deals, which adds steps and tasks.Yes for Salesforce: it derives “no change for 21 days” from the deal history.
No next step on an open dealOnly as a filter (a blank Next Step field) in the daily Flow.Only as a filter (Next activity date empty) in the daily-checked workflow.Harder, as with stale deals: a search step and a loop, filtered on the empty field.Keep this one as a filter in the CRM’s daily job.
A rep’s pattern (three pushes this month, five quiet deals)Not with a per-record Flow; a per-rep roll-up needs a report, a dashboard, or a scheduled Flow that loops over records.No. Workflows enroll one deal at a time; a per-owner count is a custom roll-up or a report.Not natively; a per-rep count is extra steps you build yourself.Yes for deal-derived patterns per rep (pushed and regressed; stalled from Salesforce). It does not compare activity against the rep’s own baseline.

How do I set up Salesforce deal alerts in Slack?

A Salesforce admin installs and connects the Sales Cloud for Slack app; Flow Builder does the rest. The Slack Marketplace listing describes “real-time feed channels to notify the org of new deals entering the pipeline or deals closing”. The Slack app ships preset Flows for a deals-closing feed that you set up and customize. Slack’s Salesforce apps page lists personal, channel and bulk alerts. For anything conditional, Flow’s Send Slack Message action posts a Text Template, kept in plain-text mode per Salesforce’s formatting note. Edition matters: the Sales Cloud pricing page lists Slack Free with Starter and Pro Suite, Slack Business+ with Core and Advanced, Slack Enterprise+ with Max, and caps Free and Starter at 5 flows per org (as listed in September 2026).

  1. Stage change or closed-won. Record-triggered flow on Opportunity, trigger “A record is created or updated”. Entry condition: Stage equals Closed Won (or the stage you care about), with “Only when a record is updated to meet the condition requirements” so it fires once when the deal enters the stage (Trailhead). Optimize for “Actions and Related Records”. Add an Action element, choose Slack, then Send Slack Message, with deal name, amount, owner and a link. Activate, then move a test opportunity.
  2. Close date pushed. Record-triggered flow on Opportunity, trigger “A record is updated”. Entry condition as a formula: Close Date changed and the new value is later than the prior value; record-triggered flows expose the triggering record’s prior values, and the same comparison catches an Amount decrease. Send Slack Message with both dates and the days moved. Optionally add a scheduled path a set number of days after Close Date to catch a deal that sailed past its date; Trailhead’s example uses the time source “Opportunity: Close Date” with an offset in days after (Trailhead).
  3. Stale deal. Schedule-triggered flow, which “can run once, daily, or weekly” (Trailhead); pick daily, early morning. Choose Object: Opportunity, filters Closed equals false and Last Activity earlier than today minus N days, or a number formula field TODAY() minus LastActivityDate as Salesforce’s own knowledge article suggests. Add Send Slack Message. With an object chosen, the flow runs once per matching record, so each message is a DM to that deal’s owner. For one summary to the manager, build a schedule-triggered flow with no object instead: Get Records with the same filters, a Loop with an Assignment that adds each deal to a text variable, then one Send Slack Message. A blank Next Step can be a second filter.

Watch out

Check what “Last Activity” counts before you trust the stale alert

Salesforce defines Last Activity as the latest due date of closed tasks or the latest start date of events, and states that activities captured through Einstein Activity Capture are not tracked in it, pointing to the Last Activity Date metric instead (Salesforce Help). A team that logs email that way looks idle on deals that are busy.

How do I set up HubSpot deal alerts in Slack?

Connect Slack first. HubSpot’s Slack integration is available with “all products and plans”; installing takes a Super Admin (or App Marketplace permissions) plus a Slack workspace admin, and only one workspace can be connected. The alerts below run on workflows. On the Sales Hub pricing page Professional is $90 per seat per month billed annually, and Starter ($7) now includes up to 50 workflows with restricted triggers and actions (as listed in September 2026), but HubSpot’s Slack-actions article still states that “a Professional or Enterprise subscription is required to use workflows” and the Send a Slack notification action; test on Starter before you assume. Without a workflow, the integration can link a deal to a channel and post its logged calls, notes, emails, tasks and meetings (HubSpot), good for one large deal, noisy for a pipeline.

  1. Stage change or closed-won. Create a deal-based workflow. Enrollment trigger: “When an event occurs”, then Property value changed on Deal stage (HubSpot), described as “exactly one property changing from one value to another” (HubSpot). Add an if/then branch on the new stage if wins and regressions go to different places (HubSpot). Add Send a Slack notification (Integrated apps, Slack) to a channel, named users or the record owner, with tokens and optional action buttons that create a task or update a property from Slack (HubSpot). Turn it on, then move a test deal.
  2. Close date pushed. Deal-based workflow triggered by Property value changed on Close date. HubSpot fires on any change and documents no way to separate a push from a pull-in, and the documentation describes no previous-value token, so put the new date and a link in the message. Turn on re-enrollment, because “by default, records are only enrolled in workflows the first time they meet the workflow enrollment triggers” (HubSpot); without it the second push never alerts.
  3. Stale deal. Deal-based workflow with the trigger “When filter criteria is met”; criteria: Last activity date is more than N days ago, and Deal stage is none of your closed stages. “Last activity date is more than 10 days ago” is HubSpot’s own example of a relative-date trigger (HubSpot). With that filter “the trigger will be checked at the start of the day” (HubSpot), so expect the alert the next morning. Last activity date counts a note, call, “tracked and logged sales email”, meeting, message, chat or completed task logged on the deal (HubSpot), so a rep who emails outside HubSpot looks idle. Turn on re-enrollment so a deal that goes quiet again is caught again, then Send a Slack notification to the record owner. There is no per-owner digest.

Watch out

The schedule trigger has its own tier

HubSpot’s “Based on a schedule” trigger fits the stale-deal job on paper. Two catches on the documentation page: “if there is no filter criteria set, records will not automatically enroll in the workflow”, and “a Data Hub Professional or Enterprise subscription is required to set the workflow to recur on a monthly, weekly, or daily schedule”. The filter trigger above does the daily check without the extra Hub.

When does Zapier or Make make more sense than the native workflow?

When one side is missing: no Professional HubSpot plan, or a Salesforce admin queue measured in weeks. Zapier’s Salesforce integration offers Updated Record, Updated Field on Record and New Field History Tracking Event as triggers, its HubSpot integration offers Updated Deal Stage and Deal Property Change, and both connect to Slack’s Send Channel Message and Send Direct Message. The same questions apply to Make.

  • Latency is polling. Zapier’s pricing page lists an update time of 15 minutes on Free, 2 on Professional, 1 on Team (as listed in September 2026).
  • Filtering costs a step. Free is two-step Zaps only; a filter that keeps pushes and drops pull-ins makes it multi-step, which is paid.
  • Close-date pushes. Test Salesforce’s New Field History Tracking Event trigger; for HubSpot, Deal Property Change fires on the change and you filter from there.
  • Stale deals stay native. Schedule by Zapier can start a Zap daily, but listing every stale deal then takes a search step and a loop, which adds steps and tasks; the CRM’s own scheduled automation does it in one place.

Should deal alerts go to a channel or a DM, and how do I stop alert fatigue?

Route by who has to act. A rep acts on their own stale deal, so that is a DM. A manager acts on a pattern, so that is a digest. A team celebrates a win, so that is a channel. Everything else trains people to mute the bot.

Channel or DM?

  • Closed-won: a channel. Everyone wants to see it; nobody has to act.
  • Stage regression, close-date push, amount cut: a DM to the rep’s manager, with the rep in the thread if you need an answer that day.
  • Stale deal: a DM to the owner with the deal link. A public list of stale deals reads as a leaderboard of neglect.
  • Per-owner roll-up (pushes, stalls, regressions by rep): one message to the manager, weekly, before the pipeline review.
  • One large deal: a dedicated channel linked to that deal; both CRMs can link a record to a channel.

Alert-fatigue rules

  • Fire once per change: “only when a record is updated to meet the condition requirements” in Salesforce, an event trigger in HubSpot.
  • Set thresholds that mean something: for example, a push of more than 7 days or into a new quarter, and a stale threshold set by sales cycle: 7 days under a 30-day cycle, 14 for 30 to 90 days, 21 over 90.
  • Set a deal-size floor, say anything above your median deal.
  • Give every alert an owner. No owner means no action, so delete it.
  • Keep the message to deal, change, owner, link.
  • Review after a month. A channel with alerts and no replies is a channel to delete.

Tip

A message shape that gets read

One line, then a link: “{deal}, {amount}: close date moved {old} to {new} (+{days} days). Owner {rep}. Last activity {n} days ago.”

Alerts about deals exist. Alerts about a rep mostly don’t.

Every alert above is keyed to one record. A rep who pushed three close dates this month, logged nothing on five open deals and had two meetings canceled without a new date trips those alerts one at a time, in five threads, and the pattern lives in your memory. Per-record workflows do not count across records: in Salesforce that takes a report, a dashboard or a scheduled Flow that loops over records, in HubSpot a custom roll-up, in Zapier, extra steps you build yourself. Vendors have built on this gap, for example Rattle, which describes itself as a “Sales Execution Platform” with “Real-time Slack Alerts”. Whichever you look at, ask whether an alert can describe a rep as well as a deal.

How diffi helps

diffi is the manager-intelligence layer in the last column. It reads Salesforce (polled every 5 minutes, plus Change Data Capture streaming) or HubSpot (polled every 5 minutes), read-only, so it does not write to your CRM, and records what changed on each deal as plain facts: stage advanced or regressed, amount changed, close date pushed or slipped a quarter, a task late, a meeting rescheduled or canceled, and, from Salesforce, a deal with no change for 21 days. Those facts roll up into deal-risk and pipeline-risk signals with the evidence behind each one, and into a ranking of which reps need attention, so you get one feed instead of six workflows. Ask in plain language what changed this week or who needs attention, and the answer links to its sources. Once you confirm, it can send the rep a Slack message on your behalf or set a Slack reminder. Book a demo to see it on your own pipeline.

See it on your own team

Which alerts should I build first?

Build the event alerts first; they prove the plumbing in an afternoon. Leave the stale-deal job for the week you have checked what “last activity” counts in your CRM.

  1. Week 1: closed-won to a channel, stage regression to you.
  2. Week 2: close-date push to you, with the threshold rule.
  3. Week 3: stale-deal DM to each owner, daily, one threshold.
  4. Month 2: read the reply rate. Keep what gets answered, delete the rest, and write down the question the alerts still cannot answer; it is usually about a person.

Frequently asked questions

Is the Salesforce–Slack integration free?

Salesforce does not put a price on the Sales Cloud for Slack listing; you need a Sales Cloud license and a Slack workspace. What changes by edition is the Slack plan bundled in: the Sales Cloud pricing page lists Slack Free with the Starter and Pro Suites, Slack Business+ with Core and Advanced, and Slack Enterprise+ with Max, and it caps the Free and Starter tiers at 5 flows per org (as listed in September 2026). Slack Sales Elevate is a separate product that Salesforce announced in August 2023 at $60 per user per month; check the pricing page for your edition.

Can HubSpot alert me when a deal has no activity for 14 days?

Yes, on a Professional or Enterprise subscription. Use a deal-based workflow with the filter “Last activity date is more than 14 days ago”, which HubSpot checks once at the start of each day, then the Send a Slack notification action to the deal owner. Turn on re-enrollment or each deal alerts only once, and remember that only activity logged in HubSpot counts toward last activity date.

How do I alert on close-date pushes?

In Salesforce, a record-triggered Flow on Opportunity whose entry formula compares the new Close Date with the prior value, then Send Slack Message with both dates. In HubSpot, a deal-based workflow triggered by Property value changed on Close date, with re-enrollment on, then Send a Slack notification; HubSpot fires on any change, so include the new date and a link and let the reader check the record for the old one.

Should deal alerts go to a Slack channel or a DM?

Route by who acts: wins to a channel, a rep’s own stale deals to the rep by DM, regressions and pushes to the manager by DM, and the per-owner roll-up to the manager once a week. Link a channel to a single deal only when a large deal needs a war room.

How do I stop alert fatigue from deal notifications?

Fire once per change, set thresholds (a push of more than 7 days, a stale threshold of 7, 14 or 21 days by sales cycle, a deal-size floor), give every alert an owner, keep the message to deal, change, owner and link, and delete any alert that gets no replies after a month.

Do I need HubSpot Professional to send Slack notifications from workflows?

By HubSpot’s documentation, yes. The Slack integration itself is available on all HubSpot plans, but workflows and the Send a Slack notification action require Professional or Enterprise; Sales Hub Professional is $90 per seat per month billed annually (as listed in September 2026). A daily or weekly “Based on a schedule” trigger additionally needs Data Hub Professional or Enterprise, which is why the daily-checked filter trigger is the cheaper route to a stale-deal alert.

Does Zapier work for stale-deal alerts?

For event alerts, yes, with polling every 15 minutes on Free and 2 minutes on Professional (as listed in September 2026), and a paid plan for any filter step. For stale deals, it is harder: a Zap needs a schedule, a search step and a loop to list every open deal untouched for N days, so most teams keep that job in the CRM’s own scheduled automation.

See diffi on your own team

Book a demo and we will show you what diffi sees across your team.

Fields marked * are required.

By submitting, you agree to our Privacy Policy.