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".
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.