Granola Meeting Transcripts

PassAudited by VirusTotal on May 13, 2026.

Overview

Type: OpenClaw Skill Name: granola Version: 1.0.0 The skill is designed to sync Granola meeting data locally. It reads authentication tokens from `~/Library/Application Support/Granola/supabase.json` (Granola's own auth file) and connects exclusively to `api.granola.ai` to fetch meeting data, which it then saves to a user-specified local directory. The `SKILL.md` instructs the agent to set up a `clawdbot_cron` job to periodically run the sync script, which is a form of persistence but directly aligned with the skill's stated purpose of keeping meeting data up-to-date. There is no evidence of data exfiltration to unauthorized endpoints, malicious execution, or prompt injection attempting to subvert the agent's behavior beyond its stated function.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Running the sync lets the script access your Granola account's meeting documents using your existing signed-in desktop session.

Why it was flagged

The script reads the local Granola app auth token and uses it as a bearer token for the Granola API. This is disclosed and purpose-aligned, but it grants access to the user's Granola meeting data.

Skill content
SUPABASE_PATH = Path.home() / "Library/Application Support/Granola/supabase.json" ... "Authorization": f"Bearer {token}"
Recommendation

Run it only on a machine where you trust the skill and are comfortable using your Granola session token for transcript export.

What this means

Your meeting transcripts and notes will exist as local files outside the Granola app.

Why it was flagged

The skill saves meeting transcripts, raw transcript data, full API responses, and notes to local disk. This is expected for the skill, but meeting records can contain sensitive business or personal information and may later be searched or reused by an agent.

Skill content
~/granola-meetings/ {meeting-id}/ metadata.json, transcript.md, transcript.json, document.json, notes.md
Recommendation

Choose a protected output folder, avoid syncing it to untrusted locations, and be careful before sharing or indexing the generated files.

What this means

If you add the cron job, the sync can continue running periodically and updating local copies of meeting data.

Why it was flagged

The documentation includes an optional scheduled job that repeatedly runs the sync every 6 hours. It is disclosed and user-initiated, but it is persistent automation.

Skill content
clawdbot_cron({ action: "add", ... schedule: { kind: "cron", expr: "0 */6 * * *" } ... message: "Run the Granola sync: python {skillsDir}/granola/scripts/sync.py ~/granola-meetings" })
Recommendation

Only enable the cron job if you want automatic sync, and keep track of how to disable or remove it later.

What this means

Installing dependencies pulls code from the Python package ecosystem into the runtime environment.

Why it was flagged

The skill asks the user to install the Python `requests` package manually, without a pinned version or install spec. This is common and relevant to the script's API calls, but users should understand it is an external dependency.

Skill content
pip install requests
Recommendation

Install from a trusted Python environment and consider pinning or reviewing the dependency if using this in a sensitive environment.