skills/sales-fireflies/SKILL.md
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).
npx skillsauth add sales-skills/sales sales-firefliesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
tools
UpViral platform help — viral referral marketing and list-building platform (by Emarky) for viral sweepstakes, giveaway/reward campaigns, pre-launch waiting lists, and milestone referral programs, with REST API (app.upviral.com/api/v1/), callback-URL webhooks, PHP SDK, fraud detection (IP-based suspicious-referral flagging), A/B testing, smart leaderboards, unlockable incentives, and 30+ native ESP/CRM integrations (Mailchimp, ActiveCampaign, ConvertKit, AWeber, HubSpot, Klaviyo, Intercom) plus Zapier/Make/Pipedream/Integrately/Pabbly. Use when UpViral campaigns aren't tracking referral points correctly, deciding between Starter $79/mo annual (10K leads, 1 brand, NO API) vs Business $119/mo (25K, 2 brands, API + webhooks unlocked) vs Premium $319/mo (100K, 5 brands, dedicated account manager), the API returns errors because you're on the Starter tier where API/webhooks are gated, building an UpViral→CRM or UpViral→data-warehouse pipeline with add_contact / get_leads / get_leads_points / add_points / get_custom_fields / lists methods (uvapikey + uvmethod form-encoded POST), interpreting fraud flags where same-IP referrals get marked suspicious and you must manually activate/delete/blacklist, setting up the Callback URL (webhook) to fire on reward-unlock events, Zapier New Lead / New Reward Unlocked triggers not firing, ClickFunnels/Shopify/funnel-builder integration breaking, the drag-and-drop page builder showing broken widgets or limited customization, the setup feeling long and complicated for your first campaign, or picking UpViral over Viral Loops / KickoffLabs / Vyper / Prefinery / Gleam / KingSumo / ShortStack for a viral campaign. Do NOT use for general newsletter audience growth strategy across all platforms (use /sales-audience-growth), newsletter monetization (use /sales-newsletter), KickoffLabs-specific help (use /sales-kickofflabs), no-code merge-tag newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations (use /sales-sparkloop), or full-stack multi-level Level-1/2/3 referral/affiliate tracking (use /sales-referralhero).
development
ReferralHero platform help — full-stack referral, affiliate, waitlist, contest, and NPS platform with subscriber API, webhooks, Zapier, Mailchimp/Kit/AWeber/Klaviyo/ActiveCampaign/SendLane connectors, coupon codes, multi-level referral tracking (Level 1/2/3), anti-fraud, and 5,000 calls/hour rate limit. Use when ReferralHero campaigns aren't tracking referrals correctly, deciding between PRO $199/mo (10K members, includes API + webhooks) and PREMIUM $399/mo (50K members, adds ReCaptcha + SMS verification), authentication is failing with no_token or X-API-Key header is being ignored, multi-level referral counts (Level 2/3) aren't appearing for downline subscribers, coupon group endpoints return 404 or coupon arrays max out, hitting the 5,000 calls/hour soft limit and getting too_many_calls 429s, the Mailchimp/Kit native integration is double-adding subscribers, webhook payloads aren't firing on confirmation events, importing Stripe customer IDs through transaction tracking, generating reward fulfillment when subscribers cross milestone thresholds (promote/unlock_promoted_reward), comparing ReferralHero against SparkLoop/ReferralKit/Viral Loops/GrowSurf/KickoffLabs for referral marketing, or routing referral data via add_bulk_transactions (500-transaction batch limit). Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code newsletter-only referral with merge-tag insertion (use /sales-referralkit), SparkLoop's paid recommendations or partner network (use /sales-sparkloop), or affiliate program strategy across many platforms (use /sales-affiliate-program).
tools
KickoffLabs platform help — viral marketing platform for pre-launch waitlists, bonus-entry giveaways, milestone-reward referral programs, leaderboard giveaways, and email opt-in bribes with REST API v1 + v2, server-side webhooks (in/out), KOL.js JavaScript library, AnyForm script for custom pages, fraud detection (duplicate_ip / bounced / duplidate_email flags), SMS verification add-on, native ESP integrations (Klaviyo, Mailchimp, ActiveCampaign, Brevo), website builders (Webflow, Wix, Squarespace, Weebly), Shopify, Facebook Audiences, Slack, Zapier. Use when KickoffLabs viral campaigns aren't tracking referrals correctly, deciding between Hobby $13/mo annual (500 leads/mo no A/B no reward emails) vs Premium $48/mo (2.5K + A/B + reward emails + tracking pixels) vs Business $99/mo (10K + custom email templates + custom domains + advanced reporting + 3 team) vs Enterprise $202/mo (25K + 5 team + SMS included), API key getting rejected because you embedded it in client-side JavaScript instead of server-side, can't decide whether to use v1 /subscribe vs v2 /tags/:TAG_ID/lead for lead creation, webhook payloads firing with `__fraudulent` flag and you need to interpret the duplicate_ip/bounced/duplidate_email reason codes (yes, duplidate is spelled that way in their docs), AnyForm script not posting to KickoffLabs vs native API endpoint, leaderboard endpoint returning more than 50 leads is not allowed, social_id (kid in share URLs) attribution chain breaking between v1 and v2, contest score vs lead count metrics in the webhook payload are confusing, SMS Verification only available on Premium+ as $50/mo add-on (Enterprise includes), per-month lead cap auto-upgrades at $8 per 1000 overage leads, picking between KickoffLabs and Viral Loops / UpViral / Prefinery / ReferralCandy / Voucherify for viral campaign type fit, or rate limit per tier (10-100 calls/minute) is hitting on bulk imports. Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code merge-tag-only newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations + partner network (use /sales-sparkloop), or full-stack referral/affiliate with multi-level Level-1/2/3 tracking (use /sales-referralhero).
development
Routes any sales, marketing, ad, or GTM objective to the right specialized skill and outputs the install command for that skill plus a ready-to-paste prompt packed with the user's context. Asks clarifying questions when the objective is ambiguous, then hands back a copy-paste-runnable next step. Covers prospecting, outbound cadences, deals, proposals, forecasting, deliverability, enrichment, intent, content, coaching, CRO, SEO, launch directories, newsletters, email/SMS/push marketing, chatbots, influencer marketing, social media, employee advocacy, media relations, reviews, data hygiene, B2B advertising, retargeting, affiliate, loyalty, digital products, memberships, webinars, checkout, and platform-specific help. Use when the user has a sales or marketing question and isn't sure which skill to use, or wants a multi-skill sequence with a batch install command. Do NOT use to solve problems directly — this skill only routes.