Skip to main content
Loading...
Help Center / Apps & Extensions / Appointment Scheduler App Overview

Appointment Scheduler App Overview

Appointment Scheduler

1. What it is

Appointment Scheduler lets employees publish booking pages at /meet/<booking-link> on your organization’s domain. Invitees — external customers, candidates, vendors, or colleagues — pick an open time and the meeting lands on the host’s calendar automatically, with no back-and-forth email.

  • Enablement: Appointment Scheduler requires a license. An admin enables it from Admin → Apps → All Apps; it is off by default.
  • What it is not: Appointment Scheduler is the external-facing booking surface. It is not Interview Hub (which coordinates multi-round interview panels tied to Job Board applicants) and it is not the Calendar app (which manages internal events and recurring meetings).

2. Standing it up

  1. Go to Admin → Apps → All Apps and enable Appointment Scheduler. Then choose Publish to users, or use Manage User Access to limit it to the users or groups who will host booking pages. Until then, only admins and people given an app role can open it, though existing /meet links keep taking bookings.
  2. Go to Apps → Appointment Scheduler → Settings. Review the defaults — every switch is on except SMS reminders, and anyone with access to the app may publish pages people outside the organization can book. These settings apply to the whole organization. Hosts can’t change them, with one exception: each meeting type can set its own reminder lead time in place of the organization’s default.
  3. Have each host go to Apps → Appointment Scheduler → Booking Pages and create a page. A new page starts with a default “30-minute meeting” type and Monday–Friday 9:00–17:00 availability in the page’s time zone (your own zone if you’ve set one, otherwise your organization’s).
  4. The host edits their page to add or rename meeting types, adjust weekly availability windows, and set any date overrides (days off, custom hours).
  5. Share the page’s booking link from its Share this page card — https://<your-domain>/meet/<booking-link> — or embed it on an external website. Invitees can now book.

What silently blocks bookings: a booking page that has expired, or one with no active meeting type or none of its hosts still an active member of your organization (and no routing question that still leads somewhere), shows as “unavailable” even when active. If your organization’s Allow booking via public /meet pages (applies to everyone, including colleagues) setting is off, every booking page shows as unavailable — to signed-in colleagues as well as outside invitees.

3. How it fits together

Booking page — the published surface an invitee visits. Each page has an owner, a booking link (the part after /meet/, unique in your organization), a time zone, and a visibility setting. A page can be solo (one host) or team (multiple hosts sharing one link). The page form offers three visibility choices:

  • Link only — not listed anywhere (the default) — anyone with the link can book, and the page isn’t listed in the Directory or on your profile.
  • Listed in the Directory — anyone with the link can book — the page appears in the in-app Directory, and anyone with the link can still book it, signed in or not. A solo page can also be what the Book time button on your profile and people-search card opens; a team page is listed in the Directory only, marked as a team page, because any teammate may host the booking.
  • Listed internally — invitees must sign in to book — listed in the same places, but only a signed-in member of your organization can book it.

An admin can limit who may publish pages that people outside the organization can book (Settings → Who can publish booking pages people outside the organization can book?); for anyone that setting leaves out, the first two choices are locked in the page form and a new page starts as Listed internally. A page that already takes outside bookings keeps its setting, and its owner can still take it out of the Directory (Link only) or list it internally.

Meeting type — a bookable kind of meeting on a page (“30-min intro call”, “60-min consult”). Each type carries its own duration, location (Video call, In person or Phone call), buffer times, minimum notice period, bookable window, and optional daily cap (Max bookings per day — not yet for collective types). A page can have several types; the invitee picks one before choosing a time. The default duration is 30 minutes, the default bookable window is 60 days, and the default minimum notice is 4 hours.

Availability — two layers control when a host’s times are offered:

  • Weekly rules — recurring windows per weekday (e.g. “Monday 9:00–12:00 and 13:00–17:00”). A new page starts with Monday–Friday 9:00–17:00.
  • Date overrides — a specific date that is either closed entirely or open with custom hours, replacing the weekly rules for that day.

Both are read in the page’s time zone, so a teammate in another zone works out their hours from there.

