WorkestraDocs
PlatformCalendar & Scheduling

Calendar Dashboard

A four-tab command center — overview stats, all your bookings, every event type you've built, and your routing forms.

The /calendar page is the host-side command center for everything scheduling-related in your workspace. It's organized into four tabs so you can move from a quick situational read to deep list management without ever leaving the page.

Calendar dashboard overview tab

Screenshot needed — /calendar with the Overview tab showing stats cards and upcoming mini-list

The four tabs

Overview

The default landing tab. Gives you the pulse of your scheduling activity at a glance:

  • Stats cards — Total bookings, Completed, Cancelled, and No-show rate over your selected date window
  • Upcoming — The next five confirmed meetings across all your links, with attendee name, time, and a Join button when a meeting URL is set
  • Event types — Every booking link you've created, shown as a card grid. You can toggle a link on/off directly from here without going into settings

This tab is built for the first thing you do in the morning: scan what's coming up, check the week's numbers, toggle a link off if you're heads-down.

Bookings

The full booking list with search, per-bucket sub-tabs, and inline actions.

Sub-tabs (with live count badges):

Sub-tabWhat it shows
UpcomingConfirmed meetings with starts_at ≥ now, oldest-first
PendingBookings awaiting your approval (only appears on links with "Requires confirmation" turned on)
PastConfirmed + completed meetings whose starts_at is in the past, newest-first
No-showMeetings you've marked as no-show
CancelledMeetings cancelled by the attendee or by you

Search filters across attendee name and email in real time.

Inline actions per row depend on status:

StatusAvailable actions
Confirmed (upcoming)Mark no-show
PendingApprove, Decline
Past (confirmed/completed)Mark no-show
No-show
Cancelled

Rescheduled meetings don't appear as ghosts in Past — only the new confirmed row counts. The original rescheduled row is kept in the database for audit but hidden here to avoid double-counting.

Event Types

All your booking links, displayed as a card grid with a colored left accent per event type:

ColorEvent typeWhat it means
Sky blueOne-on-oneSolo meeting, your calendar checked
VioletRound-robinRotates across a pool of hosts
IndigoCollectiveAll listed hosts must be free
EmeraldGroupOne slot, multiple attendees up to a cap
OrangeInstantNo slot verification — link fires immediately

Each card shows the title, slug, duration, and a colored "Active" / "Inactive" badge. The Active toggle switches a link on or off without leaving the tab. The actions menu on each card gives you Copy link, Edit (goes to /settings/booking-links/<id>), and Delete.

Routing Forms

Lists every routing form you've created for the workspace. Each form routes respondents to a specific booking link — or shows a custom message — based on their answers. See Routing Forms for full setup instructions.

Routing Forms tab

Screenshot needed — Routing Forms tab showing two active forms with field/route summary

Other tabs

The dashboard has additional tabs that surface as you enable features:

TabWhat's thereDocs
WorkflowsTrigger × action automationsWorkflows
SchedulesMulti-link availability patterns + holidaysSchedules
PollsOpen and finalized meeting pollsMeeting Polls
One-offOne-time scheduling pagesOne-Off Meetings
Single-useTokenized contact-scoped linksSingle-Use Links
RecapsAI Notetaker recaps from past meetingsAI Notetaker & Recaps
AnalyticsBooking stats, host breakdown, peak-hours heatmap, conversion funnel

Admin toolbar

If you're a workspace admin, the top-right of the dashboard shows an admin toolbar with four buttons:

ButtonGoes to
Admin Center/calendar/admin — KPI tiles, missing integrations, pending invites
Managed Events/calendar/admin/managed-events — admin templates with section locks. See Managed Events.
Team Pages/calendar/admin/team-pages/team/<slug> landing pages. See Team Pages.
User Management/settings/teams — workspace members, roles, seats

These don't appear if you're a regular workspace user — only admins and owners.

Other workspace members can grant you view or edit permission on their booking links — a Calendly "shared event types" equivalent. Shared links appear on the Event Types tab with a small "Shared" status badge. They're not draggable in your link list (you don't own them) but you can click through to view (and edit, if granted).

Availability insights badge

A chip near the top of the dashboard shows which workload bridges are constraining availability this week. Hover for a breakdown:

3 hosts on PTO this week (alice through Friday, bob through Tuesday, charlie all week) 2 FSM dispatches blocking 5 focus blocks across 3 hosts

Useful as a "why is my schedule so empty?" sanity check. See Availability Bridges for the underlying data sources.

Calendar disconnect banner

If any of your connected calendar tokens have expired or been revoked, a <CalendarDisconnectBanner> surfaces at the top of /calendar and /settings/integrations until you reconnect. Reads as: "Your Google Calendar connection needs reauthorization — bookings on <link> are not syncing to your calendar." Click-through goes to the integration's reconnect flow.

What this page is not

  • Not a month-grid calendar — there's no visual timeline view yet (planned for Phase 2 of the scheduling roadmap)
  • Not where you configure booking links — the setup wizard lives at /settings/booking-links
  • Not a CRM activity log — for contact and deal history, look at the contact or deal detail page in CRM. Bookings auto-create those records, but the source of truth for activity history lives there

Performance

Each bucket is fetched independently with its own Supabase query (status filter applied server-side). Default cap is 200 rows per bucket. The TanStack Query cache slices by workspace + bucket, so flipping between sub-tabs is instant after the initial load. Invalidation on any approve / decline / no-show action is scoped to ["scheduling", "events", workspaceId], which refreshes all open sub-tabs in one pass.