Execute Fireflies.ai production deployment checklist with health checks and rollback. Use when deploying Fireflies.ai integrations to production, preparing for launch, or implementing go-live procedures. Trigger with phrases like "fireflies production", "deploy fireflies", "fireflies go-live", "fireflies launch checklist".
85
83%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Complete checklist for deploying Fireflies.ai integrations to production. Covers API key management, webhook setup, health checks, and monitoring.
FIREFLIES_API_KEY in secret manager (not env file)FIREFLIES_WEBHOOK_SECRET configured (16-32 chars)auth_failed, too_many_requests, require_ai_credits)x-hub-signature header verified on every request// /api/health
export async function GET() {
const checks: Record<string, any> = {};
// Fireflies API connectivity
try {
const start = Date.now();
const res = await fetch("https://api.fireflies.ai/graphql", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.FIREFLIES_API_KEY}`,
},
body: JSON.stringify({ query: "{ user { email } }" }),
signal: AbortSignal.timeout(5000),
});
const json = await res.json();
checks.fireflies = {
status: json.errors ? "error" : "healthy",
latencyMs: Date.now() - start,
error: json.errors?.[0]?.code,
};
} catch (err) {
checks.fireflies = { status: "unreachable", error: (err as Error).message };
}
const allHealthy = Object.values(checks).every((c: any) => c.status === "healthy");
return Response.json(
{ status: allHealthy ? "healthy" : "degraded", checks },
{ status: allHealthy ? 200 : 503 }
);
}| Alert | Condition | Severity |
|---|---|---|
| Auth failure | Any auth_failed error | P1 -- API key may be revoked |
| Rate limited | 429 errors > 5/min | P2 -- backoff or upgrade plan |
| API unreachable | Health check fails 3x | P1 -- check Fireflies status |
| Webhook backlog | Queue > 100 events | P3 -- scale webhook processor |
set -euo pipefail
# Verify staging passes
curl -f https://staging.example.com/api/health | jq '.checks.fireflies'
# Verify production API key works
curl -s -X POST https://api.fireflies.ai/graphql \
-H "Authorization: Bearer $FIREFLIES_API_KEY_PROD" \
-H "Content-Type: application/json" \
-d '{"query": "{ user { email is_admin } }"}' | jq .set -euo pipefail
# Deploy with your platform
# Vercel: vercel --prod
# Docker: docker push && kubectl apply
# Fly.io: fly deploy --app production
# Verify health immediately
curl -f https://production.example.com/api/health | jq .set -euo pipefail
# Verify webhook is registered
curl -s -X POST https://api.fireflies.ai/graphql \
-H "Authorization: Bearer $FIREFLIES_API_KEY_PROD" \
-H "Content-Type: application/json" \
-d '{"query": "{ user { email } }"}' | jq .
# Test webhook delivery (upload a short audio file)
curl -s -X POST https://api.fireflies.ai/graphql \
-H "Authorization: Bearer $FIREFLIES_API_KEY_PROD" \
-H "Content-Type: application/json" \
-d '{
"query": "mutation($input: AudioUploadInput) { uploadAudio(input: $input) { success message } }",
"variables": { "input": { "url": "https://example.com/test.mp3", "title": "Deploy Test" } }
}' | jq .set -euo pipefail
# Immediate rollback
# Platform-specific: revert deployment to previous version
# Verify rollback
curl -f https://production.example.com/api/health | jq '.checks.fireflies'| Issue | Cause | Solution |
|---|---|---|
| Auth fails post-deploy | Wrong API key in production secrets | Update secret, redeploy |
| Webhook not firing | URL not saved in Fireflies dashboard | Re-register at app.fireflies.ai/settings |
| Rate limiting in prod | Burst traffic on deploy | Enable request queuing |
| Missing transcripts | Bot not joining meetings | Verify calendar integration is connected |
For version upgrades, see fireflies-upgrade-migration.
3a2d27d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.