Skip to content
Productivity
Skill

/granola-setup

Connect Granola via its official API for automatic meeting sync and transcripts. Use when the user says 'connect Granola', 'my meetings aren't syncing', 'set up meeting notes'. Not for Zoom recordings; use `zoom-setup`. Not for processing meetings already synced; use

From plugin
dex
51099 skills28 agents24 commands1 MCP

Claude Code

$ npx -y skills add davekilleen/Dex --skill granola-setup --agent claude-code

SKILL.md

granola-setup.SKILL.md
name: granola-setup
description: "Connect Granola via its official API for automatic meeting sync and transcripts. Use when the user says 'connect Granola', 'my meetings aren't syncing', 'set up meeting notes'. Not for Zoom recordings; use `zoom-setup`. Not for processing meetings already synced; use `process-meetings`."
integration:
  id: granola
  name: Granola
  auth: api_key
  category: meetings
  sync_direction: read
  api:
    base_url: https://public-api.granola.ai
    key_env_var: GRANOLA_API_KEY
    key_format: grn_...
    requires_plan: Granola Business or Enterprise
  enhances:
    - skill: process-meetings
      capability: "Granola is the primary meeting source — notes and transcripts sync into 00-Inbox/Meetings/"
    - skill: meeting-prep
      capability: "Surfaces past Granola notes and summaries with each attendee"
    - skill: week-review
      capability: "Meeting counts and topics from Granola notes"
  new_capabilities:
    - name: Automatic Meeting Sync
      trigger: "New Granola notes are pulled into 00-Inbox/Meetings/ for processing"
    - name: Transcript Access
      trigger: "During /process-meetings, fetch full speaker-labelled transcripts per note"

Granola Setup

Connect your Granola account to Dex so your meetings sync automatically. Dex uses **Granola's official API** to read your notes, summaries, attendees, and transcripts — then files them into `00-Inbox/Meetings/` ready for `/process-meetings`.

This integration needs a **Granola Business (or Enterprise) plan**, because API keys can only be created on those plans. Granola **Basic / free** accounts can't create an API key, so this setup won't work on them.

What This Enables

Once connected, Dex can:

**Read (via the official Granola API):**

  • List your Granola notes (title, owner, created/updated dates)
  • Fetch each note's summary, attendees, folder membership, and web link
  • Fetch full speaker-labelled transcripts per note

**Skill Enhancements:**

  • **Process Meetings** (`/process-meetings`) uses Granola as the primary meeting source — notes sync into `00-Inbox/Meetings/`, then get turned into structured meeting notes (decisions, actions, key points)
  • **Meeting Prep** (`/meeting-prep`) surfaces your last Granola note and summary with each attendee
  • **Week Review** (`/week-review`) includes meeting counts and topics from Granola

**New Capabilities:**

  • **Automatic Meeting Sync:** new Granola notes are pulled into `00-Inbox/Meetings/`
  • **Transcript Access:** full transcripts are available when processing a meeting

Privacy

Dex reads your Granola data through Granola's official API using a key you create. The API key is stored locally in a `.env` file at your vault root — it is **gitignored and never committed**. Only YOUR Granola account is accessible (the key is scoped to your login). Nothing is sent anywhere except Granola's own API.

When to Run

  • User types `/granola-setup`
  • User asks about connecting Granola
  • User wants automatic meeting sync or transcripts
  • During `/integrate-mcp` if Granola is mentioned
  • During onboarding if the user mentions Granola

---

Setup Flow

> Throughout this flow, **Dex performs every file action for the user**. Never ask the user to open, create, or hand-edit `.env` or any other file. They only ever paste their key into the chat — Dex does the rest.

Step 1: Check if Already Connected

1. Read `System/integrations/config.yaml` for a `granola` section. 2. Check whether `GRANOLA_API_KEY` is already configured:

  • First check `process.env.GRANOLA_API_KEY`.
  • If absent, load the vault root `.env` file (at `VAULT_ROOT`) and parse a `GRANOLA_API_KEY=...` line from it.

3. If a key is found, run the verification request from **Step 5** silently.

  • If it succeeds, tell the user they're already connected and skip to **Step 7** (Reconfiguration / what's enabled).
  • If it returns 401, the key is stale — continue to Step 2 to replace it.

4. If no key is found, continue to Step 2.

Step 2: Explain the New API-Based Sync

Set expectations conversationally:

Granola sync now uses Granola's official API.

That means Dex reads your meetings the supported way — your notes, summaries,
attendees, and transcripts — straight from Granola.

One thing to know up front: creating an API key requires a **Granola Business
(or Enterprise) plan**. The Basic / free plan can't create API keys, so if
you're on Basic this won't work yet.

Are you on a Granola Business or Enterprise plan? [Yes / Not sure / I'm on Basic]
  • **If "I'm on Basic":** let them know kindly that they'd need to upgrade to a Granola Business plan to create an API key, and that they can run `/granola-setup` again once they do. Stop here.
  • **If "Not sure":** reassure them — the next step will tell them quickly (if there's no API option in Settings, they're not on a plan that supports it). Continue.
  • **If "Yes":** continue.

Step 3: Walk Them Through Creating an API Key

Guide them, step by step, in plain language:

Let's create your Granola API key:

1. Open **Granola** and go to **Settings**.
2. Find the **API** section (the Granola API settings page).
3. Click **Create API key** (or "New API key").
4. Copy the key — it starts with `grn_`.

If there's no API section in Settings, your plan doesn't support API keys yet
(that's the Business-plan requirement). Otherwise, grab that `grn_...` key.

Step 4: Ask Them to Paste the Key

Paste your Granola API key here and I'll save it for you securely.
(It starts with grn_ — I'll store it locally and never commit it.)

Wait for the user to paste the key.

  • Do a light sanity check: it should look like `grn_...`. If it clearly doesn't (e.g. they pasted something else), ask them to re-copy it from Granola's API settings.
  • **Never** ask the user to put the key in a file themselves — they only paste it into the chat.

Step 5: Store and Verify the Key

**Store it (Dex does this — not the user):**

1. Locate

Read more
@davekilleen
Ships withdex

One personal Dex, built around your work. Keep your priorities, people, meeting notes and tasks in a folder you own. Work with Dex through your AI app to plan the day, prepare for a meeting or follow through on a promise.

51099 skills28 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
510
Star history of davekilleen/Dex on GitHub, a chart by star-history.com

Other skills on dex.

agent-browser

agent-browser

Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…

@davekilleen@davekilleenInstall Skill
agent-native-architecture

agent-native-architect…

Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools,…

@davekilleen@davekilleenInstall Skill
andrew-kane-gem-writer

andrew-kane-gem-writer

This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating…

@davekilleen@davekilleenInstall Skill
brainstorming

brainstorming

This skill should be used before implementing features, building components, or making changes. It guides exploring user intent,…

@davekilleen@davekilleenInstall Skill
compound-docs

compound-docs

Capture solved problems as categorized documentation with YAML frontmatter for fast lookup

@davekilleen@davekilleenInstall Skill
create-agent-skills

create-agent-skills

Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new…

@davekilleen@davekilleenInstall Skill

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about granola-setup.

Which coding agents can use granola-setup?
granola-setup installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.