fireflies-deploy-integration
Installation
SKILL.md
Fireflies.ai Deploy Integration
Overview
Deploy applications that integrate with Fireflies.ai's meeting transcription service. Covers configuring the GraphQL API connection, deploying webhook receivers for transcript notifications, and managing API credentials across deployment platforms.
Prerequisites
- Fireflies.ai account with API access (Business or Enterprise plan)
- Fireflies API key stored in
FIREFLIES_API_KEYenvironment variable - Platform CLI installed (vercel, docker, or gcloud)
- GraphQL client for Fireflies API at
api.fireflies.ai/graphql
Instructions
Step 1: Configure Secrets
# Vercel
vercel env add FIREFLIES_API_KEY production
# Docker
echo "FIREFLIES_API_KEY=your-key" >> .env.production
Step 2: GraphQL Client Setup
// lib/fireflies.ts
const FIREFLIES_API = "https://api.fireflies.ai/graphql";
export async function firefliesQuery(query: string, variables?: any) {
const response = await fetch(FIREFLIES_API, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.FIREFLIES_API_KEY}`,
},
body: JSON.stringify({ query, variables }),
});
const result = await response.json();
if (result.errors) throw new Error(result.errors[0].message);
return result.data;
}
Step 3: Deploy Webhook Receiver
// api/webhooks/fireflies.ts
export async function POST(req: Request) {
const { event_type, meeting_id, data } = await req.json();
if (event_type === "Transcription completed") {
const transcript = await firefliesQuery(`
query { transcript(id: "${meeting_id}") {
title duration speakers { name } summary { overview action_items }
}}
`);
await processTranscript(transcript);
}
return Response.json({ received: true });
}
Step 4: Docker Deployment
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000 # 3000: 3 seconds in ms
CMD ["node", "dist/index.js"]
Step 5: Health Check
export async function GET() {
try {
await firefliesQuery("{ user { email } }");
return Response.json({ status: "healthy", service: "fireflies" });
} catch {
return Response.json({ status: "unhealthy" }, { status: 503 }); # HTTP 503 Service Unavailable
}
}
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| GraphQL auth error | Invalid API key | Regenerate key in Fireflies dashboard |
| No transcripts | Bot not invited | Ensure Fireflies bot joins meetings |
| Webhook not firing | Webhook not registered | Register via GraphQL mutation |
| Query timeout | Large transcript | Paginate results or request specific fields |
Examples
Register Webhook
set -euo pipefail
curl -X POST https://api.fireflies.ai/graphql \
-H "Authorization: Bearer $FIREFLIES_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { addWebhook(input: { url: \"https://api.yourapp.com/webhooks/fireflies\", events: [\"Transcription completed\"] }) { id } }"}'
Resources
Next Steps
For webhook handling, see fireflies-webhooks-events.
Output
- Configuration files or code changes applied to the project
- Validation report confirming correct implementation
- Summary of changes made and their rationale
Weekly Installs
22
Repository
jeremylongshore…s-skillsGitHub Stars
2.1K
First Seen
Feb 19, 2026
Security Audits