The 7 Pipeline Stages Every Service Business CRM Needs

6 min readGoHighLevel

Open a hundred GoHighLevel pipelines and you'll find the same problem in most of them: a stage called "Warm Lead." Nobody can tell you what makes a lead warm instead of cold, so nobody agrees on when to move a deal into it, so the stage becomes a dumping ground, and the pipeline stops meaning anything. Six months later the owner is staring at a Kanban board that looks full and has no idea what it's actually telling him.

The fix isn't more stages. It's stages that describe something that objectively happened, not something a rep felt. That distinction is the whole post.

Why "Warm Lead" Is a Stage That Tells You Nothing

A good stage name answers one question with no room for opinion: did this specific, observable thing happen, yes or no? "Discovery call scheduled" passes that test — either there's a booked appointment or there isn't. "Warm lead" fails it — warm to one rep is cold to another, and there's no automation trigger, no required field, and no report you can build on top of a feeling.

Run every stage name through that filter before you build the pipeline. If two reasonable people could disagree on whether a deal belongs in a stage, rename it.

The 7 Stages

This is the structure built for a service business selling one core offer with a sales cycle that runs from inbound lead to signed job or membership — not a generic B2B sales pipeline borrowed from software companies.

1. New Lead

Anything that just entered the CRM through a form, a call, an ad, or a manual add, and hasn't been touched yet. Required field: lead source. If you can't fill in where it came from, your ad spend reporting is guessing.

2. Attempted Contact

You've tried to reach them — call, text, or email went out — but you haven't gotten a live response yet. This stage exists specifically so a lead sitting untouched for three days is visible, instead of invisible inside "New Lead."

3. Contacted

Two-way contact happened. They replied, picked up, or booked something. Required field: contact method used, so you can later tell whether calls or texts get better response rates for your business.

4. Appointment Scheduled

A specific date and time is on the calendar — this is the stage that should be driven directly off your GoHighLevel calendar booking, not typed in manually. Required field: appointment date/time, pulled from the calendar object automatically if your calendar and pipeline are wired together correctly.

5. Proposal or Estimate Sent

A specific dollar figure has gone to the prospect. Required field: opportunity value. This is the stage most businesses skip naming precisely, and it's the one your revenue forecast depends on most — if "Proposal Sent" doesn't have a dollar amount attached, your pipeline value report is fiction.

6. Negotiating / Following Up

The proposal is out and there's active back-and-forth: objections, revised scope, follow-up calls. Required field: next follow-up date. A deal with no scheduled next touch in this stage is a deal that's actually dead and hasn't been marked that way yet.

7. Won

Signed, paid, or booked — whatever "closed" means for your business, defined precisely enough that two people would agree on the date it happened.

Lost isn't stage 8. It's a status you can apply from any stage, with a required loss-reason field (price, timing, chose a competitor, went dark, not qualified). Treating "Lost" as a stage instead of an exit status is why most pipeline reports can't tell you why deals die — they can only tell you where they died.

One Pipeline or Five? The Multi-Service Business Problem

If you sell one thing, you need one pipeline, built exactly as above. If you sell meaningfully different services with different sales cycles — say, one-time jobs and recurring memberships — you have a real decision to make, and most guides skip it entirely.

The test: do the two offers have different average deal sizes, different numbers of touches to close, or different teams selling them? If yes to any of that, build separate pipelines. Cramming a $150 one-time service and a $12,000 annual contract into the same seven stages produces a pipeline where "Proposal Sent" means two completely different things depending on which deal you're looking at, and your stage-conversion reporting becomes useless. If the offers are genuinely similar in shape, keep one pipeline and use a custom field or tag to separate reporting by offer type instead of duplicating structure you don't need.

Wiring Stage Changes to Automations, Not Just Colors on a Board

A pipeline that just sits there as a visual is half-built. Every stage transition should be able to fire a workflow using the "Opportunity Stage Changed" trigger in GoHighLevel's workflow builder — this is the connective tissue that turns a Kanban board into a system. The specific workflows worth wiring to each stage — a task created when a deal enters Attempted Contact, an internal Slack or SMS alert when a deal has sat in Negotiating past a set number of days, a review request fired automatically on Won — are worth building out individually, but the pipeline has to exist in this shape first or there's nothing for those automations to hook into.

A stale-deal alert only has to catch one deal that would've otherwise gone quiet to pay for the ten minutes it takes to build.

The Reporting You Actually Look At

Three numbers matter more than the rest of the dashboard combined: conversion rate stage-to-stage (where deals actually die), average time-in-stage (where deals get stuck), and loss reason breakdown (why they die, not just that they did). Set these up under Reporting > Pipeline Report once the pipeline has real data flowing through it — usually after a couple of weeks of live use, not on day one when there's nothing to measure yet.

Time-in-stage is the one most businesses skip and it's usually the most useful. A deal that sits in Proposal Sent for an average of 11 days tells you something concrete and fixable — maybe your follow-up cadence has a gap, maybe the proposal format is confusing, maybe reps are waiting for the prospect to come back instead of chasing. A deal that sits in New Lead for two days before anyone touches it is a speed-to-lead problem wearing a pipeline costume. Pull this number monthly, not just when something already feels wrong — by the time it feels wrong, you've usually been leaking deals for a while.

Pull the stage-to-stage number, not just the overall win rate — an account-wide conversion figure hides which specific stage is actually the leak. And check the loss-reason breakdown before assuming price is the top offender. It usually isn't, once the field is actually required instead of left blank; timing and simple non-response tend to outrank it.

What to Do Next

Rebuild the pipeline with these seven stages and required fields before you touch anything else. Get the account structure and custom fields set up first if you haven't already — a pipeline built on top of the wrong foundation just moves the abandonment problem one layer down. Once real deals are flowing through it, that's when the automation and reporting layers earn their keep, and that's the kind of buildout Cole does for service businesses directly.

Cole DeFranco

Cole DeFranco

Paid media, funnels, content, and automation for service businesses. See what I do.

Ready to stop guessing?

One person accountable for the number — ads, funnel, content, and follow-up.

Let's Talk

Keep reading