Google Calendar
Connect Google Calendar to Project88 — read events, create events, run reminders, and let agents schedule on your behalf.
The Google Calendar integration connects your calendar via Composio OAuth. Once connected, every agent has calendar tools available by default.
Connect
⌘K→ Settings → Connections- Search "Google Calendar" in the dynamic catalog.
- Click Connect. OAuth popup → callback page → token stored encrypted in Supabase Vault.
The Calendar mode lights up immediately and the calendar tools become available to agents.
Tools exposed
| Tool | What it does |
|---|---|
GOOGLECALENDAR_EVENTS_LIST | List events in a date range |
read_calendar_events | High-level read (auto-fallback) |
create_calendar_event | Create an event with attendees |
The read_calendar_events and create_calendar_event tools have built-in
auto-fallback: they try Google first, then Microsoft Outlook if no
Google connection is found. So your agents work with whichever calendar
provider you've connected — you don't have to swap the tool name.
Calendar mode
The Calendar mode renders three panels:
- Mini calendar with event dots + day/week toggle + event legend
- Day or week schedule with color-coded event cards
- Event detail panel — type badge, time, location with Join Meeting link, description, attendees with RSVP status, and quick actions
Mirroring into Project 88
User-initiated events created against a Google calendar through the
in-app create flow are atomically twinned into your default
Project 88 calendar via the mirror_google_event_user_create RPC,
sharing a mirror_group_id. Sync ingestion from Google does not
mirror — otherwise every synced event would balloon into a second
P88 row. Edits made directly inside Google.com will drift on the twin
until you touch the event from Project 88. See
Calendar → The default Project 88 calendar
for the full mirror-write story.
Hiding noisy Google calendars
Imported sub-calendars (US Holidays, secondary accounts) can be removed from the sidebar via the gear icon → Remove from my calendar list without disconnecting the integration. They land in a collapsible Hidden section with a one-click restore. The hide flag survives Google sync re-imports (it's stored separately from the soft-delete flag the sync path resurrects on conflict).
Reminders
The calendar-reminders Supabase Edge Function runs on a schedule and
emits reminder events for upcoming meetings into the org.