Skip to content

Connect Granola

Solutioneer can read meeting transcripts via the granola_mcp toolkit. Granola is handled differently from the other ingestion sources: it requires MCP auth that is already configured in your environment. Solutioneer never attempts to auto-configure Granola.

Reach for Granola when a deal has recent meeting transcripts that matter for discovery or handoff. Transcripts often surface commitments, concerns, and follow-ups that never make it into notes or threads.

  • An existing Granola account with MCP auth already wired into the environment Codex is running in.
  • A Composio API key in .env — Composio is still the execution path for granola_mcp tool slugs.

If MCP auth is not preconfigured, skip to Manual transcript fallback below.

The granola_mcp toolkit exposes read-only access to Granola meetings and transcripts. After MCP auth is active, Solutioneer can call these specific tool slugs:

  • GRANOLA_MCP_LIST_MEETINGS — list meetings accessible to the user.
  • GRANOLA_MCP_GET_MEETING_TRANSCRIPT — fetch a meeting transcript.
  • GRANOLA_MCP_QUERY_GRANOLA_MEETINGS — search meetings by query.

Solutioneer assumes Granola MCP auth is already configured and active. To confirm:

  1. Open the Composio dashboard.
  2. Go to Connections (or Toolkits).
  3. Find the granola_mcp toolkit.
  4. Confirm the connection shows as Active. If it does not, follow Granola’s MCP setup guide — Solutioneer does not drive this flow.

Once active, Codex will use the toolkit on its next request for meeting context.

If Granola MCP auth is not ready, or Codex cannot reach Granola in your environment, use the manual fallback:

  1. Export the transcript from Granola (copy as text or download).
  2. Paste the transcript into chat, or save it to a local file and reference it in notes.sources.
  3. discovery-context-ingester will normalize the pasted transcript the same way it handles any other local source, and mark provenance as local://....

This is the recommended path when:

  • you are in a sandboxed environment without MCP access
  • Granola auth is flakey
  • you only need a single transcript and the auth setup is not worth it
  • Discovery Context Ingester — the primary consumer. Transcripts are normalized into the fact sheet with composio://granola_mcp/... provenance markers (or local://... when the manual fallback is used).

The four managed-auth sources (hubspot, slack, gmail, googledrive) share a Connect now / Skip flow that runs inside Codex. Granola does not: its MCP auth is set up once at the environment level, outside Solutioneer’s control. That is intentional — Granola transcripts are sensitive enough that auto-configuring the integration would violate the “ask before doing anything external” rule Solutioneer is built around.

If MCP auth is active, the skill just works. If it is not, you get the manual fallback rather than a surprise configuration flow.

  • granola_mcp shows as not configured. Follow Granola’s own MCP setup guide. Solutioneer will not prompt for Granola credentials and will not attempt to open an OAuth flow.
  • Transcript not found. Search by a broader date range or a distinct attendee name. Granola’s search is scoped to what the authenticated user can see.
  • Prefer the fallback. If MCP auth is inconsistent across your team, standardize on pasted transcripts — the manual path is fully supported.

See Troubleshooting for more.