From fireflies-pack
Configure Fireflies.ai GraphQL API authentication and verify connectivity. Use when setting up a new Fireflies.ai integration, configuring API keys, or initializing the GraphQL client for transcript access. Trigger with phrases like "install fireflies", "setup fireflies", "fireflies auth", "configure fireflies API key".
npx claudepluginhub flight505/skill-forge --plugin fireflies-packThis skill is limited to using the following tools:
Set up Fireflies.ai GraphQL API authentication. Fireflies uses a single GraphQL endpoint at `https://api.fireflies.ai/graphql` with Bearer token auth. No SDK needed -- all interaction is via HTTP POST with GraphQL queries.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Set up Fireflies.ai GraphQL API authentication. Fireflies uses a single GraphQL endpoint at https://api.fireflies.ai/graphql with Bearer token auth. No SDK needed -- all interaction is via HTTP POST with GraphQL queries.
set -euo pipefail
# Create .env file (NEVER commit to git)
echo 'FIREFLIES_API_KEY=your-api-key-here' >> .env
# Add to .gitignore
echo '.env' >> .gitignore
echo '.env.local' >> .gitignore
set -euo pipefail
# Node.js -- graphql-request is lightweight and typed
npm install graphql-request graphql
# Or use plain fetch -- no library needed
# Python -- use requests
pip install requests
// verify-fireflies.ts
const FIREFLIES_API = "https://api.fireflies.ai/graphql";
async function verifyConnection() {
const query = `{ user { name email is_admin } }`;
const response = await fetch(FIREFLIES_API, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.FIREFLIES_API_KEY}`,
},
body: JSON.stringify({ query }),
});
const result = await response.json();
if (result.errors) {
throw new Error(`Auth failed: ${result.errors[0].message}`);
}
const user = result.data.user;
console.log(`Connected as: ${user.name} (${user.email})`);
console.log(`Admin: ${user.is_admin}`);
return user;
}
verifyConnection().catch(console.error);
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": "{ user { name email } }"}' | jq .
import os, requests
FIREFLIES_API = "https://api.fireflies.ai/graphql"
def verify_connection():
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['FIREFLIES_API_KEY']}",
}
query = '{ user { name email is_admin } }'
resp = requests.post(FIREFLIES_API, json={"query": query}, headers=headers)
data = resp.json()
if "errors" in data:
raise Exception(f"Auth failed: {data['errors'][0]['message']}")
user = data["data"]["user"]
print(f"Connected as: {user['name']} ({user['email']})")
return user
verify_connection()
| Plan | Limit | Notes |
|---|---|---|
| Free / Pro | 50 requests/day | Cannot upload audio on Free |
| Business | 60 requests/min | Full API access |
| Enterprise | 60 requests/min | Super Admin webhooks |
| Error | Code | Solution |
|---|---|---|
auth_failed | 401 | Check API key is valid and not expired |
too_many_requests | 429 | Rate limit hit -- back off and retry |
account_cancelled | 403 | Subscription inactive -- renew plan |
| Network timeout | - | Verify outbound HTTPS to api.fireflies.ai |
https://api.fireflies.ai/graphqluser queryAfter successful auth, proceed to fireflies-hello-world for your first transcript query.