fireflies-hello-world
Quick-start guide for the Fireflies.ai GraphQL API with simple, copy-paste examples.
Install
mkdir -p .claude/skills/fireflies-hello-world && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4686" && unzip -o skill.zip -d .claude/skills/fireflies-hello-world && rm skill.zipInstalls to .claude/skills/fireflies-hello-world
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create a minimal working Fireflies.ai example that queries transcripts.Key capabilities
- →List workspace users
- →Fetch recent meeting transcripts
- →Retrieve meeting summaries with action items
- →Query transcript metadata including duration and participants
- →Execute GraphQL queries against the Fireflies.ai API
How it works
The skill provides code snippets to send POST requests to the Fireflies.ai GraphQL endpoint. It uses the provided API key for authentication to retrieve structured meeting data.
Inputs & outputs
When to use fireflies-hello-world
- →Testing Fireflies.ai integration
- →Querying meeting data
- →Learning basic API request patterns
About this skill
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.
When not to use it
- →When no meetings have been recorded in the Fireflies account
- →When the transcript processing is incomplete resulting in null summary fields
Prerequisites
Limitations
- →Requires an active internet connection to reach the API
- →Summary fields return null if the transcript is still processing
How it compares
This approach provides pre-written, verified GraphQL query templates for common tasks instead of manually constructing API requests from scratch.
Compared to similar skills
fireflies-hello-world side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| fireflies-hello-world (this skill) | 1 | 27d | Caution | Beginner |
| swapper-integration | 6 | 5mo | Caution | Intermediate |
| run-api-e2e-tests | 7 | 6mo | Review | Beginner |
| langfuse-ci-integration | 2 | 27d | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
swapper-integration
shapeshift
Integrate new DEX aggregators, swappers, or bridge protocols (like Bebop, Portals, Jupiter, 0x, 1inch, etc.) into ShapeShift Web. Activates when user wants to add, integrate, or implement support for a new swapper. Guides through research, implementation, and testing following established patterns.
run-api-e2e-tests
novuhq
Run e2e tests for the API service. Use when the user wants to run API E2E tests.
langfuse-ci-integration
jeremylongshore
Configure Langfuse CI/CD integration with GitHub Actions and automated testing. Use when setting up automated testing, configuring CI pipelines, or integrating Langfuse tests into your build process. Trigger with phrases like "langfuse CI", "langfuse GitHub Actions", "langfuse automated tests", "CI langfuse", "langfuse pipeline".
api-test-generator
mikopbx
Генерация полных Python pytest тестов для REST API эндпоинтов с валидацией схемы. Использовать при создании тестов для новых эндпоинтов, добавлении покрытия для CRUD операций или валидации соответствия API с OpenAPI схемами.
http-generate
spring-ai-alibaba
Generates HTTP request examples for Spring Boot Web interfaces according to task specification and saves them as .http files in module-generate.md directories
openapi-analyzer
mikopbx
Извлечение и анализ OpenAPI 3.1.0 спецификации из MikoPBX для валидации эндпоинтов. Использовать при проверке соответствия API, генерации тестов, проверке схем эндпоинтов или интеграции с навыками endpoint-validator и api-test-generator.