- Integrations
- /
- GoHighLevel
- /
- Triggers
- /
- Opportunity Stage Changed
GTriggerGoHighLevelReal-timeUpdated May 2026
When does GoHighLevel fire on opportunity stage changes?
Short answer: Drop the "GoHighLevel → Opportunity Stage Changed" trigger on your workflow canvas, add filters if you want them, and publish. It fires within seconds of the event in GoHighLevel, not on a polling schedule.
Anatomy
What this trigger looks like in a workflow.
Drop it on the canvas. Configure a couple of fields. Publish.
In the builder
TriggerG
Opportunity Stage Changed
When the matching event happens
watch for opportunity stage changewhen deal stage changes in gohighlevelpipeline stage movedopportunity moveddeal advancedstage changed
What this trigger returns
for the curiousYou don’t need to read this. Tiny Command auto-maps every field into the visual picker so downstream nodes can pull values by clicking. We show it here for power users who want to know what’s on the wire.
{"name": "Acme Inc — Annual Plan","status": "open","contactId": "ocQHyuzHvysMo5N5VsXc","locationId": "ve9EPM428h8vShlRW1KT","pipelineId": "VDm7RPYC2GLUvdpKmBfC","monetaryValue": 5000,"opportunityId": "Tu1Lf5wYC5SqQ8oa6L2y","pipelineStageId": "stage_negotiation","previousStageId": "stage_qualified"}
Output shape
Fields available to downstream nodes.
Every field below can be referenced by name in any action or filter that comes after this trigger.
| Field | Type | Example |
|---|---|---|
| name | string | "Acme Inc — Annual Plan" |
| status | string | "open" |
| contactId | string | "ocQHyuzHvysMo5N5VsXc" |
| locationId | string | "ve9EPM428h8vShlRW1KT" |
| pipelineId | string | "VDm7RPYC2GLUvdpKmBfC" |
| monetaryValue | number | 5000 |
| opportunityId | string | "Tu1Lf5wYC5SqQ8oa6L2y" |
| pipelineStageId | string | "stage_negotiation" |
| previousStageId | string | "stage_qualified" |
Pairs with
Drop these actions after Opportunity Stage Changed.
FAQ
Questions about Opportunity Stage Changed.
How does the Opportunity Stage Changed trigger work in GoHighLevel?
Fires when an opportunity transitions between pipeline stages. The high-signal event for revenue forecasting and for "deal at Negotiation → notify VP Sales" workflows.
Is the Opportunity Stage Changed trigger real-time?
Yes. Opportunity Stage Changed uses webhooks or push subscriptions, not polling. Your workflow fires within seconds of the event happening in GoHighLevel.
What data does Opportunity Stage Changed return?
The full event payload from GoHighLevel. The output shape table on this page lists every field, its type, and an example value so you can map fields into downstream nodes.
Can I filter Opportunity Stage Changed so only some events start a workflow?
Yes. Add a Filter node right after the trigger and match on any field, whether that's subject, sender, status, or anything else in the payload. Workflows only continue when the filter passes.
Do I need GoHighLevel admin permissions to use Opportunity Stage Changed?
For most GoHighLevel accounts a standard user can authorize the trigger. Some GoHighLevel plans require an admin to enable third-party webhooks. Check GoHighLevel's docs if the trigger fails to register.
More triggers
Other GoHighLevel triggers.
Build a workflow on this trigger.
One trigger. 9+ downstream actions. Zero glue.