Fireflies hello world
'Create a minimal working Fireflies.ai example that queries transcripts.From its SKILL.md
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill fireflies-hello-worldAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Fireflies.ai Hello World
Overview
Minimal working examples demonstrating core Fireflies.ai GraphQL queries: list users, fetch transcripts, and read a meeting summary.
Prerequisites
- Completed
fireflies-install-authsetup FIREFLIES_API_KEYenvironment variable set- At least one meeting recorded in Fireflies
Instructions
Step 1: List Workspace Users
set -euo pipefail
curl -s -X POST https://api.fireflies.ai/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-d '{"query": "{ users { name user_id email } }"}' | jq '.data.users'
Step 2: Fetch Recent Transcripts
const FIREFLIES_API = "https://api.fireflies.ai/graphql";
async function firefliesQuery(query: string, variables?: Record<string, any>) {
const res = await fetch(FIREFLIES_API, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.FIREFLIES_API_KEY}`,
},
body: JSON.stringify({ query, variables }),
});
const json = await res.json();
if (json.errors) throw new Error(json.errors[0].message);
return json.data;
}
// List 5 most recent transcripts
const data = await firefliesQuery(`
query RecentMeetings {
transcripts(limit: 5) {
id
title
date
duration
organizer_email
participants
}
}
`);
for (const t of data.transcripts) {
console.log(`${t.title} (${t.duration}min) - ${t.date}`);
console.log(` Organizer: ${t.organizer_email}`);
console.log(` Participants: ${t.participants?.join(", ")}`);
}
Step 3: Read a Single Transcript with Summary
async function getTranscriptSummary(id: string) {
return firefliesQuery(`
query GetTranscript($id: String!) {
transcript(id: $id) {
id
title
date
duration
organizer_email
speakers { id name }
summary {
overview
short_summary
action_items
keywords
}
}
}
`, { id });
}
const { transcript } = await getTranscriptSummary("your-transcript-id");
console.log(`Title: ${transcript.title}`);
console.log(`Summary: ${transcript.summary.overview}`);
console.log(`Action Items: ${transcript.summary.action_items?.join("\n - ")}`);
console.log(`Keywords: ${transcript.summary.keywords?.join(", ")}`);
Step 4: Python Hello World
import os, requests
API = "https://api.fireflies.ai/graphql"
HEADERS = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['FIREFLIES_API_KEY']}",
}
def gql(query, variables=None):
resp = requests.post(API, json={"query": query, "variables": variables}, headers=HEADERS)
data = resp.json()
if "errors" in data:
raise Exception(data["errors"][0]["message"])
return data["data"]
# List recent meetings
meetings = gql("{ transcripts(limit: 5) { id title date duration } }")
for m in meetings["transcripts"]:
print(f"{m['title']} - {m['duration']}min - {m['date']}")
Key Queries Reference
| Query | Purpose | Key Fields |
|---|---|---|
user | Current user info | name, email, is_admin |
users | All workspace users | name, user_id, email |
transcripts(limit: N) | Recent meetings | id, title, date, duration |
transcript(id: "...") | Single meeting | sentences, summary, speakers |
Error Handling
| Error | Cause | Solution |
|---|---|---|
auth_failed | Missing or invalid API key | Verify FIREFLIES_API_KEY is set |
| Empty transcripts array | No meetings recorded yet | Record a meeting or upload audio |
null summary fields | Transcript still processing | Wait for processing to complete |
| Network timeout | API unreachable | Check internet connectivity |
Output
- Working GraphQL queries against
https://api.fireflies.ai/graphql - Transcript listing with metadata
- Meeting summary with action items and keywords
Resources
Next Steps
Proceed to fireflies-core-workflow-a for transcript retrieval and processing.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.