How to clean up stale deals in your pipeline as Chief of Staff and Founder's Office

Sales & CRMFor Chief of Staff and Founder's Office2 apps11 steps~22 min to set up

You're the person who notices that the pipeline hasn't been touched in six weeks. The CEO is about to walk into a board meeting with 23 open deals on the slide, and at least a third of them haven't had a meaningful interaction since Q3. Nobody owns the audit. You're pulling HubSpot exports into a Google Sheet at 11pm, manually eyeballing close dates, last-activity timestamps, and deal stages to figure out which ones are actually alive. Then you're Slacking three different reps asking them to update their notes before the deck goes out. The pipeline isn't wrong because people are lazy — it's wrong because nobody built a system that flags drift before it becomes a board problem.

Sales & CRMFor Chief of Staff and Founder's Office2 apps11 steps~22 min to set up
Outcome

What you'll set up

A live stale-deal dashboard that surfaces every opportunity with no activity in 14, 30, or 60 days — filtered by owner, stage, and deal size — so you can run the pipeline audit in five minutes instead of two hours
An automated weekly digest that Slacks you (or the relevant rep) a ranked list of deals needing action, with last-contact date and next suggested step pulled from email history
A HubSpot cleanup workflow that flags deals with outdated close dates, missing next steps, or stage mismatches so you can push corrections back before the board deck is built
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Apps used
Data sources & config

Starch syncs your HubSpot data on a schedule (contacts, companies, deals, owners) and syncs your Gmail and Slack data on a schedule for email thread context and message delivery. The stale-deal dashboard queries HubSpot deal data live from your synced dataset; the weekly digest automation writes to Slack through Starch's direct connection. No middleware to configure — connect HubSpot, Gmail, and Slack from Starch and describe what you want.

Prompts to copy
Build me a stale deals dashboard from our HubSpot data that shows every open deal with no activity in the last 30 days. Group by owner, show the deal stage, last activity date, and deal value. Flag anything over $50k in a separate section.
Create a weekly automation that runs every Monday at 8am, pulls all HubSpot deals last touched more than 14 days ago, and sends a Slack message to me with a summary table — owner, deal name, days since last activity, and recommended next action.
Show me all deals where the expected close date has already passed but the stage is still 'Proposal Sent' or earlier. Export that list and draft a Slack message I can forward to each deal owner.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect HubSpot in Starch — Starch syncs your deals, contacts, companies, and owners on a schedule so your pipeline data is always current without manual exports.
2 Connect Slack so Starch can write digest messages directly to your channel or DM; connect Gmail so deal context (last email sent, last reply received) can surface alongside deal-stage data.
3 Start from the Sales Agent CRM template in the App Store, then describe your actual pipeline: 'Adapt this for a SaaS company with stages Prospect, Demo Scheduled, Proposal Sent, Legal Review, Closed Won/Lost — I want to track last-activity date and next step on every open deal.'
4 Add a stale-deals view by telling Starch: 'Add a filtered view that shows only deals with no activity in the last 30 days, sorted by deal value descending, with owner and stage visible at a glance.'
5 Set deal-size thresholds that matter to your business — for most growth-stage companies this is a $25k or $50k flag — so you can triage high-stakes stale deals before touching the long tail.
6 Build the Monday morning automation: 'Every Monday at 8am, query all open HubSpot deals with no activity in 14+ days and send me a Slack DM with a table showing deal name, owner, days stale, stage, and deal value.'
7 Add a close-date audit layer: 'Flag any deal where the expected close date is in the past but the deal is still open, and group those separately in the weekly digest so I can prioritize them for a pipeline call.'
8 Ask Starch to draft outreach suggestions for each stale deal bucket — 'For deals 14–30 days stale at Proposal Sent stage, suggest a one-line follow-up message I can send to the rep or forward to the prospect.'
9 Before each board meeting or QBR, run the on-demand version: 'Pull all open deals, show me which ones have been updated in the last seven days versus not, and give me a count by stage and owner so I can sanity-check the pipeline slide.'
10 Use the CRM app's natural-language query to spot-check: 'Who owns the three largest deals we haven't touched in over 45 days?' gets you an answer in seconds rather than a pivot-table rebuild.
11 After the first cleanup cycle, set a recurring 60-day review automation that checks whether previously stale deals were updated or should be marked lost, and surfaces them for your pipeline hygiene call with the revenue lead.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Q1 2026 Board Prep Pipeline Audit

