Most sales teams have a pipeline. Most sales teams also ignore it half the time. The gap between a pipeline that exists and a pipeline that actually guides decisions is enormous—and it's usually not about the tool. It's about how you build it. A pipeline that sticks solves three problems at once: it reflects how your team actually sells (not how a consultant says they should), it gives you honest visibility into revenue, and it doesn't feel like busy work. Here's how to build one. Start with your real sales process, not a template The fastest way to kill a pipeline is to copy someone else's stages and shoehorn your deals into them. Generic stages like "Prospecting → Qualified → Proposal → Closed" almost never match how you actually move deals forward. Instead, map what your team does right now , even if it's messy: Talk to your closers. Ask three salespeople: "Walk me through your last five deals. What happened at each step?" Write down the moments where something changed—a demo happened, objections came up, they asked for a price, a champion emerged. These are your real stages. Look for decision points, not activities. "Email sent" is not a stage. "Waiting on budget approval" is. Stages should represent where a deal is in the customer's buying process, not what you did to it. Count the stages you actually have. Some teams close in three clear steps. Others have seven. Neither is wrong if it matches reality. A six-stage pipeline where deals bounce between stages 2 and 3 for months is useless. The result should look like this: a sequence your team recognizes instantly. When a salesperson moves a deal, they should know exactly why. Define what moves a deal forward (and what doesn't) The second killer: teams can't agree on when a deal actually moves to the next stage. One rep thinks "we sent a proposal" means it's qualified. Another thinks qualification means the customer confirmed they have budget. This ambiguity destroys pipeline accuracy. You'll report $500K in the pipeline that evaporates in week three. Your forecast will be a guess. Your team will stop trusting the numbers. For each stage, write down the entry criteria—what has to happen for a deal to land here: Stage 1 (Inbound): A prospect filled out a form or replied to outreach. Someone from your team has their contact info. Stage 2 (Discovery call scheduled): You have a confirmed meeting on the calendar. The prospect confirmed via email or calendar invite. Stage 3 (Needs confirmed): You had a real conversation. You know what they're trying to solve and roughly why it matters to them. Stage 4 (Proposal sent): You sent a written proposal, quote, or scope doc. They acknowledged receipt. Stage 5 (Negotiating): They asked for changes, pricing adjustments, or timeline tweaks. Active conversation is happening. Stage 6 (Ready to close): Terms are agreed. Legal/finance is reviewing or you're waiting for a single approval. Stage 7 (Closed won/lost): Contract signed or they said no. Post these criteria where your team sees them every day—in your CRM, in Slack, in a shared doc. When a rep drags a deal across the board, they should be confirming that these criteria are met. Build deal velocity into your pipeline A pipeline without velocity is just a static list. You need to know not just what stage deals are in, but how long they're staying there . When you set up your stages, also define the expected timeline for each: Inbound → Discovery call: 3 days Discovery → Needs confirmed: 1 week Needs confirmed → Proposal sent: 2 weeks Proposal → Negotiating: 5 days (if they move at all) Negotiating → Close: 2 weeks These aren't hard deadlines—they're patterns. Once you track them, you'll spot stalled deals immediately. A deal sitting in "Proposal sent" for a month isn't brewing; it's dead. Now you can revive it or mark it lost instead of pretending it still has a pulse. A pipeline that doesn't show you which deals are stuck is just a record-keeping system. Velocity turns it into a tool. Assign one owner per deal and make updates a daily habit Stale data kills adoption faster than anything. If your reps update the pipeline weekly in a Monday meeting, they're working from Friday's information. Decisions based on old data are bad decisions. Make updates a daily reflex: One owner per deal. No "shared" deals. One person owns it, one person drags it across the board, one person explains why it moved or didn't move. Update after customer contact. Had a call? You move it before the next customer touches anything else. Sent an email? Move it then. Use your CRM as the source of truth. If the number in your CRM doesn't match the number in your rep's email or their personal spreadsheet, something's broken. Fix that system issue immediately. Review the board together weekly for 15 minutes. Spend five minutes looking at what moved. Spend five on deals that didn't move but should have. Spend five talking through the new ones coming in. This is not a status report—it's a coaching momen