> ## Documentation Index
> Fetch the complete documentation index at: https://docs.custral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduling

> Share meeting booking links with availability rules; bookings create calendar events.

## Overview

Scheduling lets people book time with you (or your team) through a public link, without back-and-forth email. You define an **event type** (a meeting of a fixed length with its own availability rules and location) and share its booking link. When someone books, Custral checks availability, picks a host, creates the calendar event, and emails both sides.

## Where it lives

Scheduling is split across the two settings scopes, because most of it is personal and some of it isn't:

* **Account → Scheduling** is yours: the event types you own, your booking page, and the meetings you're hosting. Anything you create here is personal.
* **Workspace → Team Scheduling** is what the organization owns: team and organization event types and their booking pages, plus every booking in the workspace so an admin can see what's on the calendar.

A personal event type appears only in your Account screen. Teammates don't see each other's. A team or organization one appears only under Team Scheduling, whoever created it.

Team Scheduling has a **Team / All** toggle on its Event Types and Booking Pages tabs. **All** widens the list to include everyone's personal event types and booking pages, for when an admin needs to audit what's out there. It isn't the default because most of the time that's noise. The Appointments tab has no toggle. It already shows every booking in the workspace.

## How it works

The core entity is an **event type**. Each one has a duration, a location, availability rules, and a public booking link generated automatically when you create it. Event types come in three owner types:

* **Personal**: you are the only host.
* **Team**: hosts come from a group, assigned by a **distribution mode** (Round Robin, Everyone Must Be Free, or First Available).
* **Organization**: workspace-wide hosting.

Availability is set per event type: weekly windows, timezone, slot increment, minimum notice, how far ahead bookings open, buffers before/after, and daily/weekly limits. A **connected calendar** (the calendar on your connected mailbox) is used both to check for conflicts and to create the meeting invite. Without one, invitees get no calendar invite and availability won't account for existing events.

When an invitee books, Custral validates the slot, selects an available host, creates the calendar event (with a Zoom / Google Meet / Teams link when that location is chosen), records the appointment, sends a confirmation to the invitee and a notification to the host, and schedules a reminder. Invitees can cancel or reschedule through a per-appointment link.

## Booking pages

An event type's link books one kind of meeting. A **booking page** is one branded link that lists several of them, so an invitee picks the conversation they want ("Discovery call, Product demo, or Quick question"), instead of you sending three links.

Manage them on either Scheduling screen's **Booking Pages** tab. Your own under Account, the team's under Workspace. A page has a name, an optional blurb shown above the list, a brand colour, and an owner set when you create it (personal, a team, or the whole workspace). Owner is create-only on purpose: re-pointing a page that's already public would silently change who its live link books time with.

To put a meeting on a page, open the event type and set **Booking Page → Listed On** in its **Setup** tab. An event type keeps its own direct link either way, so it can be shared both ways at once.

The **Meetings** column reads from a visitor's point of view. "2 of 4 bookable" means two of the attached event types are still draft or archived, and a page showing "None of 2 bookable" has content but nothing an invitee can pick. The usual cause is event types that were never set to Active.

Archiving a page takes its public link offline without touching the event types on it. Deleting one does the same permanently; the event types survive and keep their own links.

## Booked meetings

Meetings you're hosting appear under **Account → Scheduling → My Meetings**, and every booking in the workspace under **Workspace → Team Scheduling → Appointments**, filtered by **Upcoming**, **Past**, or **Cancelled**. Each row shows the invitee, the event type, the host who was assigned, the start time and length, and the booking's status.

Opening a row shows the full booking: the invitee's contact details, the resolved meeting location, any additional guests, and their answers to the event type's questions, which is usually what you want in front of you before the call.

Cancelling from a row emails the invitee a cancellation notice and removes the calendar event, so it isn't reversible. Only a confirmed meeting that hasn't started yet offers the action; a past or already-cancelled meeting has nothing to cancel.

<Note>
  Rescheduling is the invitee's action, from the link in their confirmation email, the host side cancels instead. That
  keeps the reschedule flow tied to the one-time link that authorizes it.
</Note>

## Using it

