
Never Let a Deal Sit Still in Your Pipeline Again
How to Automate Sales Follow-Ups Using the Opportunity Stage Changed Trigger in GoHighLevel
Most sales teams do not lose deals because the offer was wrong. They lose them because nobody followed up at the right moment. A prospect moves out of a discovery call into a proposal stage, and then the trail goes quiet for four days while the rep is buried in something else. By the time the follow up lands, the buyer has already spoken to somebody faster.
GoHighLevel closes that gap with the Opportunity Stage Changed trigger, which appears in the workflow builder under the name Pipeline Stage Changed. It starts a workflow the instant a deal card lands in a different stage, so the follow up email, the internal alert and the task for the rep all happen in the same second the card is dragged.
What the Trigger Actually Does
The trigger activates whenever an opportunity moves from one stage to another inside a pipeline. Three details are worth knowing before you build on it.
First, it responds to movement in both directions. A deal progressing from Qualified into Proposal Sent fires it, and the same deal sliding backwards fires it again. That is genuinely useful, because a deal moving backwards is often a stronger signal than one moving forwards.
Second, it does not care what caused the move. A rep dragging a card fires it, a workflow using the Create or Update Opportunity action fires it, and an API call from a connected app fires it. The trigger sits at the data layer rather than the interface layer.

Third, it is independent of the other opportunity triggers. Opportunity Created, Opportunity Status Changed and Opportunity Changed are separate triggers with their own behaviour. Moving a card into a stage called Closed Won does not set the opportunity status to Won unless something sets it. If you need both events covered, add both triggers to the same workflow, since multiple triggers behave as an OR condition.
It also works in real time only. It cannot be pointed backwards at historical movement, which lives in the opportunity activity log instead.
Setting Up the Trigger Step by Step
Go to Automation in the left sidebar, open the Workflows tab, then click Create Workflow and choose Start from Scratch. On the blank canvas, click Add New Triggerand scroll to the Opportunities group, where Pipeline Stage Changed sits alongside Opportunity Created, Opportunity Status Changed and Stale Opportunities.

Name the trigger next. The name is what appears on the canvas and in your enrollment history, so Proposal Sent to Negotiation is worth the two seconds it takes to type.

Then click Add filters, set your conditions, click Save Trigger, build the actions, and switch the toggle at the top right from Draft to Publish.
Every Filter Available and When to Use It
Filters are the difference between a workflow that does useful work and one that messages your whole database. Multiple filters on a single trigger combine with AND logic, so all of them must be true.
In Pipeline restricts the trigger to one named pipeline. If you run separate pipelines for new business, renewals and referrals, this is the filter that stops a renewal firing your new business sequence. On any multi pipeline account, treat it as close to mandatory.

Pipeline Stage restricts it to movement into one specific stage, and it is what most stage based workflows are built around. A deal arriving in Appt Booked deserves a very different message from one arriving in Purchase.

Status filters on the opportunity status rather than the stage, with four values: open,won,lost and abandoned. Filtering on won is the cleanest way to start an onboarding workflow.

The remaining filters cover the rest. Assigned To restricts the trigger to deals owned by a specific user, which is ideal for rolling an automation out to one rep first.Tag fires only for opportunities carrying the tags you name. Lead Value compares the monetary value, with operators covering equals, greater than, greater than or equal to, is not equal to, less than and less than or equal to, so a twenty thousand pound deal can get a call while a small one gets an email.Lost Reason fires only when a deal is marked lost with a specific reason attached, which lets you run a tailored win back sequence instead of one generic apology.
Five Automations Worth Building This Week
The proposal chase.Trigger on movement into Proposal Sent. Send the recap email immediately, wait two business days, then send a short text. Add a task for the rep on day four.
The instant handoff.Trigger on movement into Closed Won with the Status filter set to won. Notify delivery, create onboarding tasks, tag the contact as a client and enrol them in the welcome workflow.
The high value alert.Trigger on movement into Negotiation with a Lead Value filter above your threshold, and notify the sales manager directly.
The backwards move warning.Trigger on movement into an earlier stage, notify the assigned user and log a note. Deals that slide backwards are your best early warning and almost nobody watches for them.
The tailored win back.Trigger on Closed Lost with a Lost Reason filter, routing price objections and timing objections into different sequences.
Mistakes That Quietly Break These Workflows
Leaving the workflow in Draft.By far the most common. The canvas looks finished and the toggle was never switched.
No pipeline filter on a multi pipeline account.The workflow fires for every pipeline you own.
Confusing stage with status.A stage named Closed Won is a label on a column. If the deal genuinely needs to be won, add the Status filter.
Ignoring re entry settings.On a workflow where deals move back and forth, leaving Allow Re-entry open can send the same proposal email three times.
Forgetting the time window.Without one, a stage change at two in the morning sends a text at two in the morning.
Before publishing anything, use the Test Workflow button, then create a throwaway opportunity, drag it into the target stage, and check Enrollment History. It shows every contact that entered, which step they reached and any errors. Silent failures nearly always turn out to be a missing sending number or from address.
Frequently Asked Questions
Does the trigger fire when I move a deal manually?
Yes. If an opportunity is dragged to another stage by hand, the workflow still triggers as long as it meets your filter conditions. The trigger reacts to the underlying stage change and does not care whether a person, a workflow or an API call caused it.
What happens if a deal moves back to an earlier stage?
It fires again, provided the conditions still match. That is how you catch stalling deals, and it is also how a contact can receive the same message twice if re entry is left open, so set that deliberately.
Can I use several filters on the same trigger?
Yes, and you usually should. Multiple filters combine with AND logic, so you can require a specific pipeline, a specific stage and a specific assigned user at once. Separate trigger blocks on one workflow behave as OR instead.
How is this different from the Opportunity Status Changed trigger?
Pipeline Stage Changed watches which column the card sits in. Opportunity Status Changed watches whether the deal is open, won, lost or abandoned. They are independent triggers and a card can move stages without its status changing at all.
Need Expert Help with GoHighLevel?
New to GoHighLevel and ready to get started? Buy your GoHighLevel account here and launch with confidence.
Already know what you need and want our team to handle everything, from complete setup and customization to funnels, workflows, automations, CRM, and pipelines? Click here.



