Alert Slack when a HubSpot deal is stuck in a stage for over 14 days using an agent skill

low complexityCost: Usage-based

Prerequisites

Prerequisites
  • Claude Code or compatible agent
  • Environment variables: HUBSPOT_TOKEN, SLACK_BOT_TOKEN, SLACK_CHANNEL_ID

Step 1: Create the skill

Create .claude/skills/stale-deals/SKILL.md:

---
name: stale-deals
description: Find HubSpot deals with no activity for 14+ days and alert Slack
disable-model-invocation: true
allowed-tools: Bash(python *)
---
 
Find stale deals and post alerts to Slack.
 
Run: `python $SKILL_DIR/scripts/stale_deals.py`

Step 2: Write the script

Create .claude/skills/stale-deals/scripts/stale_deals.py with the same Python script from the code approach — it searches for deals with hs_lastmodifieddate older than 14 days, excludes closed deals, and posts a summary to Slack.

See the Code + Cron approach for the full script.

Step 3: Run

/stale-deals

When to use this

  • During weekly pipeline reviews — run it before the meeting to surface stuck deals
  • As an ad-hoc audit when you suspect pipeline hygiene has slipped
  • For managers who want to spot-check without waiting for the daily cron

Need help implementing this?

We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.