Futureman Labs
Fractional Ops

Stale Deal Alerts: Setup Guide for HubSpot, Salesforce, Pipedrive

Your CRM won't surface a stale deal unless you configure it to. Here's how to set up deal inactivity alerts in HubSpot, Salesforce, and Pipedrive.

David YuAugust 15, 202612 min read

Stale Deal Alerts: Setup Guide for HubSpot, Salesforce, Pipedrive

Picture this scenario: in a quarterly business review, your head of sales pulls up the pipeline. Two deals near the top of the commit column have been sitting at "Proposal Sent" for six weeks. The last logged email on either deal is from month two. The CRM still shows them as open, still counts them in the forecast, still shows the rep's name in the owner field.

Nobody flagged them. The CRM did not either.

This is the stale deal problem. It is not about careless reps. It is about your CRM defaulting to silence. Unless you configure explicit alerts, the system records whatever activity reps log and then waits for someone to notice the quiet. Nobody notices until the QBR -- or until a close date passes without a win or a loss.

Here is how to fix that across the three CRMs most small B2B sales teams actually run.

Why Your CRM Stays Silent by Default

Your CRM tracks whatever reps log. When a rep logs a call, sends an email through the connected inbox, or completes a meeting via the calendar integration, the deal's Last Activity Date field updates. That date is visible on the deal record to anyone who opens it.

The problem is that nobody opens every deal record every day. Managers scan stage labels and dollar amounts. Reps check their task queue. The Last Activity Date accumulates days of silence, and the deal sits in the pipeline accumulating forecast weight it no longer deserves.

Three things break at once:

The CRM does not push the signal. Nothing pings the rep. Nothing notifies the manager. The aging date just sits there.

The stage label does not change. Stage labels are manually updated by reps. A deal at "Proposal Sent" looks identical on day 5 and day 60, unless someone explicitly moves it.

The forecast treats dormant and active deals identically. If your forecast rolls up open pipeline by stage and close date, a deal with no activity in 45 days counts the same as a deal where the buyer replied yesterday.

Stale deal alerts solve the first problem: they make the CRM proactively surface which deals have gone quiet. You still need good logging practices underneath, but the alert is where active pipeline management starts.

Three Types of Staleness Worth Alerting On

Before configuring anything, decide what "stale" means for your team. There are three distinct patterns:

No logged activity in X days. The most common trigger. The deal has no calls, emails, notes, or completed meetings logged past a threshold. This catches deals the rep has mentally moved on from but not formally closed.

Close date has passed without a win or loss. The deal is still open but its projected close date is in the past. These corrupt your forecast immediately, because the model treats them as open pipeline when they should be re-qualified or marked lost. A same-day or next-business-day alert here is worth building.

Days in stage exceeds your average. The deal has activity but has been sitting in the same stage longer than your typical deal takes to advance. This is a pipeline velocity signal rather than a pure inactivity signal. It requires more custom logic but catches deals that look active but are not progressing. You can find the baseline for this calculation using your deal slippage data from prior quarters.

Most teams start with the first pattern. The setup below focuses there.

Setting Up Stale Deal Alerts in Pipedrive

Pipedrive has the most accessible built-in option: the Rotting feature. It lives in the pipeline stage settings and requires no automation builder to turn on.

To enable it:

  1. Open your pipeline view and click the pencil icon next to the pipeline name to edit it.
  2. Select the stage you want to configure.
  3. Toggle on "Rotting in" and enter the number of inactive days.
  4. Save your changes.

Pipedrive marks a deal card red in the pipeline view once the threshold is crossed. What counts as activity that resets the clock: completing a logged activity such as a call, email, or task; sending or receiving an email linked to the deal through Pipedrive's email integration; or updating any aspect of the deal record including custom fields, expected close date, or deal value.

The per-stage configuration is the most useful part. You might set "Initial Contact" to rotate at 3 days, "Proposal Sent" at 10 days, and "Negotiation" at 5 days. Later-stage deals where momentum matters most get the tightest windows.

Adding notifications on top of the visual indicator:

The built-in Rotting feature is visual only. To receive an email or Slack message when a deal goes rotten, use Pipedrive Automations. Set the trigger to "Deal -- Rotten status changed to Yes" and add a notification action to the deal owner or a manager. The number of active automations available depends on your Pipedrive plan tier.

Setting Up Stale Deal Alerts in HubSpot

HubSpot has two layers: a visual board indicator and workflow-based push notifications.

