Skip to main content
Feature ID: CE-21
Created: 2026-03-31
Status: ✅ Complete

Overview

CE-21 Calendar & Scheduling Integration uses three edge functions for OAuth, sync, and free/busy queries.

Edge Functions

Sync Configuration

Sync poll interval is configured per-organization via ce_module_settings.calendar_sync_poll_interval_minutes (default: 15 minutes, range: 5–60).

Cron Setup

To enable automatic sync polling, create a pg_cron job or Supabase Cron that invokes calendar-sync at the configured interval:

Webhook Setup (Google/Microsoft)

For real-time sync via push notifications:
  1. Google Calendar: Configure a watch channel pointing to {SUPABASE_URL}/functions/v1/calendar-sync
  2. Microsoft Graph: Register a subscription for calendar change notifications

Monitoring

  • Edge function logs: Supabase Dashboard → Edge Functions → Logs
  • Sync failures: Check ce_calendar_events.sync_status = 'error'
  • Connection health: Check ce_calendar_connections.last_sync_at for stale connections

Troubleshooting