Skip to main content

granola-sync

Polls Granola's public API for meeting notes. Granola has no webhooks, so polling is the entire freshness story — with a 72-hour trailing overlap on updated_after, because Granola only returns a note once its AI summary and transcript both finish generating.

{ "dryRun": true }
{ "limit": 25, "lookbackHours": 72 }

A note overlapping an existing non-Granola meeting source within ±30 minutes is skipped, so Fathom stays primary and Granola only fills the gap where a recording bot never joined. Full connector detail is on the Granola connector page.

Where the code lives

  • sable-agents-demo/supabase/functions/granola-sync/index.ts
  • sable-agents-demo/supabase/functions/_shared/granola.js