<Steps>
  <Step title="Create an event type">
    In **Account → Scheduling** (or **Workspace → Team Scheduling** for a team one), click **Create Event Type**. Set a name, duration, location, and owner type (add a host group + distribution mode for team/org).
  </Step>

  <Step title="Connect a calendar and set availability">
    In the editor's **Setup** tab, choose a connected calendar. In **Availability**, set your weekly windows, timezone, and booking rules.
  </Step>

  <Step title="Publish">
    Set the event type's status to **Active**. The public booking link only works once the event type is active.
  </Step>

  <Step title="Share the link">
    Copy the booking link (`/schedule/<token>`) from the row actions or the **Share** tab, or use the inline / popup embed code.
    In an email, you do not have to paste anything: type `/meeting` in the composer to drop your live times straight into the
    message, each one a booking link ([Composer Commands](/comms/email/commands)).
  </Step>

  <Step title="Confirm a booking">
    Book a test slot. The invitee receives a confirmation email and the host receives a notification; the meeting appears on the connected calendar.
  </Step>
</Steps>

## Troubleshooting

| Symptom                                                     | Likely cause                                                                                   | What to check                                                                                                                |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Booking link says "not yet active"                          | Event type is still Draft                                                                      | Set status to **Active** in the Setup tab                                                                                    |
| No available times shown                                    | No availability windows, or rules too restrictive                                              | Check weekly windows, min notice, max advance days, and daily/weekly limits                                                  |
| Times show on one day but the rest of the calendar is empty | The host's calendar couldn't be read as busy time                                              | Reconnect the calendar; availability is computed from free/busy, so an unreadable calendar shows every slot rather than none |
| Invitee got no calendar invite                              | No calendar connected to the event type                                                        | Select a **Connected Calendar** in the Setup tab                                                                             |
| "This time slot is no longer available"                     | Slot was taken or conflicts with the host's calendar                                           | Pick another slot; verify the connected calendar's busy times                                                                |
| Team event type has no hosts                                | Host group empty or not selected                                                               | Select a host group (create one under Team → Groups first)                                                                   |
| Can't reschedule                                            | Rescheduling disabled for the event type                                                       | Enable rescheduling in the event type's config                                                                               |
| Confirmation/host email never arrived                       | Email send failure or wrong host email                                                         | Check spam; verify the host account has a valid email                                                                        |
| A booking is missing from Appointments                      | The filter, not the booking. A cancelled meeting never shows under Upcoming, whatever its date | Switch to **Cancelled**, or **Past** for anything already started                                                            |
| An event type isn't on the screen you expected              | Personal ones live in Account, team and organization ones in Workspace                         | Check the other scope; the owner is set when the event type is created                                                       |
| A row's host reads "Unassigned"                             | The host's user record didn't resolve (usually a removed member)                               | Check the host group's membership under Team → Groups                                                                        |
| A booking page's link shows nothing to book                 | No **active** event type is listed on it, or the page is archived                              | Check the tab's Meetings column; set the event types to Active and the page to Active                                        |
| An event type isn't on its booking page                     | It's attached but not Active, only active event types are listed                               | Set its status to Active in the Setup tab                                                                                    |

<Note>
  When reporting an issue, include the request id shown in the error toast. It links the in-app error to the server
  logs.
</Note>

## Related

<CardGroup cols={2}>
  <Card title="Composer Commands" icon="slash" href="/comms/email/commands">
    Type `/meeting` to insert live times into an email.
  </Card>

  <Card title="Forms" icon="rectangle-list" href="/comms/forms/overview">
    Embed a booking calendar as a form ending.
  </Card>

  <Card title="Communications" icon="messages" href="/comms/overview">
    Email, SMS, voice, and chat channels.
  </Card>

  <Card title="Conversations & Threading" icon="comments" href="/comms/conversations/overview">
    How customer interactions are threaded.
  </Card>
</CardGroup>


## Related topics

- [Scheduling](/comms/email/scheduling.md)
- [Forms](/comms/forms/overview.md)
- [Change Log](/product/updates.md)
- [Composer Commands](/comms/email/commands.md)
- [Marketing](/start/use/marketing.md)
