/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
$ npx -y skills add davekilleen/Dex --skill granola-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/granola-setup
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
granola-setup.SKILL.mdname: 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
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
A personal operating system powered by Claude. Strategic work management, meeting intelligence, relationship tracking, daily planning — all configured for your specific role. No coding required.
Repo: davekilleen/Dex
Other skills on davekilleen-dex.
- /agent-browser
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots, or scrape data. Alternative to Playwright MCP - uses Bash commands with ref-based element selection. Triggers on "browse website", "fill form", "click
Open skill - /agent-native-architecture
Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools, implementing self-modifying systems, or building apps where features are outcomes achieved by agents operating in a loop.
Open skill - /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 new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on
Open skill - /brainstorming
This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore
Open skill - /compound-docs
Capture solved problems as categorized documentation with YAML frontmatter for fast lookup
Open skill - /create-agent-skills
Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices.
Open skill

