HLAI Experts

Guide · Pipelines

Move the opportunity in HighLevel when an appointment is booked, missed or cancelled

Build one workflow per outcome in GoHighLevel (GHL): an Appointment Status trigger filtered to the calendar and status, a Find Opportunity step to pick the right deal, then Update Opportunity with the stage you want. Find Opportunity is the step people miss. An appointment trigger carries no deal, and without one the stage update is skipped.

Rob EasonPublished

Why the deal didn't move

The appointment shows as booked, or no-show, or cancelled. The workflow ran. The deal on the pipeline board is exactly where it was. Nothing looks broken; the update just never happened.

HighLevel documents the reason. Update Opportunity skips when there's no opportunity in context, and an Appointment Status trigger is about an appointment, not a deal. The workflow knows the contact and the appointment. It doesn't know which opportunity you meant until a step finds it.

The pieces you'll use

Five parts of the workflow builder do this job. Use HighLevel's own status names when you filter: a plan may say booked or missed loosely, but the trigger only knows the values below.

  • Appointment Status trigger: fires when an appointment is created or its status changes. Its status values are New, Confirmed, Cancelled, Showed, No-show and Invalid.
  • In Calendar filter: limits the trigger to one calendar, so bookings on other calendars leave this pipeline alone.
  • Modified By filter: tells apart changes made by a user, the customer, the API or a workflow.
  • Find Opportunity: looks up the deal and returns one match, the earliest or the latest when several fit. It has a found branch and a not-found branch.
  • Update Opportunity: sets the pipeline and stage. Moving a deal back to an earlier stage needs Allow Opportunity to Move to Any Previous Stage turned on.

Build the booked, no-show and cancelled moves

Repeat these steps once per outcome. Three small workflows are easier to test and to read than one workflow carrying every branch.

  1. Create a workflow and add the Appointment Status trigger.
  2. Add the In Calendar filter for the calendar this pipeline uses, and a status filter for this outcome.
  3. Add Find Opportunity. Narrow its filters so it matches only the deal this appointment belongs to, and choose earliest or latest for when more than one still matches.
  4. Give the not-found branch a job of its own, such as an internal alert, so a missing deal gets noticed instead of ignored.
  5. On the found branch, add Update Opportunity and choose the pipeline and stage for this outcome.
  6. If this outcome moves the deal backwards, as a cancellation does in our map, turn on Allow Opportunity to Move to Any Previous Stage.
  7. Save and publish. Then book, cancel and mark a no-show on a test contact, and check both the deal and the workflow execution.

Rather have it set up for you?

We'll build the booked, no-show and cancelled moves for each calendar and test every path on a test contact. Book a 30-minute 1:1 with Rob to start.

Book a 1:1 with Rob

The stage map we use

Which stage each outcome goes to is your decision. HighLevel gives you the trigger and the actions; nothing moves on its own. In our builds the map is usually the same. A booking moves the deal to the appointment stage. A no-show moves it to a recovery stage, where follow-up starts. A cancellation sends it back to the stage before booking.

When a process has a second meeting, such as a wrap-up call after the first appointment, that calendar gets its own set of moves. We write each pair down, calendar and destination stage, before building anything.

An appointment trigger knows the contact, not the deal. Find the deal first.

Where these workflows go wrong

When a move skips or lands on the wrong deal, look for one of these first.

  • No Find Opportunity step, so the update has nothing to act on and skips.
  • A lookup that's too broad. When a contact has several deals, the wrong one moves.
  • No In Calendar filter, so a booking on another calendar moves this pipeline's deal.
  • A cancellation that can't move back because the previous-stage toggle is off.
  • Not deciding whose changes count. Modified By lets the workflow act only on changes from the people or systems you choose.

Questions

Appointment and stage move questions

Why didn't my opportunity move when the appointment was booked?
Usually because the workflow had no opportunity to update. An Appointment Status trigger doesn't carry a deal, so add Find Opportunity before Update Opportunity. Without it, HighLevel skips the update.
Which status should I filter on for a new booking?
The trigger's values are New, Confirmed, Cancelled, Showed, No-show and Invalid. Book a test appointment on the calendar, see which status it gets, and filter on that one.
Can a cancellation move the deal backwards?
Yes, with Allow Opportunity to Move to Any Previous Stage turned on in Update Opportunity. With the toggle off, the deal can't go back to an earlier stage.
What if the contact has more than one open deal?
Find Opportunity returns one match. When several fit, it takes the earliest or the latest, whichever you chose. Narrow the filters until the deal this appointment belongs to is the only match.
Does HighLevel move the deal by itself when someone books?
No. Booked, no-show and cancelled moves are workflows you build. HighLevel provides the trigger and the actions, and you choose the stage for each outcome.
Rob Eason

Who you talk to

Rob Eason

Rob runs HLAI Experts and takes the 1:1 calls himself.

He is a HighLevel Certified Admin with the second-most reviews in HighLevel's Certified Admin Directory worldwide, all of them 5 out of 5.

He won HighLevel's Top New Subaccounts via AI Employee award in its 2025 Summer of AI Awards and taught HighLevel's official masterclass on its AI Employee.

Before HighLevel, he co-owned a 60-employee financial services firm and sold his share.

On the call he looks at your account, not a script.

5/5 across 83 reviews in HighLevel's Certified Admin Directory