Skip to content

Multi-host meeting types

A meeting type can require more than one host. Instead of one person’s calendar, the invitee books a slot where every host is free, and the resulting meeting appears on all hosts’ calendars at once.

  • A meeting type has a creator and up to 9 co-hosts — 10 hosts total.
  • The type only becomes bookable once every co-host has accepted the invitation. Until then it behaves as if it doesn’t exist for invitees.
  • Bookable slots are the intersection of every host’s availability — a time only appears if all hosts are free.
  • One booking creates one calendar event shared by every host; there is no per-host copy to keep in sync.
  • Duration, minimum notice, and booking horizon come from the creator’s meeting-type settings. Working hours and buffers are set by each host individually — see Per-host availability.

Create or edit a meeting type in your owner console at /me as usual, then add co-hosts by username in the Co-hosts field. As you type, a suggestion list of matching usernames appears — this is a progressive enhancement, so the field also works as a plain text input with JavaScript disabled.

Meeting-type form with the co-host add field and current host list Adding a co-host by username on the meeting-type form. The autocomplete suggests matches as you type; without JavaScript, type the exact username and submit.

The type’s slug must be free in every host’s namespace. If the slug you choose already exists under any co-host’s account (or vice versa — one of your existing slugs collides with a co-host’s own meeting types), the form blocks it. This check runs in both directions so no host’s existing links are ever silently shadowed.

Adding a co-host does not make the type bookable right away — each invited co-host must explicitly accept. They are notified two ways:

  • Email — a one-click Accept or Decline link.
  • Dashboard — a pending request appears under a new Shared section on their own /me.

A pending co-host request on the invited host's dashboard, with the matching email A co-host sees the pending invitation both on their dashboard and in their inbox — either one can accept or decline it.

The meeting type stays unbookable — no slots are ever offered — until all co-hosts have accepted. A single decline removes that host from the type; the creator can re-invite or remove co-hosts and adjust the roster from the meeting-type form at any time.

Once a co-host accepts, they configure their own working hours and before/after buffers for that shared type from their Shared page under /me. This is independent of their availability for their own meeting types, and independent of every other host’s schedule.

A co-host's own working-hours and buffer editor for a shared meeting type Each host manages their own hours and buffers for the shared type; calit intersects all of them when computing bookable slots.

Everything else about the type — duration, minimum notice, booking horizon, required approval, custom booking fields — is controlled by the creator and applies the same way to every host.

A shared meeting type is reachable at:

/<anyHost>/<slug>

Every accepted host’s username is a valid alias for the same public booking page — there is no separate page per host. The creator’s URL is the canonical one and is what appears in confirmation, reminder, and other booking emails.

Once the type is fully accepted (every co-host has confirmed) it also appears on each accepted host’s own public landing page at /<username>, alongside their regular meeting types.

The public booking page reached via a co-host's username, showing the intersected slots The same shared meeting type, reached through any host’s username — slots shown are where every host is free.

If the meeting type requires approval, every host must approve a booking before it confirms — not just one. The requested slot is held while the approval is pending, so it can’t be booked out from under the group in the meantime. Any single host declining cancels the whole request; there is no partial approval.

Cancelling or rescheduling a shared booking acts on the whole group — there is one shared calendar event, so a change from any host (or the invitee) applies to all hosts at once. There is no way to reschedule or cancel for only one host while leaving the others booked.

Rescheduling an approval-required shared booking sends it back into the approval queue — all hosts need to approve the new time before it’s confirmed again.

A shared meeting type shows as temporarily unavailable — no bookable slots at all — whenever calit cannot verify that every host is actually free. This happens when:

  • A co-host hasn’t accepted yet.
  • A co-host’s account is disabled.
  • A co-host’s Google Calendar is disconnected.

This is a deliberate fail-closed design: calit will never offer a slot it cannot confirm against every host’s calendar, rather than risk double-booking someone.

The public booking page for a not-yet-fully-bookable shared type, showing the unavailable state Invitees see a plain “temporarily unavailable” state instead of a slot picker until every host is ready.

  • Up to 10 hosts per meeting type (the creator plus up to 9 co-hosts).