Skip to content
Agentmart
Submit a tool

fireflies-transcript

Fetch raw Fireflies.ai meeting transcripts.

Skill by davidondrej

IndexedMIT★ 4,167
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/davidondrej-fireflies-transcript

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Fetch raw Fireflies.ai meeting transcripts. Use only when the user explicitly invokes /fireflies-transcript; for YouTube, use youtube-transcript.

Use cases: research, productivity, audio-video, note-taking

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/fireflies-transcript

What's inside

Skill name
fireflies-transcript
Description
Fetch raw Fireflies.ai meeting transcripts. Use only when the user explicitly invokes /fireflies-transcript; for YouTube, use youtube-transcript.
License
MIT
Instructions
68 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (2)

  • SKILL.md
  • openai.yaml · agents/

SKILL.md (first lines)

# Fireflies Transcript

Fetch any meeting transcript from Fireflies.ai as raw text via GraphQL. Read-only.

## Auth (state-check first)

Load the API key from a local environment file (mode 600, never commit or print it):

```bash
source "$SERVICE_ENV_FILE"   # exports API_KEY
[ -n "$API_KEY" ] || echo "MISSING KEY - stop and tell the user"
```

Every call is a POST to `https://api.fireflies.ai/graphql` with
`Authorization: Bearer <API_KEY>` and a JSON body `{"query": "..."}`.

## Step 1 - find the meeting id

```bash
curl -sS -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{"query":"{ transcripts(limit: 25) { id title date duration } }"}' \
  | jq -r '.data.transcripts[] | "\(.id) | \(.title) | \(.date)"'
```

- `date` is epoch **milliseconds**. Convert on macOS: `date -r $((1784127600000/1000))`.
- The `transcripts(title:)` filter is EXACT-match — it returns `[]` for partial names.
  List recent meetings and grep locally instead.
- Ad-hoc meetings have no proper title (e.g. `Untitled - Wed, 15 Jul 2026 17:00:55 CEST`).
  Identify those by date/time, then confirm via content or speakers, not the title.
- Paginate older meetings with `skip:` (e.g. `transcripts(limit: 50, skip: 25)`).

## Step 2 - pull the raw transcript

```bash
QUERY='{ transcript(id: "MEETING_ID") { title sentences { speaker_name text } } }'
curl -sS -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d "$(jq -nc --arg query "$QUERY" '{query: $query}')" \
  > /tmp/ff.json

# speaker-labeled raw text (usual deliverable)
jq -r '.data.transcript.sentences[] | "\(.speaker_name): \(.text)"' /tmp/ff.json

# bare text only
jq -r '.data.transcript.sentences[].text' /tmp/ff.json
```

Transcripts run to hundreds of sentences — save to a file, never dump to stdout/chat.

Optional extras on the same `transcript(id:)` query: `summary { overview short_summary keywords }`,
`participants`, `duration`, `meeting_link`.

## Failure modes

- `sentences: null` — recording still processing or no audio captured; nothing to pull.
- `errors[]` in the response instead of `data` — usually a bad field name; fix the query.
- 401/invalid key — key was rotated; ask the user for a new one (Fireflies dashboard:
  Settings -> Developer settings), update the local environment file.

## Verify before reporting done

A pull is successful only if the sentence count is > 0 and the speakers/topic
match the meeting the user asked about — check the first few lines, don't trust the title alone.

From davidondrej/skills, MIT.

More from davidondrej/skills

Signals

Stars
4,167
Forks
612
Open issues
0
Last commit (this folder)
Oct 18, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from davidondrej

Cite this page

fireflies-transcript skill. Agent Mart. https://agentmart.dev/skills/davidondrej-fireflies-transcript (last updated 2026-10-24)