Busy time from the host’s calendar, synced Google events, Outlook free/busy (via Microsoft Graph), approved leave, and confirmed appointments is subtracted automatically, so the invitee sees the times that show as free, and the chosen time is checked again — with a live Outlook free/busy read — when they confirm.

Who hosts — set on each meeting type, it governs how bookings are distributed across hosts on a team page:

  • One host (the page owner) — one host. On a team page whose owner has stopped hosting it, this reads One host (the first active teammate on the team list).
  • Round-robin — rotate among teammates — the invitee sees the union of every teammate’s free time. The booking is assigned to the teammate who was assigned longest ago (rotation). A teammate who has hit the daily cap drops out of the rotation for that day. Moving a booking keeps its host while they’re free at the new time; otherwise it rotates. A signed-in colleague is never made their own host, so times only they could host aren’t offered to them.
  • Collective — every teammate attends — every teammate must be free at the same time, and all of them attend the meeting.
  • Group — one host offers a session with a seat capacity (2–500 seats). When a session is full, invitees can join a waitlist. They are emailed when a seat opens (a cancellation, a move, or seats the host adds) while the session can still be booked; a colleague who joined signed in with no email is told in their notifications. While people wait, the session’s host and the page’s owner get a notice so they can add seats.

A worked example: a 3-person Sales team creates a team booking page with a “30-min demo” meeting type in round-robin mode. A prospect visits /meet/sales-demo, sees all times where at least one teammate is free, and picks Tuesday at 2 PM. The platform assigns the booking to the teammate whose last assignment was the oldest — say, Jamie — re-checks Jamie’s availability for conflicts (live, for an Outlook calendar), creates the calendar event, sends the prospect a confirmation email with a calendar attachment, and notifies Jamie. If Jamie had hit the daily cap, the next teammate in rotation would have received it.

Calendar integration — a confirmed booking normally creates a calendar event on the host’s calendar; if it can’t, the booking still stands and the appointment’s history says so. All the seats of a group session share one event. Video calls use the host’s saved meeting-link provider (Zoom, Teams, etc.); if no link is saved, the event falls back to an in-person event the host can update. Collective bookings add every teammate as an attendee so the meeting lands on all their calendars. Moving or deleting the meeting in Google Calendar changes nothing here: the host is told to do it from the app instead.

Routing — a booking page can display a routing question before any times. Each option the invitee can pick sends them to a different booking page (up to 10 options). This steers invitees to the right host or team without requiring them to know your internal structure. Options whose target page can’t take a booking — deactivated, expired, deleted, or left with no active meeting type or nobody left to host — are hidden from invitees. Invitees can skip the question with None of these — book here unless you turn on Require an answer, and an option leading to a page listed internally is marked Sign in required. A page can be routing-only, with no meeting types of its own.

Branding and embedding — each booking page can carry a logo (from the Asset Library or a pasted image URL), accent color, and welcome message. Hosts can list up to 10 external domains (bare hostnames like example.com) that are allowed to embed the page in an iframe. The CSP header is extended only for those domains. On a page listed internally, the Email signature snippet warns that people outside your organization can’t book from it.

Custom questions — each meeting type can ask the invitee its own intake questions. Open the meeting type, expand Questions for the invitee, and choose Add question: give it a label, pick a short answer, a paragraph, a drop-down (one choice per line) or a checkbox (a required checkbox must be ticked to book), and tick Required if it must be answered. Required questions are enforced when the invitee books; the answers appear on the appointment detail page and in the description of the host’s calendar event. Editing a question’s wording keeps the answers already given attached to it.

