Appointments & calendar
Let leads book meetings from a link, manage booking types, availability and the team calendar — Google sync included.
Appointments & calendar
Give a lead a link, they pick a free slot, and the meeting lands in your CRM as a booking attached to the lead — with a calendar entry and reminder automations. This guide covers the booking page link (Appointment Types), the resulting Bookings, Availability per team member, and Calendar connections (Google sync).
Who this is for
-
Admins — create appointment types and hand out booking links.
-
Sales agents — set your weekly availability; work your bookings.
-
Managers — monitor upcoming and no-show bookings.
-
Difficulty: Medium
-
Time: 12 minutes
-
Prerequisites: Admin access for Appointment Types; the
calendarplan feature (visible in your menu).
Part 1 — Create an appointment type (admin)
1. Open Appointment Types
- Go to Settings → Appointments → Appointment Types (
/admin/meeting-types).
Expected result: the list of meeting types with a bookings count per type.
2. Define the meeting
- Click New appointment type and fill in:
- Name and slug (the slug is used in the public booking URL).
- Description — what the meeting is.
- Duration — 15 to 90 minutes (default 30).
- Buffer — minutes of breathing room after each booking.
- Advance notice — minimum hours before a slot can be booked.
- Future limit — how many days ahead people may book.
- Colour, location type and location details (in person / phone / video, with the address or link).
- Lead routing — which pipeline and stage a booking lead lands in.
- Active toggle.
- Save.
Expected result: the type appears in the list with its public booking link and an embed snippet you can paste on your website.
3. Share the booking link
- Copy the booking link (or the embed snippet) from the appointment type.
Expected result: anyone opening the link sees your open slots for this meeting type; a completed booking creates/attaches a lead routed to the pipeline and stage you chose, and sends the visitor a confirmation.
Part 2 — Set availability (each team member)
4. Open your availability
- Go to Appointments → Availability (
/admin/meeting-availability).
Expected result: a weekly grid — for each day of the week, the start and end time you are bookable.
5. Edit your week
- Add or adjust rows (day, start time, end time); add two rows for mornings and afternoons.
Expected result: the public booking page only offers slots inside your availability (minus existing bookings and buffers).
Part 3 — Work bookings
6. Open Bookings
- Go to Appointments → Bookings (
/admin/meeting-bookings).
Expected result: a table of bookings with the guest's name and email, meeting type, host, start time, status badge and a link to the lead. Filter by status, meeting type, or date range.
Statuses:
| Status | Meaning |
|---|---|
| Confirmed | Booked and expected (green). |
| Pending / Scheduled | Awaiting confirmation — reminder automations fire for these too. |
| Completed | The meeting happened (blue). |
| Cancelled | Cancelled (red) — the guest is emailed a cancellation notice. |
| No show | The guest did not turn up (grey). |
7. Cancel a booking
- Open the booking's actions → Cancel.
Expected result: the status becomes Cancelled and the guest automatically receives a cancellation email (MeetingCancelledMail).
Confirmation calls win meetings The Next best action card on Lead 360 flags confirmed appointments starting within 24 hours and suggests a confirming call. Use it — a two-minute call kills most no-shows.
Part 4 — Calendar connections (Google sync)
8. Connect your calendar
- Go to Settings → Appointments → Calendar (
/admin/settings/calendar). - Connect Google (one Google account per user). Once connected, your bookings sync to Google automatically every 15 minutes.
Expected result: new CRM bookings appear in your Google Calendar. Existing Google busy times are respected when the booking page checks your slots.
Outlook is not currently implemented The Outlook option is visible in the interface but marked as a follow-up — it cannot be connected yet. Use Google for calendar sync.
Expected result
A lead can book themselves from a link; the meeting appears as a CRM booking tied to the lead, in your Google Calendar when connected, and both sides get confirmations while automation handles reminders.
Common mistakes
- Booking page offers no slots. Check: availability rows exist for the host, advance-notice and future-limit settings, existing bookings/buffers blocking the day, and the appointment type is Active.
- Booking did not create a lead. Confirm the type's lead routing (pipeline/stage). Duplicate emails may attach to an existing lead instead of a new one — check that lead's timeline.
- Wrong host receives bookings. Availability must be set for the people who host the type.
- Expecting Outlook two-way sync. Not available (see warning above).
Troubleshooting
| Symptom | Fix |
|---|---|
| No confirmation email to the guest | Email delivery needs SMTP configured — see Email & SMTP. |
| Reminder for the meeting did not go out | appointment_approaching automations run every 5 minutes from the scheduler; confirm cron with Cron & queue workers. |
| Google events missing | Reconnect under Settings → Appointments → Calendar; sync runs every 15 minutes (SyncCalendars). |
Technical details
- Admin screens:
App\Filament\Resources\MeetingBookingResource(group Appointments),App\Filament\Resources\MeetingTypeResource(Settings cluster, section Appointments),App\Filament\Pages\MeetingAvailabilityPage,App\Filament\Pages\Settings\CalendarConnectionsPage. - Models/tables:
meeting_types,meeting_bookings; availability is a per-user weekly repeater (day 0–6, start/end time). - Public booking pages live off the appointment type's link; the embed snippet is provided in the UI.
- Reminders:
CheckAppointmentApproachingruns every 5 minutes and firesappointment_approachingautomations (per-automationhours_before, default 24, for confirmed/scheduled/pending bookings). - Cancellations send
MeetingCancelledMail. Google sync:leadhub:sync-calendarsevery 15 minutes viaGoogleCalendarSyncService; one Google and one Outlook connection per user (Outlook disabled). - Plan feature:
calendar.
Related guides
- Follow-ups & tasks — the task list and the task calendar.
- Lead 360 view — the lead behind each booking.
- Calendar sync — the integration in depth.
- Client onboarding from zero — appointments during setup.
Was this page helpful?
Thanks — noted. ✦