How to clean up stale deals in your pipeline as Small Marketing Teams

Sales & CRMFor Small Marketing Teams3 apps11 steps~22 min to set up

Your HubSpot pipeline has 40 open deals. Maybe 15 of them are real. The rest are deals a rep touched in January, a prospect who went dark after the demo, a company that got acquired, and three duplicates from a trade show import that nobody cleaned up. Every Monday when you're building the pipeline-contribution report — pulling HubSpot deals against GA4 sessions and Meta Ads spend — those zombie deals inflate your attributed pipeline number and make your MQL-to-opportunity rate look worse than it is. You don't have a dedicated sales ops person. You're the one who has to figure out which deals to flag, which to archive, and which actually need a follow-up email drafted before Friday.

Sales & CRMFor Small Marketing Teams3 apps11 steps~22 min to set up
Outcome

What you'll set up

A HubSpot-connected deal audit view that surfaces every deal by last-activity date, stage age, and owner — so you can see the full scope of pipeline rot in one place without exporting to a spreadsheet
An automated weekly flag that identifies deals with no activity in 30+ days and drafts a re-engagement email for each one, pulled from Gmail thread history, ready for one-click send or discard
A cleaned pipeline baseline — stage counts, average age per stage, and a note on which deals were archived vs. re-engaged — that feeds your weekly pipeline-contribution report accurately
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.

Data sources & config

Starch syncs your HubSpot data on a schedule (contacts, companies, deals, owners) and connects directly to Gmail so it can pull thread history per contact. Customer.io and Mailchimp are reachable from Starch's integration catalog if you need to cross-check whether a stale deal contact is already in a nurture sequence. LinkedIn enrichment runs through browser automation — no LinkedIn API needed — to verify whether a contact's role or company has changed since the deal was created.

Prompts to copy
Connect my HubSpot account and show me every open deal that hasn't had an activity logged in more than 30 days. Group them by pipeline stage and sort by how long they've been sitting there. Flag any deal where the last known contact no longer matches an active contact in HubSpot.
For each flagged stale deal, pull the Gmail thread history with that contact and draft a short re-engagement note — no more than 4 sentences — that references the last thing we discussed. Queue them for my review before sending.
After I archive or re-engage each deal, generate a summary: how many deals were in the pipeline before, how many are active now, average days-in-stage for the current open deals, and which stage has the most drop-off. Save this as a weekly pipeline health snapshot.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect HubSpot to Starch — Starch syncs your deals, contacts, companies, and owners on a schedule so the audit view reflects live pipeline state, not a week-old export.
2 Connect Gmail — Starch pulls thread history per contact so it knows what was actually said in the last conversation, not just what was logged in HubSpot.
3 Run the stale-deal audit prompt: ask Starch to surface every open deal with no logged activity in 30+ days, grouped by stage and sorted by age. This usually takes under a minute and replaces the manual export-and-filter you'd do in Sheets.
4 Review the flagged list. For each deal, Starch shows you: deal name, stage, days since last activity, and the last Gmail thread snippet. You decide: re-engage, archive, or escalate.
5 For deals you want to re-engage, Starch drafts a short follow-up email referencing the actual last conversation. You edit if needed, then send directly from the app or push it to Gmail as a draft.
6 For deals you're archiving, mark them closed-lost with a reason. Starch updates the HubSpot record — or flags it for your sales rep to update if you don't have write access configured.
7 If you want to verify whether a contact is already in a Customer.io or Mailchimp nurture flow before re-engaging manually, connect either ESP from Starch's integration catalog and cross-check by email address before sending.
8 Run the LinkedIn enrichment step for your top 10 re-engagement targets — Starch checks their current title and company through browser automation so you're not re-engaging someone who left the company six months ago.
9 Once the audit is complete, ask Starch to generate the pipeline health snapshot: deals before vs. after, average stage age, stage-level drop-off. This becomes your source of truth for the weekly pipeline-contribution report.
10 Set up a weekly automation: every Monday morning, Starch re-runs the stale-deal check against your HubSpot data, surfaces new deals that crossed the 30-day threshold, and Slacks you a summary so the audit stays current without you having to remember to run it.
11 Use the cleaned pipeline numbers in your weekly CEO brief — MQL-to-opportunity rate and pipeline-contribution metrics now reflect real deals, not dead weight from a January trade show import.

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

April 2026 Pipeline Audit — 120-Person B2B SaaS

Sample numbers from a real run
Open deals in HubSpot before audit43
Deals with no activity in 30+ days (flagged)18
Deals archived (closed-lost)11
Re-engagement emails drafted by Starch7
Re-engagement emails sent after review6
Deals reactivated within 2 weeks2
Active pipeline after cleanup32
Attributed pipeline removed (zombie deals)380,000

