Granola connector
Bearer TokenAIAutomationCommunicationTranscriptionConnect to Granola to access AI-generated meeting notes, summaries, transcripts, and attendee data from your workspace. Granola automatically records and...
Granola connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. 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> -
Make your first call
Section titled “Make your first call”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.actionsconst connector = 'granola'const identifier = 'user_123'// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'granola_audit_events_list',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "granola"identifier = "user_123"# Make your first callresult = actions.execute_tool(tool_input={},tool_name="granola_audit_events_list",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”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
Tool list
Section titled “Tool list”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.
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.
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.
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.
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.
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.
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.
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.
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.