← 返回 Skills 市场
daniil-ctrl

Fireflies

作者 daniil-ctrl · GitHub ↗ · v1.0.1
cross-platform ✓ 安全检测通过
2163
总下载
4
收藏
8
当前安装
2
版本数
在 OpenClaw 中安装
/install fireflies
功能描述
Access Fireflies.ai meeting transcripts, summaries, action items, and analytics via GraphQL API
使用说明 (SKILL.md)

Fireflies.ai Skill

Query meeting transcripts, summaries, action items, and analytics from Fireflies.ai.

Setup

Set your Fireflies API key:

FIREFLIES_API_KEY=your_api_key_here

Get your API key from: https://app.fireflies.ai/integrations (scroll to Fireflies API section)

API Base

GraphQL Endpoint: https://api.fireflies.ai/graphql

Authorization header: Bearer $FIREFLIES_API_KEY


Core Queries

Get Current User

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"{ user { user_id name email is_admin minutes_consumed num_transcripts recent_meeting } }"}' | jq

Get Single Transcript

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"query($id:String!){transcript(id:$id){id title date duration participants fireflies_users summary{keywords action_items overview topics_discussed} speakers{name duration} sentences{speaker_name text start_time}}}","variables":{"id":"TRANSCRIPT_ID"}}' | jq

Search Transcripts by Date Range

# ISO 8601 format: YYYY-MM-DDTHH:mm:ss.sssZ
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"query($from:DateTime,$to:DateTime,$limit:Int){transcripts(fromDate:$from,toDate:$to,limit:$limit){id title date duration organizer_email participants summary{keywords action_items overview}}}","variables":{"from":"2024-01-01T00:00:00.000Z","to":"2024-01-31T23:59:59.999Z","limit":50}}' | jq

Search Transcripts by Participant

# Search meetings where specific people participated
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"query($participants:[String],$limit:Int){transcripts(participants:$participants,limit:$limit){id title date participants organizer_email summary{action_items}}}","variables":{"participants":["[email protected]","[email protected]"],"limit":20}}' | jq

Search Transcripts by Organizer

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"query($organizers:[String],$limit:Int){transcripts(organizers:$organizers,limit:$limit){id title date organizer_email participants}}","variables":{"organizers":["[email protected]"],"limit":25}}' | jq

Search by Keyword (Title and/or Transcript)

# scope: "TITLE", "SENTENCES", or "ALL"
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"query($keyword:String,$scope:String){transcripts(keyword:$keyword,scope:$scope,limit:10){id title date summary{overview}}}","variables":{"keyword":"pricing","scope":"ALL"}}' | jq

Get My Recent Transcripts

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"{ transcripts(mine:true,limit:10) { id title date duration summary { action_items keywords } } }"}' | jq

Advanced Queries

Get Full Transcript with Summary & Action Items

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"query($id:String!){transcript(id:$id){id title date duration organizer_email participants fireflies_users workspace_users meeting_attendees{displayName email} summary{keywords action_items outline overview bullet_gist topics_discussed meeting_type} speakers{name duration word_count} sentences{speaker_name text start_time end_time}}}","variables":{"id":"TRANSCRIPT_ID"}}' | jq

Get Transcript with Analytics

# Requires Pro plan or higher
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"query($id:String!){transcript(id:$id){id title analytics{sentiments{positive_pct neutral_pct negative_pct} speakers{name duration word_count filler_words questions longest_monologue words_per_minute}}}}","variables":{"id":"TRANSCRIPT_ID"}}' | jq

Get Contacts

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"{ contacts { email name picture last_meeting_date } }"}' | jq

Get Active Meetings

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query":"{ active_meetings { id title organizer_email meeting_link start_time state } }"}' | jq

Pipeline Review Example

Get all meetings from last 7 days with specific participants:

# Date commands (pick based on your OS):
# macOS:
FROM_DATE=$(date -u -v-7d +"%Y-%m-%dT00:00:00.000Z")
# Linux:
# FROM_DATE=$(date -u -d '7 days ago' +"%Y-%m-%dT00:00:00.000Z")

TO_DATE=$(date -u +"%Y-%m-%dT23:59:59.999Z")

curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d "{\"query\":\"query(\$from:DateTime,\$to:DateTime,\$participants:[String]){transcripts(fromDate:\\\"\$FROM_DATE\\\",toDate:\\\"\$TO_DATE\\\",participants:\$participants,limit:50){id title date duration organizer_email participants summary{keywords action_items topics_discussed meeting_type}}}\",\"variables\":{\"from\":\"$FROM_DATE\",\"to\":\"$TO_DATE\",\"participants\":[\"[email protected]\"]}}" | jq

Key Schema Fields

Transcript Fields

  • id - Unique identifier
  • title - Meeting title
  • date - Unix timestamp (milliseconds)
  • dateString - ISO 8601 datetime
  • duration - Duration in minutes
  • organizer_email - Meeting organizer
  • participants - All participant emails
  • fireflies_users - Fireflies users who participated
  • workspace_users - Team members who participated
  • meeting_attendees - Detailed attendee info (displayName, email)
  • transcript_url - View in dashboard
  • audio_url - Download audio (Pro+, expires 24h)
  • video_url - Download video (Business+, expires 24h)

Summary Fields

  • keywords - Key topics
  • action_items - Extracted action items
  • overview - Meeting overview
  • topics_discussed - Main topics
  • meeting_type - Meeting category
  • outline - Structured outline
  • bullet_gist - Bullet point summary

Sentence Fields

  • text - Sentence text
  • speaker_name - Who said it
  • start_time - Timestamp (seconds)
  • end_time - End timestamp
  • ai_filters - Filters (task, question, pricing, etc.)

Speaker Fields

  • name - Speaker name
  • duration - Speaking time
  • word_count - Words spoken
  • filler_words - Filler word count
  • questions - Questions asked
  • longest_monologue - Longest uninterrupted speech
  • words_per_minute - Speaking pace

Filter Examples

By Date Range (ISO 8601)

{
  "fromDate": "2024-01-01T00:00:00.000Z",
  "toDate": "2024-01-31T23:59:59.999Z"
}

By Multiple Participants

{
  "participants": ["[email protected]", "[email protected]"]
}

By Channel

{
  "channel_id": "channel_id_here"
}

Combined Filters

{
  "fromDate": "2024-01-01T00:00:00.000Z",
  "toDate": "2024-01-31T23:59:59.999Z",
  "participants": ["[email protected]"],
  "keyword": "pricing",
  "scope": "ALL",
  "limit": 50
}

PowerShell Examples

$headers = @{
  "Authorization" = "Bearer $env:FIREFLIES_API_KEY"
  "Content-Type" = "application/json"
}

# Get recent transcripts
$body = @{
  query = "{ transcripts(mine:true,limit:10) { id title date } }"
} | ConvertTo-Json

Invoke-RestMethod -Uri "https://api.fireflies.ai/graphql" -Method POST -Headers $headers -Body $body

Shareable Recording Links

The API provides transcript_url, video_url, and audio_url, but for sharing with external parties (prospects, clients), use the embed URL format:

API transcript_url:  https://app.fireflies.ai/view/{id}           (requires Fireflies login)
Embed URL:           https://share.fireflies.ai/embed/meetings/{id}  (no login required, permanent)