Sample numbers from a real run
Open deals in HubSpot47
Deals with no activity in 30+ days19
Deals with past close dates still open11
Pipeline value at risk (stale deals)1,840,000
Deals corrected before board deck sent14

The board meeting is in four days. You ask Starch: 'Pull all open HubSpot deals, show me which ones have had no activity since January 1st, group by owner, and flag anything where the expected close date is in the past.' Starch returns a table of 19 deals totaling $1.84M in stated pipeline — 11 of them have close dates that already passed. You Slack the output to three AEs and the VP of Sales. By the next morning, 14 of those deals have been updated: seven moved to Closed Lost (cleaning $620k of zombie pipeline off the board slide), four got new close dates and activity notes, and three got escalated to you for a call. The board sees a $4.1M pipeline number that you actually trust instead of a $5.9M number nobody believes. You didn't touch a spreadsheet once.

Measurement

How you'll know it's working

Days since last activity per open deal (by owner and stage)
Percentage of open pipeline touched in the last 14 days before a board meeting
Number of deals with past close dates still showing as open (zombie pipeline count)
Pipeline value at risk: dollar value of deals 30+ days without activity
Time from pipeline audit request to cleaned board-ready slide (target: under 30 minutes)
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

HubSpot native reporting
HubSpot's built-in activity reports show last-contact data but can't cross-reference with Gmail thread history or push a digest to Slack without a third-party workflow tool and someone to maintain it.
Google Sheets + HubSpot export
Works once, but it's a manual pull every time — you're the one running it, and by the time the board deck is due you're doing it at midnight.
Salesforce + Einstein Activity Capture
More powerful at scale but requires a dedicated admin to configure, costs significantly more, and still doesn't give you a natural-language interface for one-off audit questions.
Notion CRM template + Zapier sync
Easy to set up but Notion isn't a real database for pipeline math, and Zapier syncs break when field schemas change in HubSpot — which they do constantly at growth-stage companies.
On Starch RECOMMENDED

One platform — sales agent crm, crm all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

We use HubSpot as our system of record. Will Starch mess with our data?
No. Starch reads your HubSpot data — deals, contacts, companies, owners — on a scheduled sync. It does not write back to HubSpot unless you explicitly build an automation that does so. The stale-deal dashboards and digests are built on top of a copy of your data that Starch maintains. Your HubSpot stays exactly as your reps left it.
What if some of our deals are in Salesforce, not HubSpot?
Salesforce is available through Starch's integration catalog — the agent queries it live when your app runs. You can build the same stale-deal dashboard pulling from Salesforce instead of HubSpot, or from both if you're mid-migration. Describe the setup you have and Starch will work with it.
Can this actually push messages into Slack, or is that a manual step?
Starch syncs your Slack data on a schedule and can write to Slack channels or DMs through the direct connection. The Monday morning digest automation posts without any manual trigger — you describe the message format and cadence once, and it runs on its own.
I need the pipeline audit to happen before every board meeting, not just on Mondays. Can I run it on demand?
Yes. You can trigger the same pipeline query manually at any time by asking Starch directly — 'Pull all open deals with no activity in the last 30 days and show me the summary now' works just like a scheduled automation, just fired when you need it.
Is Starch SOC 2 certified? Our board will ask.
Not yet — Starch is not SOC 2 Type II certified as of today. That's the honest answer. If SOC 2 is a hard requirement for your security review, that's worth knowing upfront.
What if our definition of 'stale' changes by deal stage or rep?
You tell Starch that when you describe the app. Something like: 'For deals in Prospect stage, flag after 7 days of no activity. For deals in Legal Review, flag after 21 days. Show each group separately.' The schema adapts to how you actually manage pipeline, not the other way around.

Ready to run clean up stale deals in your pipeline on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.