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.
Drop it on the canvas. Configure a couple of fields. Publish.
You 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"}
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" |
One trigger. 9+ downstream actions. Zero glue.