Layer 1: Board view inactivity indicator

In the board (kanban) view, look for the Edit Cards option (usually a pencil or gear icon in the board controls). There is a deal inactivity setting that grays out or visually marks deal cards that have not had logged activity in a configurable number of days. The threshold defaults to 14 days and can be adjusted. This setting is global for the pipeline: you cannot currently set different thresholds per stage through the board indicator alone.

This is a passive, visual-only feature. It shows anyone viewing the board which cards have gone quiet, but it does not notify anyone who is not looking.

Layer 2: Workflow-based push notifications (Sales Hub Professional and above)

For active alerts delivered to reps and managers, use HubSpot Workflows.

  1. In the left nav, go to Automation > Workflows and create a Deal-based workflow.
  2. Set enrollment criteria: deal is enrolled when "Last Activity Date is more than X days ago." Make sure to enable re-enrollment so a deal that goes quiet again after a touchpoint can trigger the alert a second time.
  3. Add a filter for deal stage if you want stage-specific thresholds. For example, create one workflow for "Stage = Proposal Sent AND Last Activity Date more than 7 days ago" and a separate one for "Stage = Discovery AND Last Activity Date more than 14 days ago."
  4. Add your actions: send an email to the deal owner, create a follow-up task (e.g., "Re-engage: deal has been quiet for X days"), or send a Slack notification using the Slack integration.

A quick note on field terminology: HubSpot distinguishes between Last Activity Date (the date of the last logged activity such as a call, email, or note) and Last Modified Date (the date any field on the record was last changed). For stale deal alerts, use Last Activity Date. Updating a field without making contact does not reset the deal's inactivity clock.

Setting Up Stale Deal Alerts in Salesforce

Salesforce offers the most configurability and the most setup overhead. The current best practice is a Scheduled-Triggered Flow. Salesforce's legacy automation tools, Workflow Rules and Process Builder, have been in maintenance mode since 2024 and no longer receive feature updates; Flow is the replacement for both.

Before you build the flow: check your Last Activity Date source

In Salesforce, the Opportunity's LastActivityDate field is populated by logged activities (tasks, events, calls logged manually). If your team is not using a connected inbox, Einstein Activity Capture, or a third-party email sync tool, this field may only reflect manually logged activities, not actual email and meeting history. A flow that queries LastActivityDate on inaccurate data will either miss stale deals or flag active ones. Enabling email and calendar sync before relying on this field is worth the setup time. For more on why, see the guide on syncing email to your CRM automatically.

Building the Scheduled-Triggered Flow:

  1. Go to Setup > Process Automation > Flows > New Flow. Choose "Scheduled-Triggered Flow."
  2. Set the schedule: run daily, during off-peak hours (early morning works well).
  3. Add a Get Records step to query Opportunity records where: Stage is not equal to "Closed Won" and Stage is not equal to "Closed Lost," and LastActivityDate is earlier than today minus your threshold in days.
  4. Add a Loop element to iterate over the returned opportunities.
  5. Inside the loop, add your action. Three common choices:
    • Create a Task on the opportunity, assigned to the opportunity owner, with a subject like "No activity in X days -- re-engage."
    • Update a custom "Deal Status" picklist field to "At Risk." This makes stale deals filterable in pipeline views.
    • Send an email alert using a Salesforce Email Alert that references the opportunity owner.
  6. Save and activate the flow.

You can add a Decision element before the action step to apply stage-specific thresholds within a single flow: if Stage = "Proposal," flag after 7 days; if Stage = "Discovery," flag after 14 days. This avoids maintaining separate flows per stage.

Salesforce also has a feature called Big Deal Alerts that notifies managers when an opportunity exceeds a certain dollar amount. That is a different use case (amount-based, not activity-based), but worth knowing about for your pipeline notifications setup.

Choosing the Right Inactivity Threshold

There is no correct universal number. The right threshold depends on your sales cycle length and the specific stage.

A working framework:

  • Short cycles (under 30 days total): Flag active-stage deals after 3 to 5 business days without a logged touchpoint.
  • Mid-market cycles (30 to 90 days): 10 to 14 business days is a reasonable general threshold. Tighten to 5 to 7 days for late-stage deals in Negotiation or Procurement.
  • Enterprise cycles (90+ days): 14 to 21 business days for mid-pipeline stages. Late-stage deals at 7 to 10 days.

