Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Granola connector

Bearer TokenAIAutomationCommunicationTranscription

Connect to Granola to access AI-generated meeting notes, summaries, transcripts, and attendee data from your workspace. Granola automatically records and...

Granola connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'granola'
    const identifier = 'user_123'
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'granola_audit_events_list',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • List webhook endpoints, folders, audit events — List all webhook endpoints configured for the Granola workspace, including their URL, scopes, subscribed event types, and enabled state
  • Update webhook endpoint — Update an existing Granola webhook endpoint’s URL, scopes, subscribed events, folder filter, or enabled state
  • Delete webhook endpoint — Permanently remove a Granola webhook endpoint
  • Create webhook endpoint — Register a new HTTPS webhook endpoint to receive Granola event deliveries (e.g
  • Get note transcript, note — Retrieve the full meeting transcript for a Granola note, paginated with a cursor

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

granola_audit_events_list#List paginated audit events for the Granola workspace, optionally filtered by action (exact match or prefix) and a date range.5 params

List paginated audit events for the Granola workspace, optionally filtered by action (exact match or prefix) and a date range.

NameTypeRequiredDescription
actionstringoptionalFilter by an exact action name or prefix, e.g. 'note.' to match all note-related actions.
cursorstringoptionalPagination cursor from the previous response to fetch the next page of results.
occurred_afterstringoptionalOnly return events that occurred on or after this date. ISO 8601 format (e.g., 2024-01-01 or 2024-01-01T00:00:00Z).
occurred_beforestringoptionalOnly return events that occurred before this date. ISO 8601 format (e.g., 2024-12-31 or 2024-12-31T23:59:59Z).
page_sizeintegeroptionalNumber of audit events to return per page (1-30). Defaults to 10.
granola_folders_list#List all folders accessible in the Granola workspace, with pagination. Use folder IDs from this tool to filter notes or scope webhook endpoints.2 params

List all folders accessible in the Granola workspace, with pagination. Use folder IDs from this tool to filter notes or scope webhook endpoints.

NameTypeRequiredDescription
cursorstringoptionalPagination cursor from the previous response to fetch the next page of results.
page_sizeintegeroptionalNumber of folders to return per page (1-30). Defaults to 10.
granola_note_get#Retrieve a single Granola meeting note by its ID. Returns the full note including title, owner, calendar event details, attendees, folder memberships, and AI-generated summary. Optionally include the full transcript with speaker labels and timestamps.2 params

Retrieve a single Granola meeting note by its ID. Returns the full note including title, owner, calendar event details, attendees, folder memberships, and AI-generated summary. Optionally include the full transcript with speaker labels and timestamps.

NameTypeRequiredDescription
note_idstringrequiredThe unique identifier of the note to retrieve. Format: not_XXXXXXXXXXXXXX.
includestringoptionalPass 'transcript' to include the full meeting transcript with speaker source and timestamps.
granola_note_transcript_get#Retrieve the full meeting transcript for a Granola note, paginated with a cursor. Use this instead of granola_note_get's include=transcript option when a transcript is too large to inline, or when you need to page through a long transcript explicitly.3 params

Retrieve the full meeting transcript for a Granola note, paginated with a cursor. Use this instead of granola_note_get's include=transcript option when a transcript is too large to inline, or when you need to page through a long transcript explicitly.

NameTypeRequiredDescription
note_idstringrequiredThe unique identifier of the note whose transcript should be retrieved. Format: not_XXXXXXXXXXXXXX.
cursorstringoptionalPagination cursor from a previous response to fetch the next page of transcript entries.
page_sizeintegeroptionalNumber of transcript entries to return per page (1-100). Defaults to 50.
granola_notes_list#List all accessible meeting notes in the Granola workspace with pagination and date filtering. Returns note IDs, titles, owners, calendar event details, attendees, folder memberships, and AI-generated summaries. Only notes shared in workspace-wide folders are accessible.5 params

List all accessible meeting notes in the Granola workspace with pagination and date filtering. Returns note IDs, titles, owners, calendar event details, attendees, folder memberships, and AI-generated summaries. Only notes shared in workspace-wide folders are accessible.

NameTypeRequiredDescription
created_afterstringoptionalFilter notes created on or after this date. ISO 8601 format (e.g., 2024-01-01 or 2024-01-01T00:00:00Z).
created_beforestringoptionalFilter notes created before this date. ISO 8601 format (e.g., 2024-12-31 or 2024-12-31T23:59:59Z).
cursorstringoptionalPagination cursor from the previous response to fetch the next page of results.
page_sizeintegeroptionalNumber of notes to return per page (1–30). Defaults to 10.
updated_afterstringoptionalFilter notes updated after this date. ISO 8601 format (e.g., 2024-06-01 or 2024-06-01T00:00:00Z).
granola_webhook_endpoint_create#Register a new HTTPS webhook endpoint to receive Granola event deliveries (e.g. note generated or edited). Returns a signing_secret used to verify delivered payloads.4 params

Register a new HTTPS webhook endpoint to receive Granola event deliveries (e.g. note generated or edited). Returns a signing_secret used to verify delivered payloads.

NameTypeRequiredDescription
scopesarrayrequiredWhich note visibility scopes this endpoint should receive events for. At least one of: personal, public, workspace.
urlstringrequiredThe publicly reachable HTTPS URL that Granola should deliver events to.
eventsarrayoptionalWhich event types to subscribe to. If omitted, defaults to all event types. At least one of: note.access_granted, note.edited, note.generated.
folder_idsarrayoptionalRestrict delivered events to notes in these folders only (up to 100 folder IDs). If omitted, events are not filtered by folder.
granola_webhook_endpoint_delete#Permanently remove a Granola webhook endpoint. Event deliveries to it stop immediately.1 param

Permanently remove a Granola webhook endpoint. Event deliveries to it stop immediately.

NameTypeRequiredDescription
webhook_endpoint_idstringrequiredThe unique identifier of the webhook endpoint to delete. Format: whe_XXXXXXXXXXXXXX.
granola_webhook_endpoint_update#Update an existing Granola webhook endpoint's URL, scopes, subscribed events, folder filter, or enabled state. Only the fields provided are changed.6 params

Update an existing Granola webhook endpoint's URL, scopes, subscribed events, folder filter, or enabled state. Only the fields provided are changed.

NameTypeRequiredDescription
webhook_endpoint_idstringrequiredThe unique identifier of the webhook endpoint to update. Format: whe_XXXXXXXXXXXXXX.
enabledbooleanoptionalEnable or disable this webhook endpoint without deleting it.
eventsarrayoptionalNew set of event types to subscribe to. At least one of: note.access_granted, note.edited, note.generated.
folder_idsarrayoptionalNew list of folder IDs to restrict delivered events to (up to 100). Pass an empty array to remove the folder filter entirely.
scopesarrayoptionalNew set of note visibility scopes this endpoint should receive events for. At least one of: personal, public, workspace.
urlstringoptionalNew publicly reachable HTTPS URL for Granola to deliver events to.
granola_webhook_endpoints_list#List all webhook endpoints configured for the Granola workspace, including their URL, scopes, subscribed event types, and enabled state.0 params

List all webhook endpoints configured for the Granola workspace, including their URL, scopes, subscribed event types, and enabled state.