Skip to main content

Granola

note

Beta: This page contains beta features and may change.

Use the Granola connector to index AI-powered meeting notes from your Granola workspace in Glean. Granola captures, transcribes, and summarizes meetings without requiring a meeting bot by running as a desktop or mobile app that records audio locally.

Supported features

  • Indexes Granola meeting notes including AI-generated summaries and full transcripts.
  • Indexes Team space notes via a workspace-level Enterprise API key, and personal (My Notes) content for individual users via per-user personal API keys.
  • Stores searchable metadata such as attendees, calendar event details, and note creation and modification timestamps.
  • Supports incremental sync so only notes modified since the last crawl are re-fetched.
  • Opens each result in the corresponding Granola note URL.

Connect to Granola

Glean supports two complementary auth modes for Granola:

  • Workspace Enterprise API key (admin-set): indexes all Team space notes and makes them searchable to every workspace member.
  • Per-user personal API key (user-set): each user can connect their own personal API key from the Granola toggle in the right-hand panel of the Glean search results page to index their personal (My Notes) content. Personal notes are visible only to the user who connected the key.

The Enterprise API key is required. Per-user personal API keys are optional and additive.

Prerequisites

  • A Granola Enterprise plan is required to use the Enterprise API.
  • A workspace admin must generate an Enterprise API key.
  • For per-user personal notes, the workspace admin must enable the personal API key toggle on the Granola plan so that individual users can generate their own personal API keys.

Step 1: Generate an Enterprise API key in Granola

  1. Log in to the Granola desktop app as a workspace admin.
  2. Go to Settings > API > Create new key.
  3. Select Enterprise API key and click Generate API Key.
  4. Copy the API key. You will need to enter this in the Glean configuration step below.

Step 2: Enter the connection details in Glean

  1. In Glean, go to Admin console > Data sources > Add data source and select Granola.
  2. Enter a display name for the data source.
  3. Paste the Enterprise API key you copied in the previous step into the API key field.
  4. (Optional) In Base URL, enter your workspace's API endpoint. If left blank, Glean uses the default: https://public-api.granola.ai/v1.
  5. Click Save. Glean validates the API key by making a test request to the Granola API.

Step 3 (Optional): Connect a personal API key to index personal notes

After the workspace connection is set up, individual users who want their personal (My Notes) content to be searchable in Glean can connect their own personal Granola API key:

  1. In Granola, go to Settings > API > Create new key and generate a Personal API key. Copy the key.
  2. In Glean, run any search and open the right-hand panel on the search results page. Toggle the Granola switch on and paste your personal API key when prompted.

Glean will index your personal notes on the next crawl. If a user's personal API key becomes invalid or expires, Glean stops indexing that user's personal notes; the workspace crawl continues unaffected.

What Glean crawls

Glean indexes Granola meeting notes from your workspace's Team space, and — when users connect a personal API key — their personal (My Notes) content. For each note, Glean fetches:

  • Note title (falls back to the calendar event title or "Meeting on {date}" if no title is set)
  • AI-generated summary (markdown)
  • Full meeting transcript with speaker attribution
  • Note owner name and email
  • Attendee names and emails
  • Calendar event metadata including event title, organizer, invitees, and start and end times
  • Folder membership
  • Creation and last-modified timestamps

Personal notes are deduplicated against Team space notes — if a note is already indexed via the Enterprise API key, it is not re-indexed via a user's personal token.

How crawl and sync work

After the initial indexing run, Glean updates content periodically.

Full crawl: Glean fetches a paginated list of all notes (up to 30 per page) using the GET /v1/notes API, then fetches the detail and transcript for each note individually using GET /v1/notes/{id}?include=transcript. The same flow runs once per connected user for personal notes.

Incremental crawl: Glean uses the updated_after parameter to fetch only notes that were created or modified since the last crawl, reducing the time and API calls required for each sync cycle. Personal notes are also crawled incrementally per user.

Deletions: Because Granola does not provide a deletion API or webhook support, deletions are detected through full crawl reconciliation. Notes removed from Granola are identified and removed from Glean's index during full crawl runs.

Glean does not support real-time or webhook-based sync for Granola. All syncs are periodic.

Crawling frequency and freshness

Crawl typeFrequencyScope
Full crawlDailyAll Team space notes, plus personal notes for users with a connected personal API key. Reconciles deletions.
Incremental crawlHourlyNotes created or modified since the last crawl, fetched via the updated_after parameter.

Real-time and webhook-based sync are not supported. New or updated notes appear in Glean after the next scheduled incremental crawl. Frequencies are subject to change as Glean optimizes the integration.

Permissions

Granola uses a domain access model for Team space content. All workspace members have access to all Team space notes, and Glean reflects this by granting access to indexed Team space notes based on workspace membership. There are no per-note access control lists for Team space content.

Personal notes indexed via a user's personal API key are scoped to that user only. Glean grants access to those notes exclusively to the Glean user whose personal API key was used to fetch them.

Identity is derived from note owners and attendees associated with each note.

Limitations

  • There are no per-note permissions for Team space notes. All indexed Team space notes are visible to all members of the connected Granola workspace in Glean.
  • Real-time sync is not supported. Content updates are reflected only after the next scheduled crawl.
  • Speaker attribution in transcripts is anonymous except for the note owner. Other speakers are not identified by name.
  • The Granola API returns a maximum of 30 notes per page.
  • No activity or audit trail is available through the API.
  • Personal notes require each user to connect their own personal API key from the search results panel. Without a per-user key, the user's personal (My Notes) content is not indexed.
  • Personal API keys cannot be removed or updated from Glean once connected.

Troubleshooting

FAQs