Edit, Reassign and Cancel an Appointment
Moving a call, handing it to another closer or cancelling it all happen in the Agenda, and the change is written back to the system the appointment comes from: GoHighLevel or Google Calendar. It did not use to work that way: the sync pulled date and closer back within a few minutes, and whatever you changed here disappeared.
Where it opens
In the Agenda, click the appointment card: the Edit appointment window opens. The controls inside the card still do their own job — the lead name, Join, the recording chip and the card menu (the three dots): a click that starts on one of those does what it has always done and does not open the window.
The same window opens from the card menu, entry Edit appointment, and from the Appointments card on the lead page.
Inside you find Date, Time, Duration (minutes), Closer, Video call link, Status and Notes. The time is in the chosen closer’s time zone, written under the field.
- An admin can edit any appointment of the agency.
- A member can edit the appointments where they are the closer or the setter; a sales manager also those of their team.
If the appointment is already Done, No-show or Cancelled, the window says so at the top — “Closed appointment: date and closer can’t be changed” — and those fields stay locked. Link, status and notes remain editable.
Which closers you can pick (and why one is missing)
The Closer field does not list the whole team: it only offers whoever is genuinely available at that time. Three conditions must hold together: the time must fall inside their working hours, they must be free, and their calendar must be able to receive the write. The list is recalculated on every change of date, time or duration: while it does, you read “Checking availability…”.
The current closer always stays in the list, even when they are no longer available: in that case they appear as “Name — no longer available (reason)”, so you can save the rest without losing them by mistake.
| Reason you read | What it means and what to do |
|---|---|
| busy at this time | They already have another scheduled call in that slot, or something on their Google Calendar. The buffer they keep between appointments counts too. Move the time or pick another closer. |
| outside their working hours | The time falls outside the hours on their personal booking page, read in their own time zone: 6 PM in Italy is the middle of the night in Sydney. |
| no working hours set | They do not have a personal booking page with confirmed hours yet. Until they confirm them, they are never offered — not even when they are completely free. |
| not enabled on this GoHighLevel calendar | The appointment lives in GoHighLevel and that closer is not part of that calendar’s team: GoHighLevel would reject the change. It is fixed in GoHighLevel, not here. |
| no Google Calendar connected | The appointment is a Google event and that closer has not connected their Google Calendar with write access. See The closer’s Google Calendar. |
If nobody passes the check you read “No closer is available at this time”; if the check itself fails (network, service momentarily unreachable) you read “Couldn’t check closer availability. Try again”, and only the current closer is left in the list.
Where the change ends up: GoHighLevel, Google or only here
Under the Closer field a line tells you where what you are about to save will go: “Changes are sent to GoHighLevel.”, “Changes are written to <closer>’s Google Calendar.”, or no line at all — and then the call only lives in SalesControl.
| Where the appointment comes from | What gets written, and where |
|---|---|
| Imported from GoHighLevel | One single write to GoHighLevel with the new date and time and, if you changed it, the new assignee. If that appointment also has a Google event, GoHighLevel updates it: SalesControl does not touch it. |
| A Google Calendar event (including a call created here or a booking that generated the event) | Time change: the event is moved on the current closer’s calendar. Closer change: the event is recreated on the new closer’s calendar, with the same guests and a new Meet link, and deleted from the old one. |
| A call added by hand, imported from CSV, or a booking with no Google event | Nothing goes out: the change stays inside SalesControl. |
Only the date/time and the closer travel outside. The video call link, the notes and the outcomes (Done, No-show, No-show closer) are written here and touch neither GoHighLevel nor Google.
The order is deliberate: the write starts on the source system and is only saved here if that one succeeds. If GoHighLevel or Google refuse, nothing changes in SalesControl and the appointment stays as it was: better a change that does not go through than two calendars telling different stories.
An event cancelled directly in GoHighLevel is now cancelled in SalesControl as well: before, the call stayed scheduled forever. See GoHighLevel Calendar.
Reassigning to another closer
Change the Closer field and save: that is all. What happens next depends on where the appointment lives.
- GoHighLevel — the same write carries the new assignee. For it to work, that closer’s GoHighLevel user must be in that calendar’s team: if they are not, they do not even show up among the available ones.
- Google Calendar — the event moves to the new closer’s calendar: same guests, new Meet link. The old event disappears from the calendar of whoever had it.
- SalesControl only — the name on the card changes, and nothing else.
When you reassign a lead’s current call (the first scheduled ahead, otherwise the last one not cancelled), the lead’s closer moves to the same person too, and the lead timeline records a Lead reassigned entry. Editing a call that already happened reassigns nobody.
If you change only the closer on a Google event, whoever booked through the booking link gets no email (no date changed), but the video call link is a new one. If the call is close, drop them a line.
Cancelling an appointment
At the bottom left of the window sits the red Cancel appointment button; the same entry is in the card menu. From the window a confirmation comes first: “Cancel this appointment? It will be cancelled on the source system too.”, plus “The scheduled recording will be cancelled as well.” when a bot is waiting.
- In GoHighLevel the appointment moves to the cancelled status: it is never deleted, so the CRM keeps a trace of what had been booked.
- In Google Calendar the event is deleted from the closer’s calendar.
- If the call comes from neither, the cancellation stays here.
Cancelled is no longer an option in the Status field: it goes through the button precisely because it has to reach the outside too. A cancelled appointment is a final state: it stays visible in the Agenda by picking it in the Status filter, but it does not reopen — if the call happens after all, book a new one.
What happens to the recording and the client emails
The recording follows the call:
- You change only the closer: the bot already booked stays and moves to the new closer.
- You change time or link: the booked bot is cancelled straight away (nobody wants a notetaker joining at the old time) and re-booked within a few minutes on the new time.
- You cancel the call: the bot is cancelled straight away, with no waiting.
Emails to the contact (only for appointments created in SalesControl, including those from the booking link):
- You move date or time: the reschedule email goes out and the reminders restart on the new date.
- You cancel: the cancellation email goes out.
- You change only the closer: no email — the booking is updated quietly.
Appointments imported from GoHighLevel or Google send no email to the contact, neither before nor after a change: the system that created them takes care of that.
If the change is refused
| Message | What to do |
|---|---|
| “GoHighLevel rejected the change (HTTP …). Check that the key has write access to calendars.” | This is an admin job: the agency’s GoHighLevel key must have write access to calendars. See GoHighLevel Calendar. |
| “Google Calendar rejected the change.” | The closer has to reconnect Google granting write access to the calendar too, from their own Settings. |
| “This closer is no longer available: pick another one.” | Somebody took that slot while your window was open. The closer list reloads on its own: pick whoever is still free, or change the time. |
In all these cases nothing has been written in SalesControl: the appointment is still the one from before, and you can try again without checking anything by hand.