Why use embed URLs:

  • No Fireflies account required to view
  • Permanent link (doesn't expire like video_url/audio_url)
  • Better viewing experience (embedded player)

Construction:

# Get meeting ID from API
MEETING_ID=$(curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ transcripts(mine:true,limit:1) { id } }"}' | jq -r '.data.transcripts[0].id')

# Construct embed URL
EMBED_URL="https://share.fireflies.ai/embed/meetings/${MEETING_ID}"
echo "Share this: $EMBED_URL"

Embed in HTML:

\x3Ciframe 
  src="https://share.fireflies.ai/embed/meetings/{id}" 
  width="640" 
  height="360" 
  frameborder="0" 
  allow="autoplay; fullscreen; picture-in-picture" 
  allowfullscreen>
\x3C/iframe>

Notes

  • Dependencies: Requires curl and jq (install: sudo apt install jq or brew install jq)
  • Rate Limits: Check with Fireflies support for current limits
  • Pagination: Use limit (max 50) and skip for large result sets
  • Date Format: Always use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.sssZ
  • Audio/Video URLs: Expire after 24 hours, regenerate as needed (use embed URLs for permanent sharing)
  • Analytics: Requires Pro plan or higher
  • Video Recording: Must be enabled in dashboard settings

Common Use Cases

  1. Weekly Pipeline Review: Search transcripts by date + participants
  2. Follow-up Tasks: Extract action items from recent meetings
  3. Competitor Mentions: Search keyword in sentences
  4. Speaking Analytics: Analyze talk time, questions asked
  5. Meeting Insights: Get summaries and key topics
安全使用建议
This skill appears to be what it claims: a collection of curl/jq examples that call Fireflies' official GraphQL API and requires a single FIREFLIES_API_KEY. Before installing, confirm you trust the skill author and are comfortable granting access to your Fireflies account (transcripts can contain sensitive conversation content). Use a least-privilege/read-only API key if Fireflies supports scopes, and be prepared to revoke the key if you stop using the skill. Note the package metadata included in the bundle (skill.json) requires curl and jq and a FIREFLIES_API_KEY; the registry summary at the top of the report incorrectly omitted those requirements. Finally, because this is instruction-only (no code/install), the main risk is data access via the API key — treat the key like any other secret.
功能分析
Type: OpenClaw Skill Name: fireflies Version: 1.0.1 The OpenClaw skill bundle for Fireflies.ai is benign. All `curl` commands in `SKILL.md` target the legitimate Fireflies.ai GraphQL API (`https://api.fireflies.ai/graphql`) and use the `FIREFLIES_API_KEY` solely for authentication to this service. There is no evidence of data exfiltration to unauthorized endpoints, malicious command execution (e.g., `curl|bash`), attempts at persistence, or prompt injection against the AI agent. The skill's actions are entirely consistent with its stated purpose of accessing Fireflies.ai meeting data.
能力评估
Purpose & Capability
The name/description match the runtime instructions: SKILL.md shows GraphQL calls to https://api.fireflies.ai/graphql and skill.json declares FIREFLIES_API_KEY and required binaries (curl, jq). The requested items are appropriate for querying Fireflies transcripts and analytics.
Instruction Scope
SKILL.md contains explicit curl examples and GraphQL queries limited to Fireflies data (transcripts, summaries, contacts, active meetings). It does not instruct reading unrelated files, accessing other env vars, or sending data to non-Fireflies endpoints.
Install Mechanism
No install spec or code files are included — this is instruction-only. That minimizes on-disk risk. skill.json lists required binaries (curl, jq) which are reasonable for the provided examples.
Credentials
Only a single credential (FIREFLIES_API_KEY) is required and is directly used as a Bearer token in the Authorization header. This is proportionate to the described functionality. Note: registry summary at the top of the package report incorrectly listed 'required env vars: none' — the included files do require FIREFLIES_API_KEY.
Persistence & Privilege
The skill does not request persistent/always-on presence, does not modify other skills or system settings, and has no config path requirements. Autonomous invocation is allowed by platform default (not a red flag here).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install fireflies
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /fireflies 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Fixed registry metadata: added skill.json declaring FIREFLIES_API_KEY credential requirement and jq dependency; added cross-platform date command support (macOS + Linux)
v1.0.0
Initial release of the Fireflies skill. - Provides access to Fireflies.ai meeting transcripts, summaries, action items, contacts, and analytics via GraphQL API. - Includes setup instructions for configuring your Fireflies API key. - Offers core and advanced queries for searching and retrieving transcripts by date, participants, organizer, and keywords. - Documents transcript, summary, sentence, and speaker fields available in the API. - Supplies example queries in both curl and PowerShell for easy integration and testing. - Supports filtering and combined queries for flexible analytics and meeting review.
元数据
Slug fireflies
版本 1.0.1
许可证
累计安装 8
当前安装数 8
历史版本数 2
常见问题

Fireflies 是什么?

Access Fireflies.ai meeting transcripts, summaries, action items, and analytics via GraphQL API. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2163 次。

如何安装 Fireflies?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install fireflies」即可一键安装,无需额外配置。

Fireflies 是免费的吗?

是的,Fireflies 完全免费(开源免费),可自由下载、安装和使用。

Fireflies 支持哪些平台?

Fireflies 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Fireflies?

由 daniil-ctrl(@daniil-ctrl)开发并维护,当前版本 v1.0.1。

💬 留言讨论