Agenda and appointments
The Agenda gathers your sales calls and shows them in three ways — Week, Month and List — with a Join button that opens the video call. Appointments come from GoHighLevel, are added from the lead page, or are created from the call date you already write on the lead.
The Agenda is available from the Starter plan up. See Subscription Plans.
What the Agenda is
The Agenda menu entry (Sales group) opens the calendar of your calls. Every appointment has a card with time, lead name, company, closer, platform (Google Meet, Zoom, Teams) and status. The arrows move the period, Today brings you back to the current one.
The three views
The View selector at the top chooses how to look at the same calls:
- Week — the column calendar you know from your CRM: seven columns Monday to Sunday, hours down the side, and every call a block as tall as it lasts. The hours shown start from the working day and widen on their own until they hold every call of the week; two overlapping calls sit side by side, half a column each; calls with no time go in a separate row. Clicking a block selects it, and the full card with all its actions appears below the grid. On a narrow screen seven columns do not fit: the familiar day-by-day list stays.
- Month — the whole month as a grid; click a day to see its calls underneath.
- List — the calls one after another in date order, with no limit going forward.
With default filters the List shows upcoming calls, soonest first. As soon as you pick a status other than the default (say Done or Cancelled) or type something in the search, the window automatically widens to 90 days back and the line above the list says so: looking for a call that already happened works. The closer filter alone widens nothing: the upcoming calls of one closer are still a question about the future.
- The admin sees every appointment of the agency and can filter by closer.
- A sales manager sees their team.
- A closer or setter sees the calls assigned to them and those of the leads where they are setter or closer.
The Status filter shows scheduled and done calls by default; cancelled and no-show calls can be shown too. Search filters by name or company.
Market colours
If your agency works across several markets, every call takes the colour of its market and the legend appears at the top, doubling as the filter. See Multi-country markets.
Colours, legend and filter are shown to whoever actually works across several markets: an admin always, a member assigned to a single market never — for them it would be the same colour on every call, and the Agenda stays the way they have always seen it. Anyone with no market assigned, or with two or more, sees them.
Join
The Join button opens the video call link in a new tab. If the appointment has no link you read “No video call link” instead: add it with Edit appointment from the card menu.
Opening and editing an appointment
Click a call’s card and the Edit appointment window opens, with date, time, duration, closer, link, status and notes; if the appointment came from a booking calendar, its name is shown under the title. The same window is in the card menu too. The controls inside the card — the lead name, Join, the recording chip and the three-dot menu — keep doing their own job: a click that starts on one of those does not open the window.
What you change does not stay here: date, time and closer are written back to the source system (GoHighLevel or Google Calendar), and the Closer field only offers whoever is genuinely available at that time. The detail — who you can pick and why someone is missing, what happens to the recording and the contact emails, how to cancel — is in Edit, reassign and cancel an appointment.
Where appointments come from
1. From GoHighLevel (webhook)
In your GHL sub-account create a workflow with the Appointment Status trigger (filter Confirmed and Cancelled) and a Webhook action to the same URL as the lead-in webhook. In Admin › Integrations you find a ready-made template with the appointment merge tags. SalesControl reads:
- start and end date and time (so the real duration set in GHL);
- the appointment time zone;
- the video call link (meeting location field);
- the status: confirmed, cancelled, showed, no-show;
- the email of the GHL user running the call, to assign the right closer;
- the contact id and the appointment id, so a reschedule or a cancellation update the same call instead of creating another one.
GHL may send an empty link until the appointment is confirmed. SalesControl never overwrites a saved link with an empty value.
2. From the lead page
On the lead page the Appointments card lists past and upcoming calls. Schedule a call opens the New appointment dialog, which starts from the Calendar: every appointment set by hand goes through a booking calendar. The lead’s closer’s personal calendar is picked by default, otherwise the agency one. The duration comes from the calendar and you can change it.
Once date and time are chosen, the Closer field lists only the members of that calendar who are free at that time, and proposes the one with the highest priority (on a tie, whoever received an appointment least recently — see Booking link). You can pick another available closer. If nobody is free, the dialog says No closer available at this time in this calendar and does not save. The time is in the chosen closer’s time zone, shown next to the field. If the agency has no booking calendar yet, the dialog says so and, for admins, offers the Agenda settings link.
3. From the lead’s call date
The call date and time you write on the lead (Leads list, edit, CSV import) automatically become an appointment in the Agenda; and the other way round, the nearest appointment updates the lead’s call date. The two views are always aligned: the Leads list, new-appointment notifications and the timeline keep working as before.
The same goes for the closer: when a lead’s current appointment (the first one scheduled ahead, otherwise the last one not cancelled) moves to another closer — from GoHighLevel, from Google or from the Agenda — the lead moves to the same person and its timeline records Lead reassigned. Editing a call that already happened reassigns nobody, and an appointment with no closer never clears the lead’s.
How SalesControl recognises the contact
When an appointment arrives from GoHighLevel, SalesControl looks for the lead or client in this order and stops at the first certain result:
- GHL contact id: if the contact is already known, that is the one.
- Identical link to an existing appointment: it is the same appointment.
- Email: first an open lead, then a converted lead (the call goes to its client), then a client.
- Phone, in the same order.
Example: Maria Rossi had her discovery call in March and became a client. In April she books an alignment call: the appointment attaches to her client page without creating a duplicate lead. If no rule finds the contact, the lead is created as for any webhook submission. With two contacts sharing the same email SalesControl does not choose on its own: the appointment stays to be linked by hand.
Time zones
- The agency time zone is set in Admin › General (default Europe/Rome).
- A closer working in another time zone sets it in Settings, or the admin does it in Team.
- In the Agenda the time is shown in your browser’s time zone; hovering the time shows the appointment’s own.
Emails to the client
Appointments created in SalesControl keep the person you are meeting informed on their own: a confirmation when you book the call, a reschedule email if you change date or time, a cancellation one if you drop it, and one or more reminders before the appointment. Every email carries date, time in the client’s own time zone and the video call link.
- Only appointments born here: the ones you plan from the Agenda or the lead page, and the ones arriving from the booking link. Appointments imported from GoHighLevel or Google Calendar get nothing: the system that created them already handles that.
- They need a matched contact (lead or client) with an email and a known time: a call with no time sends nothing.
- The reminder lead times are the agency’s choice: 24 hours before by default, but you can set several (say 24 and 3 hours) or none. Each lead time is one email.
- If you move the appointment it all starts over: the client gets the reschedule email and the reminders restart on the new date.
- A reminder does not go out if the appointment was created less than an hour before the reminder’s own moment (booking a call for two hours from now does not fire the “24 hours before” straight away), nor if it has been due for more than two hours: better no reminder than a late one.
- Confirmation, reschedule and reminder emails carry the links to move and to cancel: the client changes the time (with the same closer) or cancels on their own, and the Agenda updates. The cancellation email carries the link to book again. If the calendar the appointment refers to has the The client can cancel the appointment switch off, only the link to move is left: see Booking link.
- When the client hits Reply, the answer reaches your agency, not SalesControl: it uses the reply address configured by the admin, otherwise that of whoever booked the call.
The Client emails for appointments toggle, the lead times and the reply address are set by an admin: see Notification Settings and General Settings.
Statuses
From the card menu (three dots) you can mark the call Done, No-show or No-show closer, edit it or open the lead. A scheduled call whose time has passed stays highlighted until you give it an outcome. These outcomes are written here only: they travel neither to GoHighLevel nor to Google.
Cancelling is a different matter and has its own command: Cancel appointment, the entry in the card menu and the red button in the edit window, which asks for confirmation first. The call is cancelled on the source system too, which is why “Cancelled” is no longer an option in the Status field. See Edit, reassign and cancel an appointment.
What it does not do
- It does not record the video call by itself: recording with transcript and notes does exist, but it is switched on separately — see Call recordings.
- It sends no email to the contact for appointments imported from GoHighLevel or Google: the system that created them already does that.
What it does do: moving, reassigning or cancelling an appointment from here writes the change to GoHighLevel or Google Calendar too, so the sync no longer pulls it back. See Edit, reassign and cancel an appointment.