Fireflies.ai platform help — AI meeting note-taker with GraphQL API, webhooks (V1 + V2), AskFred AI, real-time events, and Fred bot that joins Zoom/Meet/Teams to transcribe. Use when Fireflies transcripts not syncing to CRM, webhooks not firing or signatures failing HMAC verification, hitting 50 req/day or 60 req/min rate limits on the GraphQL API, building a transcript pipeline from Fireflies to Snowflake/BigQuery/warehouse, migrating from Webhooks V1 to V2, the Fireflies bot not joining calls or users wanting to disable auto-join, deciding between Free, Pro ($10), Business ($19), or Enterprise ($39) tier, or wiring AskFred or Real-time API into an internal app. Do NOT use for comparing Fireflies vs Fathom/Avoma/Gong or selecting a note-taker (use /sales-note-taker) or reviewing a single sales call for coaching (use /sales-call-review).
If references/learnings.md exists, read it first for accumulated platform knowledge.
Ask the user:
What's your goal?
Who owns the meetings?
If API integration, destination?
Skip-ahead rule: if the prompt already has enough context, skip to Step 2.
| Problem domain | Route to |
|---|---|
| Comparing Fireflies vs Fathom/Avoma/Gong/Otter, picking a note-taker | Run: /sales-note-taker {user's original question} |
| Reviewing a specific call for coaching or scoring | Run: /sales-call-review {user's original question} |
| Building a coaching program from call data | Run: /sales-coaching {user's original question} |
| General CRM integration patterns (iPaaS, Zapier, webhooks) across tools | Run: /sales-integration {user's original question} |
Otherwise, answer directly below.
Read references/platform-guide.md for the full platform reference — modules, pricing, integrations, GraphQL data model, common workflows (CRM sync, warehouse pipeline, HMAC verification, Webhooks V2 migration).
Read references/fireflies-api-reference.md for verbatim GraphQL docs — every query, mutation, webhook schema, and SDK example. Grep for the specific operation you need (e.g., transcripts( or uploadAudio or meeting.summarized) rather than loading the whole file.
Answer the user's question using only the relevant section. Don't dump the full reference.
You no longer need the platform guide — focus on the user's specific situation.
transcript.sentences + audio_url + summary for 100 meetings in one query — GraphQL complexity limits bite. Fetch metadata in one query, then fetch transcripts per-meeting in response to webhooks.meeting.transcribed + meeting.summarized events, granular subscription). V1 still works but only fires one event and uses a different payload shape.If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there with today's date.
Best-effort from research — review plan-gated features and integration details before quoting to a customer.
organizer_email). If a non-owner attendee recorded the meeting via Fred, no webhook fires for them. Team-wide webhooks exist but require Enterprise + Super Admin.X-Hub-Signature with sha256=<hex> format, but V1 has one event (Transcription completed) with meetingId/eventType payload, while V2 supports meeting.transcribed and meeting.summarized with meeting_id/event/timestamp. Don't mix consumers.meeting.transcribed ≠ meeting.summarized. Transcript is ready before the AI summary is. Subscribe to both if you need action items / notes — or accept a 1-3 minute delay and fetch summary by polling after transcript./sales-note-taker — Note-taker selection + cross-vendor integration patterns (Fathom, Fireflies, Avoma, Gong, Otter, Fellow, Grain, Sembly, Read.ai)/sales-fathom — Fathom platform help (REST API, Svix HMAC, OAuth, SDKs, MCP, pricing)/sales-call-review — Review a specific call for coaching/sales-coaching — Build coaching programs that consume call data/sales-integration — General CRM/tool integration patterns (Zapier, webhooks, iPaaS)/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-doUser says: "My Fireflies webhook fires, but the transcript body is empty when I fetch it. What's wrong?" Skill does:
meeting.summarized instead of (or in addition to) meeting.transcribed — then fetch transcript after summary eventtranscript(id: ...) query 60-180s after the webhook, with exponential backoffsha256=<hex> on X-Hub-Signature) — points to the Node/Python examples in references/fireflies-api-reference.md
Result: Root-caused the empty-transcript race, with two concrete fixes.User says: "We have 30 reps doing ~50 calls/week and want every transcript in BigQuery within 5 min. Which Fireflies tier?" Skill does:
meeting.summarized → Cloud Run → transcripts(id: ...) query → raw JSON to GCS + normalized rows to BigQuery via scheduled load
Result: Tier recommendation grounded in both pricing and the team-webhook gotcha.User says: "Fireflies keeps joining meetings I didn't ask it to. How do I stop this?" Skill does:
#noff, #onff) or direct disableSymptom: A meeting completes, transcript is viewable in the dashboard, but no webhook POST is received.
Cause: The webhook is configured under a user account that isn't the meeting owner (organizer_email). Fireflies only fires for the owner.
Solution: Either (a) make the user with the configured webhook the organizer of the calendar event, or (b) upgrade to Enterprise and set up a Super Admin team-wide webhook that catches all org meetings regardless of owner. Verify your endpoint accepts POST with Content-Type: application/json and responds 2xx within 10 seconds.
Symptom: {"errors": [{"message": "auth_failed"}]} on every request.
Cause: Authorization header missing, malformed, or using a rotated/expired key.
Solution: Confirm the header is exactly Authorization: Bearer your_api_key (note: word Bearer + space + key). Regenerate the key in dashboard → Integrations → Fireflies API if you suspect rotation. API keys are user-scoped — if you're trying to access a teammate's meetings, you need them shared to your account or a Super Admin key on Enterprise.
Symptom: After ~50 requests, every call returns a rate-limit error until the next day.
Cause: Free/Pro plans are intentionally capped at 50 requests per day (not per minute). This is not the same as Business's 60 req/min ceiling.
Solution: Either upgrade to Business ($19/seat/mo annual) for 60 req/min, or spread the backfill across multiple days using the date_from/date_to filter on transcripts(...). For production pipelines, Business is effectively the minimum viable tier.