Examples
GoHighLevel Sales Pipeline Automation Examples
Not lead follow-up, not nurture content — this page is specifically about workflows triggered by a deal changing stage or status inside a GoHighLevel pipeline. Five worked examples below, each with the exact trigger, the actual sequence of steps, and why it keeps a sales process disciplined without a manager manually chasing every rep. For the full platform picture, see the complete GoHighLevel workflow automation guide.
On This Page
Why Trigger Off the Pipeline Itself?
Most GoHighLevel automation content covers what happens before a deal exists — capturing a lead, qualifying it, routing it to the right rep. That's a genuinely different problem from this one. Once an opportunity is sitting in a pipeline, the thing that actually keeps a sales process disciplined isn't another message to the prospect — it's a system watching the deal itself: has it moved, has it stalled, did it just close.
GoHighLevel gives you three native triggers built specifically for this: Pipeline Stage Changed fires the moment an opportunity moves into a specific stage, Opportunity Status Changed fires on the separate Open/Won/Lost/Abandoned status field, and Stale Opportunities fires when a deal has gone a set number of days with no update at all, in whichever stage it happens to be sitting. Combined with a Wait step, an If/Else branch, and a Task Notification or Add/Remove Tag action, those three triggers are enough to build every example below.
Two related pieces sit outside the scope of this page on purpose: getting a lead routed to the right rep in the first place is covered on the lead routing guide, and scoring a lead before it ever reaches a pipeline is covered on the lead scoring guide. This page picks up after both of those — once a deal already has an owner and already exists as an opportunity, sitting in a stage.
Five Pipeline-Stage-Triggered Workflows, Built Step by Step
Each one below names the exact trigger, the real sequence of steps in build order, and why it matters. Swap the stage names and thresholds for your own pipeline — the logic underneath holds either way.
A Vehicle Quote Stalls in "Proposal Sent" — Sales Advisor Reminder, Then Manager Escalation
A sales advisor at a Dubai car dealership sends a customer a written quote — vehicle price, trade-in value, finance terms — and moves the opportunity into the "Proposal Sent" stage. The customer says they need to think it over, and the advisor gets pulled onto the next walk-in. The quote just sits there looking active on the pipeline board while the customer quietly starts shopping other showrooms.
- 1. TriggerPipeline Stage Changed — fires the moment an opportunity's stage is set to "Proposal Sent" in the vehicle sales pipeline.
- 2. WaitWait 3 days.
- 3. BranchIf/Else: is the opportunity still in the "Proposal Sent" stage (i.e. the quote hasn't been accepted, declined, or revised)?
- 4. ActionYes branch — Task Notification assigned to the sales advisor: "Follow up on vehicle quote — [Contact Name]", due immediately.
- 5. WaitNo reply to that task within 4 more days (day 7 total).
- 6. BranchIf/Else: still in "Proposal Sent" at day 7?
- 7. ActionYes branch — Task Notification to the showroom sales manager ("Quote stalled 7+ days — [Contact Name] / [Advisor]") plus Add Tag "quote-stalled" so it's filterable in the pipeline view.
Why it matters: This replaces the sales manager having to walk the showroom floor asking "did anyone follow up on that quote?" The reminder fires at exactly day 3 whether or not the advisor remembers, and the escalation at day 7 only fires if the first nudge genuinely didn't work — so a manager's attention goes to the quotes that actually need it, not every deal sitting in the pipeline.
A Candidate Placement Goes Stale in Any Stage — Auto-Flagged to a Team Lead by Placement Fee
Unlike Example 1, this one isn't tied to one specific stage — it catches any candidate-placement opportunity, in any stage of a Dubai staffing agency's pipeline, that simply hasn't been touched in a while. A candidate sitting in "Client Interview Scheduled" with zero activity in 10 days is just as much a problem as a stalled quote — the candidate can accept another offer while nobody's following up.
- 1. TriggerStale Opportunities — fires once a candidate-placement opportunity has gone a set number of days (its "Days Stale" threshold) with no update, regardless of which stage — screened, submitted to client, interview scheduled — it's sitting in.
- 2. BranchIf/Else on Opportunity Value (the placement fee owed once the candidate is hired): is this placement above the agency's "high-value" threshold?
- 3. ActionHigh-value branch — Task Notification straight to the recruitment team lead ("AED X placement stalled — [Recruiter] hasn't touched [Candidate] in 10+ days"), not just the recruiter.
- 4. ActionStandard branch — Task Notification to the recruiter only, giving them one more chance before the next stale check re-fires.
- 5. ActionBoth branches — Add Tag "stale-flagged" for pipeline reporting.
Why it matters: This is the actual mechanism behind "a team lead doesn't manually audit the candidate pipeline every Monday." Because Stale Opportunities tracks real inactivity per opportunity rather than firing on a fixed calendar date, escalation happens because a placement genuinely stopped moving — not because a reminder was scheduled whether or not the recruiter already worked it.
A Bid Moves to "Won" — Project Kickoff Handoff and Exit From Every Active Sales Sequence
A Dubai contracting firm's bid gets accepted. In a manual process this is where things quietly break: either the project team never finds out a signed job is sitting there, or the brand-new client keeps getting "just checking in on your bid?" follow-ups meant for a prospect who hasn't signed yet.
- 1. TriggerOpportunity Status Changed — New Status = Won (some pipelines instead move the opportunity into a dedicated "Closed Won" stage; either works as the trigger depending on how the bid pipeline is built).
- 2. ActionRemove from Workflow — pulls the contact out of every other active workflow at once, including the reminder and stale-deal workflows above, so a signed client never receives another bid-chasing touch.
- 3. ActionAdd Tag "client" and remove the "active-bid" tag.
- 4. ActionTask Notification to the project/operations team: "Bid won — begin project kickoff for [Contact Name / Project]", due same day.
- 5. ActionUpdate Custom Field — "Kickoff Status" set to "Pending".
Why it matters: One trigger does two jobs atomically the instant the status flips: it hands the signed project to the people who need to act next, and it silences every sales-side sequence that no longer applies to them. Handled manually, these two things happen on two different people's to-do lists — the sales side and the project side — and one of them regularly gets missed.
Deal Moves to "Lost" — SaaS Deal Auto-Tagged and Routed Into a Win-Back Sequence by Reason
Most software sales pipelines treat "Closed Lost" as the end of the road. It shouldn't be — a trial that lapsed on bad timing is a completely different situation from one lost to a competing platform, and each deserves a different long-term path rather than getting deleted from view.
- 1. TriggerOpportunity Status Changed — New Status = Lost.
- 2. BranchIf/Else on the "Lost Reason" custom field, where the account executive logs why: price/budget objection, bad timing, or chose a competing platform.
- 3. ActionAdd Tag matching the reason ("lost-price", "lost-timing", "lost-competitor") and Remove from Workflow to exit any active sales-cadence sequence.
- 4. WaitWait a reason-specific period — shorter for "bad timing," longer for "chose competing platform."
- 5. ActionAdd to Workflow — enrolls the contact into a separate, long-term win-back nurture sequence rather than the active sales pipeline.
Why it matters: This distinguishes "lost forever" from "lost for now" instead of treating every lost SaaS deal identically. For what that longer-term nurture content should actually say once someone's enrolled in it, see the lead nurturing workflow examples page.
Pipeline-Stage-Based Wedding & Event Booking Prioritization by Package Value
Not every booking sitting in "Proposal Sent" at a Dubai wedding and events studio deserves the same attention. A AED 180,000 full wedding package and a AED 6,000 single-event add-on sitting in the same stage shouldn't get identical, generic follow-up — but without something watching for it, they usually do.
- 1. TriggerPipeline Stage Changed — fires on any stage transition within the booking pipeline, re-evaluating the deal every time it moves.
- 2. BranchIf/Else: is Opportunity Value (the package price) above the priority threshold AND is the new stage a late, high-intent one ("Proposal Sent" or "Deposit Pending")?
- 3. ActionYes branch — Add Tag "priority-booking" and Task Notification directly to the lead planner or studio owner flagging it for personal attention.
- 4. ActionNo branch — the booking proceeds through the standard reminder/escalation workflows above with no extra flag.
Why it matters: This is deliberately not the same thing as lead scoring at intake — it's re-scoring a booking by where it already sits in the pipeline and what it's worth, every single time it moves. For scoring a lead before it ever reaches a pipeline, that's a separate mechanic covered on the lead scoring guide.
Step labels used above — Trigger, Wait, Branch (If/Else), Action — map directly to GoHighLevel's own workflow builder terminology, not shorthand invented for this page. See the sources list further down for the exact documentation.
Frequently Asked Questions
Pipeline Stage Changed fires when an opportunity moves between stages inside a pipeline — "New Lead" to "Contacted" to "Proposal Sent," and so on. Opportunity Status Changed fires on the separate status field GoHighLevel tracks alongside stage — Open, Won, Lost, or Abandoned. In practice you use Pipeline Stage Changed for mid-pipeline automation like Examples 1 and 5 above, and Opportunity Status Changed for the deal's final outcome, like Examples 3 and 4. Some accounts model "won" as a status change and others as a move into a dedicated "Closed Won" stage — check how your own pipeline is structured before picking which trigger to build on.
- Source: GoHighLevel Help Center — Workflow Trigger: Pipeline Stage Changed
- Source: GoHighLevel Help Center — Workflow Trigger: Opportunity Status Changed
- Source: GoHighLevel Help Center — Workflow Trigger: Stale Opportunities
- Source: GoHighLevel Help Center — Opportunity Statuses: Open, Won, Lost, and Abandoned
- Source: GoHighLevel Help Center — Workflow Action: Task Notification
- Source: GoHighLevel Help Center — Using If/Else Workflow Action to Automate Decision-Making
- Source: GoHighLevel Help Center — What Are Workflow Actions? (Complete List)
Want This Built Into Your Actual Pipeline?
Every example above is genuinely buildable yourself inside GoHighLevel's own workflow editor — I'd rather you actually ship it than not. If you'd rather not spend the afternoons on trigger logic, stage-name mapping, and testing every branch against real deals, this is exactly what I build for clients: full sales pipeline automation wired into every stage of the deal cycle, as part of GoHighLevel automation for Dubai-based businesses and remote clients alike.
- 7+ years building GoHighLevel and CRM automation for businesses worldwide
- 100,000+ leads delivered through systems built the same way this page describes
- One real estate automation system alone responsible for 50,000+ of those leads
Ready to Stop Chasing Reps Through the Pipeline?
Fastest way to start: message me directly on WhatsApp with what your current pipeline stages look like. Or send the details below and I'll get back to you.