---
title: Granola API Integration on Truto
slug: granola
category: Conversational Intelligence
canonical: "https://truto.one/integrations/detail/granola/"
---

# Granola API Integration on Truto



**Category:** Conversational Intelligence  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 7 tools for Granola that AI agents can call directly.

- **list_all_granola_notes** — List Granola notes with optional date and folder filters. Returns: id, object, title, owner, created_at, updated_at. Max 30 per page (default 10).
- **get_single_granola_note_by_id** — Get a single Granola note by id, optionally including the transcript. Returns: id, object, title, owner, created_at, updated_at, web_url, calendar_event, attendees, folder_membership, summary_text, summary_markdown, transcript. Required: id.
- **list_all_granola_folders** — List folders in Granola with cursor-based pagination. Returns: id, object, name, parent_folder_id. Max 30 per page, default 10.
- **list_all_granola_webhook_endpoints** — List webhook endpoints in Granola that the current API key can manage. Returns: id, object, url, url_redacted, events, folder_ids, scopes, created_by, enabled, created_at.
- **create_a_granola_webhook_endpoint** — Create a webhook endpoint in Granola to receive event deliveries at an HTTPS URL. Returns: id, object, url, url_redacted, events, folder_ids, scopes, created_by, enabled, created_at, signing_secret. The signing_secret is only returned in this response. Required: url, scopes.
- **update_a_granola_webhook_endpoint_by_id** — Update a Granola webhook endpoint by id — change its URL, event subscriptions, scopes, folder filter, or enabled state. Returns: id, object, url, url_redacted, events, folder_ids, scopes, created_by, enabled, created_at. Required: id.
- **delete_a_granola_webhook_endpoint_by_id** — Delete a Granola webhook endpoint by id to stop its deliveries immediately. Returns: id, object, deleted. Required: id.

## How it works

1. **Link your customer's Granola account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Granola.** The Proxy API is a 1-to-1 mapping of the Granola API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Auto-log meetings into your CRM or CS platform** — Let your users connect Granola so their client conversations, AI summaries, and action items flow into the right Account or Deal automatically. Eliminates 10-15 minutes of post-call data entry per meeting.
- **Turn user interviews into structured product insights** — Product management and research platforms can ingest notes from a user's designated Granola folder and run their own AI tagging over transcripts to surface pain points, feature requests, and verbatim quotes.
- **Power sales copilots with meeting history** — AI agent and sales enablement platforms can pull a rep's past Granola notes on demand to answer questions like 'what were ACME's concerns last quarter?' with citations from the actual transcript.
- **Convert action items into tasks in project tools** — Task management and PM platforms can subscribe to new Granola notes and parse AI-generated action items into tickets, so nothing decided in a meeting is lost between the call and execution.
- **Sync meeting knowledge into internal wikis** — Knowledge base and documentation platforms can ingest team-shared Granola notes so strategy discussions, customer feedback, and research sessions become searchable across the organization.

## What you can build

- **Real-time note ingestion via webhooks** — Register a Granola webhook endpoint scoped to specific folders so your product receives new notes the moment a meeting ends, with no polling required.
- **Folder-based integration mapping** — Let users pick which Granola folder (e.g. 'Sales Calls' or 'User Interviews') should sync into which workspace, project, or object in your product.
- **Historical meeting backfill** — On first connect, list a user's past Granola notes and pull each one's transcript, summary, and attendees to build immediate context in your product.
- **Attendee-based identity resolution** — Use the attendees and calendar event data on each Granola note to auto-match meetings to the right Contact, Account, Deal, or Customer record in your system.
- **Transcript-driven AI features** — Pipe raw Granola transcripts into your own LLM workflows for sentiment scoring, deal risk detection, coaching insights, or custom summarization.
- **Managed webhook lifecycle** — Create, update, and delete Granola webhook endpoints on behalf of your users from within your product, so they never have to configure anything in Granola directly.

## FAQs

### How do end users authenticate their Granola account?

Truto handles the Granola auth flow for you. Your users connect their Granola account through a Truto-managed connection, and you call the Granola tools using that connection — no token storage or refresh logic on your side.

### Can we receive meeting notes in real time instead of polling?

Yes. Use create_a_granola_webhook_endpoint to subscribe to note events. Webhooks can be scoped to specific folder_ids, so your product only receives events for the folders a user has opted to sync.

### What data is available for each meeting?

get_single_granola_note_by_id returns the raw transcript, AI-generated summary (both markdown and plain text), attendees, and the associated calendar event metadata — enough to match the meeting to records in your product and run downstream AI on the content.

### Can we backfill a user's meeting history on first connect?

Yes. Call list_all_granola_notes to enumerate the user's notes, then fetch full context per note with get_single_granola_note_by_id. Truto normalizes pagination so you can iterate without handling Granola-specific cursors.

### Can users choose which folders sync into our product?

Yes. Use list_all_granola_folders to render a folder picker in your UI, then either filter fetched notes by folder or scope your webhook subscription to those folder_ids.

### Does Truto offer a Unified API for conversational intelligence tools?

Not yet for this category — the Granola integration is exposed as native, product-specific tools today. If you need a normalized schema across multiple meeting intelligence providers, reach out and we can prioritize a unified model.

### What write operations are supported?

Currently, write access is focused on webhook management (create, update, delete webhook endpoints). Note content itself is read-only via the API, reflecting Granola's own product surface.

## Related reading

- [Connect Granola to Claude: Access Note Transcripts and Folders](https://truto.one/blog/connect-granola-to-claude-access-note-transcripts-and-folders/) — Learn how to connect Granola to Claude using a managed MCP server. This step-by-step guide covers extracting meeting transcripts, automating webhooks, and tool calling.
- [Connect Granola to ChatGPT: Search Meeting Notes and Manage Webhooks](https://truto.one/blog/connect-granola-to-chatgpt-search-meeting-notes-and-manage-webhooks/) — Step-by-step guide to connecting Granola to ChatGPT via Truto's Managed MCP Server. Learn how to search meeting notes and orchestrate webhooks.
- [Connect Granola to AI Agents: Automate Meeting Summaries and Syncing](https://truto.one/blog/connect-granola-to-ai-agents-automate-meeting-summaries-and-syncing/) — Learn how to connect Granola to AI agents using Truto's tools endpoint. Automate meeting summaries, manage webhooks, and handle rate limits natively in LangChain or LangGraph.