Integrations that fire automatically on booking:

  • Bookings (room reserve) — an in-person meeting type can auto-reserve a linked Space from the Bookings app. The room moves with a reschedule and is released on cancellation. Only people the Bookings app lets book rooms can pick one.
  • Guest Pass (visitor pre-registration) — an in-person meeting type can pre-register the invitee as a Guest Pass visitor, so reception expects them on arrival. The visit follows your Guest Pass approval settings, and the host is notified when it needs approval. If your Guest Pass settings let hosts approve their own visitors and a reschedule gives the meeting to a different host, an approved visit goes back to pending for the new host unless they gave that approval themselves — an approval from the previous host, or from a host reception had assigned, doesn’t carry over. The exceptions: an approval from a Guest Pass approver in their own right (someone Guest Pass’s Who can approve a visitor? setting names — managers and above by default — or a Guest Pass app admin) carries over, and the new host’s own auto-approve setting approves the visit for them. A colleague who booked with no email isn’t pre-registered.
  • Mango CS (CRM link) — when the invitee’s email domain or contact record uniquely matches a CRM account, the booking is linked and a meeting activity appears on the account timeline. A colleague who booked with no email gets no CRM link.
  • AI Front Office (instant booking) — an AI Front Office admin can link one of its services to a meeting type, and its online booking widget then lists that service with a link to the meeting type’s times.
  • Internal invitee recognition — a colleague who books while signed in finds their own work email filled in, and a booking made with it is theirs: the meeting lands on their calendar and they get an in-app notice with a manage link. With any other address in the Email field — someone they’re booking for, or an address of their own when they have no email on file — the form asks This booking is for me — add it to my calendar, unticked. Ticked, the meeting lands on their calendar and they get the in-app notice, whatever email they typed. A colleague with no email on file finds the box already ticked and the field reading Email (optional): left blank, their confirmation, any change and their reminder come in their notifications, and they can join a full session’s waitlist the same way. Typing an address clears the tick. A group session is the exception: a seat booked with their own email, or with the box ticked (there it reads This booking is for me), is recorded as theirs but adds nothing to their calendar — they get the confirmation email and calendar attachment like every other seat, and the in-app notice. With the email left blank, the in-app notice is their only confirmation. Anyone else they book for gets the confirmation email like any other invitee.

4. Running it

Creating and editing booking pages

Go to Apps → Appointment Scheduler → Booking Pages. Search finds a page by its title or its booking link, pasted whole if you like; admins can also search by owner and filter by visibility. New pages open in a drawer; the full-page editor opens after creation. In the editor, configure meeting types, weekly availability, date overrides, teammates (for team pages), and routing, and set Page expires to choose the date a page stops taking bookings. Duplicate a page to copy its settings, types, upcoming availability and the teammates who can still host, as an inactive draft; the notice names anyone or any room left off. A page that has ever had an appointment — upcoming, past or cancelled — can’t be deleted, and cancelling its appointments doesn’t change that; deactivate it instead. A deactivated page’s link shows as unavailable and takes no new bookings, while people already booked keep their time and can still cancel, but can’t pick a new time themselves.

Only a page’s owner, or an admin, can open its editor. The editor’s Team card marks anyone who Can’t open Appointment Scheduler: invitees can still book them, but they can’t see or manage those appointments until they’re given access to the app or removed from the team.

Pages are created and edited on a computer. On a phone, you can work with appointments (list, details, cancel, move, no-show), page links and the team pages you host on.

Hosting on a colleague’s team page

When a colleague adds you to their team page, you get a notification, and your Dashboard (and the mobile app) lists the page under Team pages you host on, with the weekly hours set for you and a Leave team button. You can change your own hours there yourself: Set my hours next to the page opens your weekly hours and date overrides for that page (on the phone too). Everything else about the page stays with its owner or an Appointment Scheduler admin in the page editor. Leaving stops new bookings from that page; appointments already booked with you stay yours. If fewer than two people are left, its round-robin and collective meeting types switch to a single host, and the page goes back to solo scheduling unless its owner had stopped hosting it — then the remaining teammate keeps hosting it as a team page. The owner is notified.

When a host or page owner leaves

Nothing is cancelled and no invitee is emailed. The page’s owner — or, when the owner is the one who left, the app’s admins — gets one notice listing the upcoming appointments the leaver was hosting, page by page, so a person can reschedule, cancel or keep each one from the Appointments list. When the leaver owned an active team page that their teammates still host, the app’s admins are told it needs a new owner — even if no meetings were left behind. An admin can hand a page over to someone else with Change owner in the page editor. A team page’s owner who wants to stay the owner but take no more bookings can Stop hosting on the page’s Team card, while at least two other active hosts remain.

