Calendar integration is read-only. OpenIndex ingests events from ICS sources but does not write back to external calendar providers.
What you get
Once you add a calendar source, OpenIndex:- Fetches and normalizes events from the ICS URL
- Merges external events with your scheduled work items in the
calendar dayandcalendar weekviews - Materializes availability blocks you can query via
GET /availability-blocks - Re-syncs automatically every 5 minutes
Adding a calendar source
- CLI (calendar command)
- CLI (settings command)
- API
Listing calendar sources
Manually triggering a sync
If you want to pull the latest events without waiting for the next automatic sync:POST /calendar-sources/:id/sync.
Viewing the calendar
calendar week returns a 7-day window starting from --start-date. If you omit the date, it defaults to today.
calendar event returns full details for a single event ID from the day or week output. Pass --include-raw-payload to see the raw ICS data for that event.
Viewing availability blocks
Availability blocks are derived from your calendar sources and scheduled work items. You can query them directly:Sync cadence
| Trigger | Behavior |
|---|---|
| Source created | Immediate sync attempt |
| Cron job | Every 5 minutes for all active sources |
| Manual trigger | On demand via CLI or API |
Deleting a calendar source
DELETE /calendar-sources/:id. Deleting a source removes it from future sync runs. Previously ingested events are also removed.