---
title: "How to build pipeline hygiene with Claude & Rig"
description: "A scheduled workflow that sweeps every open opportunity for stale stages, past-due close dates and missing next steps, then drafts the fix for each rep to approve. A step-by-step guide to building it yourself on your own data with Claude and Rig."
canonical: "https://rig.so/apps/pipeline-hygiene"
format: markdown
---

[All apps](https://rig.so/apps)

GTMWorkflow

# Pipeline hygiene

Catch stale deals, slipped dates and empty fields before the forecast call

A scheduled workflow that sweeps every open opportunity for stale stages, past-due close dates and missing next steps, then drafts the fix for each rep to approve.

Runs on![Salesforce logo](https://img.logo.dev/salesforce.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=44&format=png&retina=true)![HubSpot logo](https://img.logo.dev/hubspot.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=44&format=png&retina=true)![Attio logo](https://img.logo.dev/attio.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=44&format=png&retina=true)

[Build this on your data](https://app.rig.so/signup)[Book a demo](https://rig.so/book-demo)

## The problem

Every pipeline review starts with housekeeping: close dates in the past, deals parked in the same stage for months, empty next-step fields. Reps will not tidy the CRM, so RevOps polices it by hand, week after week.

## Built from Rig's building blocks

This app is one way to combine them. Use the parts you need and change the workflow to fit how your team works.

Sync Salesforce, HubSpot or Attio into Rig

On top of the context layer, encode what a healthy deal looks like (stage age, required fields, close-date rules)

A scheduled workflow sweeps every open opp against those rules

Drafted fixes routed to each rep in Slack for approval

## How to build it

1. 1
   
   ### Connect your CRM
   
   Point Rig at Salesforce, HubSpot or Attio. Rig syncs your pipeline into one governed layer and builds the context around what an opportunity, stage and owner mean in your org.
2. 2
   
   ### Define your hygiene rules
   
   On top of that context, add your own rules: how long a deal can sit in a stage, which fields must be filled, when a close date counts as slipped. Your motion, your thresholds.
3. 3
   
   ### Build the sweep
   
   A scheduled workflow checks every open opportunity against the rules and flags each violation with the reason, not just a red cell in a spreadsheet.
4. 4
   
   ### Route fixes to reps
   
   The workflow drafts the correction (new close date, next step, stage change) and sends it to the rep in Slack. Nothing writes back until the rep approves.

## The outcome

Pipeline reviews start from a clean book. Slipped dates and stale deals get caught the day they slip, not the night before the forecast call.

[Build your own version](https://app.rig.so/signup)

## More GTM apps

[Lost deals · re-analysedAcme · £40kRep: Price→No championGlobex · £22kRep: Timing→Status-quoHooli · £31kRep: Feature→Budget cutPattern: 6 of 10 "price" losses were really champion gapsAppClosed-lost & win-loss analysisSee why deals really die, beyond what the rep typedPull the full context around every deal from CRM, support, product and finance, so you can see what actually slowed deals down and what moved win rate.![Salesforce logo](https://img.logo.dev/salesforce.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)![HubSpot logo](https://img.logo.dev/hubspot.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)![Zendesk logo](https://img.logo.dev/zendesk.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)![Stripe logo](https://img.logo.dev/stripe.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)BirdieHow to build](https://rig.so/apps/closed-lost-analysis)[Enriching accountsAccounts enriched200 / 200Acme CorpEnterprise · ICP 92%GlobexMid-market · ICP 64%InitechEnterprise · ICP 88%58 owners + 200 segments filledWorkflowCRM enrichment & gap-fillFill the CRM fields reps never completeA row-by-row workflow that enriches every account and contact from your internal data and the web, so the CRM fields your reporting depends on are actually populated.![Salesforce logo](https://img.logo.dev/salesforce.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)![HubSpot logo](https://img.logo.dev/hubspot.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)![Attio logo](https://img.logo.dev/attio.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)How to build](https://rig.so/apps/crm-enrichment)[Call analysisCalls analysed1,248Acme · discoveryBudget freezeGlobex · demoChampion wonInitech · QBRPricingTop blocker this week: budget freeze · 34 dealsWorkflowCall analysis at scale (PULL)Turn every sales & CS call into structured CRM signalClassify every call against your qualification framework, then draft the CRM update automatically, so the full picture lands in the CRM without a rep typing it up.![Granola logo](https://img.logo.dev/granola.ai?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)![Gong logo](https://img.logo.dev/gong.io?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)![Attio logo](https://img.logo.dev/attio.com?token=pk_AdkTbLWDS1iunmvTK2qm1g&size=36&format=png&retina=true)100s of calls / weekHow to build](https://rig.so/apps/call-analysis-pull)

---

- [This page as HTML](https://rig.so/apps/pipeline-hygiene)
- [Site map for language models](https://rig.so/llms.txt)
- [API and agent documentation](https://rig.so/developers)