Reviewing and managing appointments

Go to Apps → Appointment Scheduler → Appointments. Three tabs: Upcoming (confirmed, including in-progress), Past (completed and no-shows), and Cancelled & rescheduled (cancelled meetings, and the original of each moved one, which says where it moved to). Search by invitee name or email, or filter by booking page. Export the filtered list as CSV.

The list shows the meetings you host, every booking on pages you own (including ones round-robin, collective or group assignment gave to a teammate), and collective meetings you attend as a co-host. Admins and app-admins see every appointment in the business. The CSV export, the Dashboard’s upcoming list and Analytics cover the same appointments. The My Appointments widget on your home dashboard counts only the meetings you host or co-host and opens the list narrowed to them; Show all widens it again. When you have none, it says how many are with teammates or, for an admin, with other hosts.

From an appointment’s detail page, its host, the owner of its booking page, or an admin can:

  • Cancel — the invitee receives a cancellation email, with your reason if you give one, and the calendar event is removed. For a colleague who booked with no email, the screen says how they were told: in their notifications or, once they’ve left your organization, that nobody was told.
  • Reschedule — pick a new time from the same page’s live availability. You can do this even while the page or public booking is off. The invitee receives a dedicated “appointment moved” email naming the time it moved from, or a plain confirmation for the new time when an admin has turned that email off in Settings. Either email updates the entry already on their calendar, so the old time is never left behind.
  • Mark no-show / clear no-show — record whether the invitee attended (past confirmed appointments only). This is bookkeeping only; no email is sent. Clearing a no-show within 3 days of the meeting lets its follow-up note go out if it has not been sent yet.

The other hosts of a collective meeting can open it but can’t change it — they don’t see these controls or the invitee’s self-service link.

Bulk cancel is available from the list view (up to 25 at a time) for the appointments you can change.

In Ask AI, “my appointments” means the meetings you host or co-host, and “my booking pages” the pages you own or are on the team of — for admins too, who can still open any appointment by its ID.

Invitee self-service

Every confirmation email includes a secure manage link. The invitee can cancel or reschedule from that link without signing in, and Add to calendar on that page downloads the invite again. On a page listed internally, picking a new time needs a member’s sign-in, so someone outside your organization can cancel but not move it. The same goes for a meeting type or page that has stopped taking bookings. The link keeps working even if an admin turns off public booking: the invitee can still cancel, but can’t move the booking themselves until public booking is back on.

Email lifecycle

The app sends these emails to invitees:

  • Confirmation — sent on booking, with a calendar attachment (ICS), except to a colleague whose calendar already has the meeting. Includes the host’s meeting link (for a video call) or location, the invitee’s answers, and the manage link.
  • Reminder — sent at the configured lead time (default 24 hours), with the same calendar attachment. A booking made later than that is reminded shortly before the meeting; one made at the last minute gets no reminder. The host gets the same reminder in their inbox, by email and as a push notification.
  • Rescheduled — sent when a booking is moved, while Send a dedicated “appointment moved” email on reschedule is on. It names the time the meeting moved from and carries one calendar update that moves the invitee’s existing entry to the new time. With the setting off, the invitee gets a plain confirmation for the new time instead, which updates the same entry.
  • Cancellation — sent when a booking is cancelled, with a calendar cancellation that removes the entry.
  • Follow-up — sent after the meeting ends, but only when the meeting type carries a follow-up note. The note is the opt-in; there is no separate toggle. No calendar attachment. A 12-hour minimum age gives the host time to mark a no-show before the thank-you goes out.
  • Waitlist emails (group sessions only, no calendar attachment) — one confirming the invitee joined the waitlist, with a link to leave it; one telling everyone waiting that a seat opened, with a link to book it; and one sent after the session starts if no seat opened for them. A colleague who joined signed in with no email gets the same three in their notifications.

A colleague who booked for themselves with no email gets the confirmation, any move or cancellation, and the reminder in their notifications instead of these emails, and no follow-up.

Monitoring with Analytics

