| name | fireflies-performance-tuning |
| description | Optimize Fireflies.ai GraphQL query performance with field selection, caching, and batching.
Use when experiencing slow API responses, implementing caching,
or optimizing transcript processing throughput.
Trigger with phrases like "fireflies performance", "optimize fireflies",
"fireflies latency", "fireflies caching", "fireflies slow", "fireflies batch".
|
| allowed-tools | Read, Write, Edit |
| version | 1.11.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","fireflies","api","performance"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Fireflies.ai Performance Tuning
Overview
Optimize Fireflies.ai GraphQL API performance. The biggest wins: request only needed fields (transcripts with sentences can be very large), cache immutable transcripts, and batch operations within rate limits.
Prerequisites
FIREFLIES_API_KEY configured
- Understanding of your access pattern (list vs detail, frequency)
- Optional: Redis or LRU cache library
Instructions
Step 1: Field Selection -- The Biggest Win
Transcript responses with sentences can be enormous. Always request the minimum fields needed.
const HEAVY = `{ transcripts(limit: 50) {
id title date duration sentences { text speaker_name start_time end_time }
summary { overview action_items keywords outline bullet_gist }
analytics { speakers { name duration word_count } }
} }`;
const LIGHT = `{ transcripts(limit: 50) {
id title date duration organizer_email
} }`;
const DETAIL = `query($id: String!) { transcript(id: $id) {
id title
sentences { speaker_name text start_time end_time }
summary { overview action_items keywords }
} }`;
Step 2: Cache Transcripts (They Are Immutable)
Once a transcript is processed, its content never changes. Cache aggressively.
import { LRUCache } from "lru-cache";
const transcriptCache = new LRUCache<string, any>({
max: 500,
ttl: 1000 * 60 * 60,
});
() {
cached = transcriptCache.(id);
(cached) cached;
data = (, { id });
transcriptCache.(id, data.);
data.;
}