App — Calendar
Events, scheduling, recurring routines. Two-way sync with Google / Microsoft.
Events, scheduling, recurring routines. Two-way sync with Google / Microsoft.
| Field | Value |
|---|---|
| Status | GA |
| Owner | @aphaiboon |
| Sidekick-accessible | Read + write |
What it is
Section titled “What it is”A calendar app that’s actually integrated with the rest of the workspace. Every event can be linked to a Project, a Task, a Comms thread, or a Brain doc. Sidekick can schedule events, find time across calendars, and update RSVPs.
- Day — single-day timeline with hourly slots
- Week — Mon–Sun horizontal
- Month — grid
View toggle is a compact icon-only segmented control (bg-muted/40 p-0.5 rounded-lg).
Event form rules (critical)
Section titled “Event form rules (critical)”react-hook-formmay keepstartTime/endTimeasDatein browser; submit serializes to ISO- Time picker (
EventTimeSlotSelect): combobox — open on focus, filter while typing, usepointerdown+preventDefaulton list/options so selection doesn’t fire blur before click - Date picker (
EventDateInput): opening calendar on focus IS allowed; supportsyyyy-MM-ddtyping - Event preview (
EventDetailPreview): usebg-muted(not page-white), dismiss on outside click with single-shot suppression for opening ghost
Sidekick integration
Section titled “Sidekick integration”| Capability | How |
|---|---|
| Schedule event | schedule_event tool — finds time + creates |
| Find time across attendees | find_time tool |
| Update event | update_event tool |
| Query events | query_events tool (with org-scoped + date range filters) |
| RSVP | respond_to_event tool |
Item linking
Section titled “Item linking”Calendar events have an item join table — events can attach to Tasks, Projects, School Workspace items, Comms threads. The linking is bi-directional and the UI surfaces “Related items” on event detail.
Recurring routines
Section titled “Recurring routines”Beyond standard recurring events, Calendar supports routines — daily/weekly habits that show in the Smart Brief and Top Tasks flow.
Sources
Section titled “Sources”Calendar pulls from native CMMD events, Google Calendar (via Marketplace), Microsoft 365 (planned). The current useTeamStore.selectedTeamId filters whose calendars to show.
Data model
Section titled “Data model”| Table | Purpose |
|---|---|
calendar_events | Native events |
calendar_sources | External calendar accounts |
calendar_attendees | Attendee + RSVP status |
calendar_routines | Recurring routine definitions |
Analytics events
Section titled “Analytics events”calendar_event_createdcalendar_event_updatedcalendar_event_deletedcalendar_view_changed(day/week/month)calendar_routine_created
Related
Section titled “Related”- App — Tasks — Top Tasks daily routine integrates with Calendar
- App — Projects — milestone events link to Projects
- App — Comms — meeting invites generate Calendar events
- App — Sidekick — primary user of scheduling tools
- App — Marketplace — Google/Microsoft calendar integrations