Go to Apps → Appointment Scheduler → Analytics. The dashboard covers the last 90 days and shows: upcoming count, completed count, cancellation rate, no-show rate, average booking lead time, bookings-per-week trend (8 weeks), and breakdowns by booking page, meeting type, host, and booking source. It counts the same appointments as your Appointments list; admins see the whole business.

Using the Directory

Go to Apps → Appointment Scheduler → Directory. This lists each booking page set to Listed in the Directory or Listed internally that can take a booking and whose owner is still an active member of your organization, searchable by page title or owner’s name. Any app user can browse the directory and book a colleague — it is not admin-restricted.

Shift-aware availability

On the booking page editor, the page’s owner can set Shift awareness, which ties offered times to each host’s published shifts from the Shifts app:

  • Only during published shifts — times are only offered where the host’s published shift times and their weekly hours overlap. Use this for frontline staff who should only take appointments when they are scheduled to work.
  • Never during shifts — the host’s shift times are treated as busy. Use this for staff who should only take appointments outside their floor shifts.

With Ignore shifts (the default), shifts play no part and availability is governed entirely by the weekly rules and date overrides.

5. Settings

All settings are at Apps → Appointment Scheduler → Settings. Only admins and app-admins can access this page.

Each setting below is named exactly as it appears on the Settings page.

Setting Default What it changes
Appointment Scheduler Agent (Ask AI) On Let the Appointment Scheduler agent answer booking questions in the Ask AI sidebar and, with confirmation, create booking pages, switch a page’s link on or off, cancel and reschedule appointments, or mark a past one a no-show. It also turns on the “Describe it and let AI fill the form” bar on this app’s forms.
Allow booking via public /meet pages (applies to everyone, including colleagues) On When off, every booking page in your organization shows as unavailable — to signed-in colleagues as well as outside invitees — and the colleague Book time buttons disappear from profiles and people search, and the Directory’s Book buttons are disabled. Anyone who already has a booking can still cancel it, but can no longer move it themselves.
Who can publish booking pages people outside the organization can book? Everyone with access to the app Pages set to Link only or Listed in the Directory can be booked without signing in. People this policy leaves out can still publish pages listed internally, which invitees must sign in to book, and pages already open to outside bookings keep working. Appointment Scheduler admins can always publish either kind of page.
Send email reminders before appointments On The invitee gets a reminder email, and the host gets the same reminder in their inbox, by email and as a push notification. SMS reminders and post-meeting follow-up emails are not affected — SMS has its own setting below, and a follow-up goes out only when the meeting type has a follow-up note.
Default reminder lead time (hours) 24 Between 1 and 168 hours (7 days); other values are adjusted to the nearest limit, and leaving the box empty saves 24. Applies to email and SMS reminders alike, and a meeting type’s own Reminder lead time overrides it.
Send SMS reminders to invitees who opt in Off Works independently of email reminders. Requires the invitee to have given a phone number and ticked the opt-in on the booking form. Uses your organization’s SMS quota, and no texts go out until SMS is set up for your organization (Admin → General Settings → SMS Settings).
Treat approved leave as busy time On Hosts on approved leave are never offered as available. Turn this off only if leave is not kept up to date in your organization.
Send a dedicated “appointment moved” email on reschedule On Names the change and shows the invitee the time it moved from. When off, they get a plain confirmation for the new time instead. Either email updates the entry already on their calendar — the old time is never left behind.
Notify a booking’s other hosts and participants, not just the primary host On Covers a collective meeting’s other hosts, and anyone else added to a booking’s calendar event — they get the booked, moved and cancelled notices too. With this off they are told nothing on any channel. (The meeting lands on their calendar either way.)
Alert hosts when part of a booking fails — the host’s calendar, a room or a Guest Pass On Covers a host calendar we could not read (the time was treated as free and booked anyway), a calendar event that was never created, a collective booking’s co-hosts left off it, a failed room auto-reserve, and a Guest Pass visit that failed or stayed at the old time after a reschedule. With this off the host only sees it in the appointment’s history.

6. More help

  • Appointment Scheduler FAQ — specific setup and operating questions.
  • Ask AI — the assistant answers questions about Appointment Scheduler from these articles.