The most precise threshold comes from your own historical data. Pull won deals from the last 12 months and find the longest gap between logged activities at each stage for deals that actually closed. That gap is roughly your safe tolerance. A deal going quiet longer than your best reps ever go quiet on a deal they win is a meaningful signal.

Start conservative on your first pass. A few false positives are easier to manage than a stale deal that stays invisible until the QBR.

A Limitation Worth Acknowledging

Platform-native stale deal alerts tell you that a deal has gone quiet in the CRM. They do not tell you why, and they cannot distinguish between a truly dormant deal and one where the rep is actively talking to the buyer through channels the CRM is not capturing.

Here is the scenario that breaks every alert setup: a rep has been emailing the buyer directly from a personal account or through a tool that is not connected to the CRM integration. The buyer is engaged. The deal is warm. But the CRM sees no logged activity and fires the stale deal alert anyway. Now a manager is pinging a rep about a deal that is already progressing.

This is a signal quality problem that sits upstream of any alert configuration. Alerts built on logged activity are only as reliable as the completeness of the activity data underneath them. If email sync is unreliable, calendar events are not being captured, or reps are using personal accounts, the Last Activity Date is not a trustworthy foundation.

This is one reason why teams focused on pipeline visibility often find that the alert configuration is the easier part. The harder part is ensuring the data the alert is built on reflects what is actually happening in each deal, not just what reps remembered to enter at end of week. The Company Brain approach starts from automatic email and thread sync into the pipeline, so the inactivity signal corresponds to real buyer-side silence, not just a logging gap.

Putting It Together

Stale deal alerts are one of the most useful configurations you can add to an existing CRM without changing anything else. In Pipedrive, the Rotting feature takes about 15 minutes to configure across your stages. In HubSpot, the board indicator is a few clicks; the workflow-based notifications add another 30 to 60 minutes. In Salesforce, a Scheduled Flow is the most involved option but gives you the most control.

Start with one pipeline, one alert type, and a threshold based on your best guess at the sales cycle. Watch for two things: deals that were already dead that the alert surfaces (this tells you the threshold is working), and deals that are active but flagged incorrectly (this tells you the email and calendar sync needs attention).

Once the alert is running cleanly for a few weeks, refine the thresholds per stage and build out the second-level alerts for close date drift and stage velocity. Your pipeline reviews will look different when the stale deals surface before Monday morning instead of during the QBR.

For more on what causes deals to go quiet in the first place and how to build the review process around activity signals, see the full guide on deal slippage in the sales pipeline. For the upstream data layer that determines whether these alerts fire accurately, start with CRM data decay.

Is your firm AI-ready?

Take the free Law Firm AI Readiness Scorecard. Get a grounded, practical report on where AI safely saves your firm time, and where it is a liability.

Frequently Asked Questions

What is a stale deal alert in a CRM?

A stale deal alert is an automated notification triggered when a deal in your pipeline has had no logged activity for a defined number of days. It surfaces dormant opportunities before the quarter-end review so managers and reps can re-engage buyers before the deal goes cold.

How many days without activity before a deal is considered stale?

There is no universal number. A useful starting point is to flag deals where the inactivity gap exceeds roughly half your average time-in-stage at that stage. Short cycles (under 30 days total) might use a 5-business-day threshold; mid-market deals (30-90 days) typically use 10-14 days; enterprise cycles can allow 14-21 days. Per-stage thresholds are more precise than a single global number.

Does HubSpot have a deal rotting feature like Pipedrive?

HubSpot has a board-view inactivity indicator that visually dims deal cards that have not been updated in a configurable number of days. For push notifications to reps or managers, you need to build a workflow (available in Sales Hub Professional) triggered by the Last Activity Date property.

What does Pipedrive's rotting deals feature do?

Pipedrive's Rotting feature marks deal cards red in the pipeline view when a deal has not had any logged activity for a number of days you configure per stage. The indicator is visual and built into the pipeline; Pipedrive Automations can add email notifications on top of the visual flag.

How do I get notified about stale deals in Salesforce?

The modern approach is a Scheduled-Triggered Flow that runs daily, queries open opportunities whose Last Activity Date exceeds your threshold, and creates tasks or sends email alerts to opportunity owners. Einstein Activity Capture or a connected inbox integration is required to populate Last Activity Date reliably from real email and calendar data.

Want to cut through the AI hype?

Start with the free Law Firm AI Readiness Scorecard. Two minutes, and you will see exactly where to start and what to avoid.