ICS calendar sync: subscribe to a case chronology
A case chronology is only useful if the team can see upcoming moments where they already live — on a phone or desk calendar. exhibit.law speaks ICS both ways: a subscribe feed out, and .ics upload in.
Neither path is a two-way sync with Google or Outlook as the system of record. Postgres in the active case stays authoritative for review state, notes, and linked exhibits.
Subscribe: a bearer feed for one matter
Case members with read access can mint a feed token for the active case and paste the feed URL into Apple Calendar, Google Calendar, Outlook, or any client that polls ICS. The token is the entire authorization — calendar apps do not send your exhibit.law session cookie.
The feed is scoped to that grant’s case only. Revoking the token or deactivating the user stops the feed. Unknown or revoked tokens return the same not-found response so the URL cannot be used to probe which tokens exist.
- Mint or revoke the token from case access settings (per grant)
- Expert grants with tag scopes see only in-scope events — a zero-tag Expert gets an empty calendar, not an error
- A bounded time window and event cap keep the feed from becoming an unbounded dump
- Responses are private, no-store — the token rides in the query string on purpose for calendar clients
What the feed emits (and what it does not)
Each VEVENT carries title, start, and duration (with proper timezone / VTIMEZONE handling so a Denver hearing does not shift under Outlook). It does not ship transcript text, long descriptions, or notes — a leaked subscribe URL should not exfiltrate the case corpus to a third-party calendar host.
Upload-time placeholder dates are excluded from the feed unconditionally. A fabricated appointment on someone’s phone is worse than an empty slot. Undated drafts stay in Review until a person sets a real moment.
Import: drop an .ics into the case
Upload a .ics (or text/calendar) file on the ordinary upload path. The import job creates timeline events from VEVENTs — hearings, deadlines, conferences — with provenance marked as imported from ICS. The source file remains as media for custody and dedup, but it is not linked as a timeline “exhibit” the way a body-cam clip is.
Re-importing the same calendar is idempotent on the import link so reclaim or a second pass does not duplicate the docket. User-visible notes can carry location and similar calendar fields; raw UIDs and import markers stay out of the note body.
One event as a file
From the calendar or event detail, readers can also download a single event as .ics when they need to hand one hearing to someone who will not subscribe to the whole matter feed.
Try subscribe + import
Open a case you control, mint a feed token, add the URL in your phone’s calendar app, approve a dated event in Review, and confirm it appears. Separately, upload a small .ics from counsel’s scheduler and check the new events’ “Imported from ICS” provenance.
Related: case timeline and chronology, Exhibits browser, and discovery management.