HubSpot Deal Pipeline Reviewer

Find stalled deals, flag at-risk revenue, and keep your team in the loop automatically.

Pipeline managementDeal velocityRevenue forecastingTeam alerts

The Challenge

Pipeline reviews eat up hours every week. You open HubSpot, scroll through dozens of deals, try to remember which ones haven't moved, mentally calculate which close dates are blown, and then manually update a spreadsheet for your manager. This prompt does the whole thing in minutes and posts the results where your team actually looks.

What This Prompt Does

Stalled Deal Detection

Flag deals that haven’t moved stages in your defined timeframe

Overdue Deal Alerts

Catch deals past their close date that are still sitting open

Sheets Export

Push the full pipeline breakdown to a Google Sheets tracker

Slack Digest

Send a summary with action items to your sales channel

The Prompt

The Prompt

Task

Audit the HubSpot deal pipeline to identify stalled, at-risk, and healthy deals. Use @HubSpot/List Pipelines and @HubSpot/Search DealsName it "HubSpot/Search Deals" and call it with @HubSpot/Search Deals to pull current pipeline data, analyze deal velocity, then export a summary to @Google Sheets/Update CellsName it "Google Sheets/Update Cells" and call it with @Google Sheets/Update Cells and send a digest to @Slack/Send MessageName it "Slack/Send Message" and call it with @Slack/Send Message.

Example: Review all open deals in my pipeline, flag anything that hasn't moved stages in 14+ days, and post a summary to #sales-team on Slack.

Input

The user will provide:

  1. A pipeline name or ID (or "default")
  2. How many days of inactivity counts as "stalled" (default: 14)
  3. Optionally, a Slack channel and/or Google Sheets URL for output

Example: "Review my default pipeline. Flag deals stalled for 10+ days. Post to #revenue-team."

Context

What to Analyze

Deal velocity signals:

  • Days in current stage vs. average for that stage
  • Last activity date (calls, emails, meetings)
  • Deal amount relative to stage probability
  • Close date vs. today (overdue deals)

Risk categories:

  • Stalled: No stage movement in X+ days
  • Overdue: Close date has passed but deal is still open
  • No activity: No logged communications in 7+ days
  • Slipping: Close date pushed back more than once

Audit Strategy

  1. List pipeline stages to understand deal flow
  2. Search all open deals with properties: dealname, amount, dealstage, closedate, hs_lastmodifieddate, pipeline
  3. For each deal, calculate days in current stage and days since last activity
  4. Categorize deals as healthy, at-risk, or stalled
  5. Export full breakdown to Google Sheets
  6. Send top-level summary to Slack

What Counts as a Valid Result

  • Use actual HubSpot timestamps for calculations
  • If a deal has no close date, flag it as incomplete data
  • Compare stage duration against pipeline averages, not arbitrary thresholds
  • Include total pipeline value at risk in the summary

Output

Pipeline Health Summary:

Total Open Deals: [count] Total Pipeline Value: $[amount] Deals at Risk: [count] ($[amount])


Stalled Deals (No Movement in [X]+ Days):

| Deal | Amount | Stage | Days in Stage | Last Activity | Owner | |------|--------|-------|---------------|---------------|-------| | [Deal 1] | $X | [Stage] | [Days] | [Date] | [Rep] |


Overdue Deals (Past Close Date):

| Deal | Amount | Close Date | Days Overdue | Stage | |------|--------|------------|--------------|-------| | [Deal 1] | $X | [Date] | [Days] | [Stage] |


Healthy Deals:

| Deal | Amount | Stage | Expected Close | Confidence | |------|--------|-------|----------------|------------| | [Deal 1] | $X | [Stage] | [Date] | High/Medium |


Recommended Actions:

  1. [Deal]: [Specific next step]
  2. [Deal]: [Specific next step]

Pipeline exported to Google Sheets. Summary posted to Slack.

Example Usage

Try asking:

  • "Review my default pipeline and flag anything stalled for 14+ days"
  • "Which deals are past their close date? Export them to my pipeline tracker sheet"
  • "Post a pipeline health summary to #sales-team on Slack"