Going into April, your HubSpot pipeline showed 43 open deals worth a combined $1.1M in attributed pipeline. When you ran the audit, Starch flagged 18 deals with no logged activity since late January or earlier. Of those, 11 were dead on arrival — a contact who'd left their company, two duplicates from the HubSpot form import after your February webinar, and several deals stuck in 'Demo Scheduled' for 60+ days with no calendar event ever created. You archived those 11, removing $380,000 in phantom pipeline from the number. For the remaining 7, Starch pulled the Gmail thread history and drafted re-engagement notes — four sentences each, referencing the actual last thing discussed. Six went out after your edits. Within two weeks, two of those deals moved back to active negotiation. Your MQL-to-opportunity rate, which had looked artificially low because of the bloated denominator, jumped from 12% to 17% after the cleanup — a more honest number to bring to the CEO on Friday.

Measurement

How you'll know it's working

MQL-to-opportunity conversion rate (cleaned pipeline vs. inflated baseline)
Average days-in-stage per pipeline stage (flags where deals get stuck before they go stale)
Reactivation rate from re-engagement emails (how many stale deals come back after outreach)
Pipeline-contribution accuracy: attributed pipeline before vs. after zombie deal removal
Weekly pipeline report prep time (target: under 20 minutes including the audit)
Comparison

What this replaces

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

HubSpot native reports + manual export to Google Sheets
You can build a last-activity filter in HubSpot, but generating the re-engagement drafts, cross-checking Gmail thread history, and producing a cleaned pipeline snapshot still requires manual work across three separate tabs.
Salesforce + sales ops admin
Full-featured pipeline hygiene tooling, but a 120-person company without a dedicated sales ops person will spend more time configuring Salesforce reports than running the actual audit.
Clay
Strong for contact enrichment and outbound sequencing, but not designed for pipeline auditing or re-engagement email drafting grounded in Gmail thread history.
Notion CRM template + Zapier
Works for small pipelines, but syncing HubSpot deal data into Notion and triggering re-engagement workflows requires significant Zapier configuration that breaks when HubSpot field names change.
On Starch RECOMMENDED

One platform — sales agent crm, crm, email agent 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

Does Starch write back to HubSpot, or is it read-only?
Starch syncs your HubSpot data on a schedule for reading — contacts, companies, deals, owners. Writing back to HubSpot (marking a deal closed-lost, updating stage) depends on how your HubSpot connection is configured. For the audit workflow, you can use Starch to identify and draft the changes, then apply them in HubSpot directly, or ask about write-back support for your specific plan.
We use Customer.io for lifecycle email, not Gmail. Can Starch still draft re-engagement emails?
Yes. Starch can connect Customer.io from its integration catalog and query it live to check whether a contact is already enrolled in a nurture sequence. For drafting re-engagement emails, Starch uses Gmail thread history to ground the draft in what was actually said — if your sales reps use Gmail, that context is available. If your outreach lives in a different email tool, the drafts will be based on HubSpot deal notes and contact data instead.
We have 400+ deals in HubSpot, not 40. Will the audit still work?
Yes. Starch syncs HubSpot at the entity level with no deal count cap on the integration itself. The audit prompt filters to deals matching your criteria (stage, last-activity threshold, owner), so you're working with the flagged subset rather than the full list. For very large pipelines, you can run the audit by owner or by pipeline stage to keep each session manageable.
Is Starch SOC 2 certified? We'd be connecting our HubSpot and Gmail.
Not yet — Starch is not SOC 2 Type II certified today. If your company has a vendor security review process that requires SOC 2, that's worth checking with your IT or security team before connecting production HubSpot and Gmail data.
What if the stale deal contact has left the company? Can Starch catch that?
Yes. The LinkedIn enrichment step in the recipe has Starch check each re-engagement target's current title and company through browser automation — no LinkedIn API required. If the contact's LinkedIn profile shows they've moved to a different company, Starch flags it before you send the re-engagement email, so you're not reaching out to a dead address or someone who hasn't been relevant for six months.
How is this different from just building a HubSpot filter for 'last activity > 30 days'?
The HubSpot filter gives you the list. Starch gives you the list plus Gmail thread context per deal, re-engagement email drafts grounded in what was actually discussed, LinkedIn enrichment to verify contacts are still in role, and a cleaned pipeline snapshot you can drop into your weekly CEO brief — all without exporting anything to a spreadsheet or switching between four tabs.

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.