skills/sales-fathom/SKILL.md
Fathom AI note-taker platform help — REST API for pulling meeting transcripts, summaries, action items, and CRM matches into CRMs, data warehouses, or Slack. Use when transcripts not syncing to HubSpot/Salesforce, Fathom webhook signatures failing HMAC verification, bot blocked by Google Meet as a security risk, OAuth app can't include transcript inline, building a Fathom→Snowflake/BigQuery pipeline, rate-limited at 60 calls/minute, or picking between Fathom free tier vs Premium vs Team vs Business. Do NOT use for selecting between Fathom and competitors like Fireflies/Gong/Avoma (use /sales-note-taker) or reviewing specific call recordings (use /sales-call-review).
npx skillsauth add sales-skills/sales sales-fathomInstall 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 Fathom knowledge.
What are you trying to do?
/sales-note-takerWhich auth path?
X-Api-Key header)Which Fathom plan?
Skip-ahead rule: if the user's prompt already has the context, skip to Step 2.
| User situation | Route to |
|---|---|
| "Fathom vs Fireflies vs Gong vs Avoma — which should we pick" | /sales-note-taker {question} |
| "Review this Fathom recording and score it" | /sales-call-review {question} |
| "Manager coaching program using Fathom recordings" | /sales-coaching {question} |
| "Build a generic Zapier/Make/n8n workflow" | /sales-integration {question} |
| Anything Fathom-platform-specific (API, webhooks, pricing, integrations, bot behavior) | Stay here |
When routing, use the exact command: /sales-{skill} {user's original question}.
Read references/platform-guide.md for the full platform reference — modules, pricing tiers, integrations, plan-gated features, special programs.
Read references/fathom-api-reference.md for verbatim API docs — endpoints, request/response schemas, OAuth flow, webhook HMAC verification, rate limits, SDK methods.
Answer using only the relevant section. Don't dump the entire reference.
Once you have the relevant reference content:
POST /webhooks with include_transcript=true and the right triggered_for array) and fall back to polling GET /meetings?created_after=...&cursor=... for backfill/reconciliation. For OAuth apps, always use the separate GET /recordings/{id}/transcript endpoint (the inline include_transcript param is disabled for OAuth).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 (2026-04) — review pricing tier limits and plan-gated features before quoting customers.
include_transcript or include_summary query params on GET /meetings. Must fetch these separately via GET /recordings/{recording_id}/transcript and GET /recordings/{recording_id}/summary. Plan this into pipelines — it's 1 extra API call per meeting for OAuth builds.include_transcript, include_crm_matches, include_summary, or include_action_items to be true. An empty payload is rejected.429 with the RateLimit-Reset header. Heavy requests are stricter: 30/min (down to 5/min in high-activity periods) for the recordings endpoints and any GET /meetings with include_summary/include_transcript — this is the binding limit for transcript/summary backfills, not the global 60.webhook-id, webhook-timestamp, webhook-signature). The secret string starts with whsec_ — strip that prefix and base64-decode the remainder before HMACing. Signed content is ${id}.${timestamp}.${raw_body}. Verify timestamp within 5 minutes to prevent replay.sdks/breaking-changes/* before upgrading./sales-note-taker — Picking a note-taker (Fathom vs Fireflies vs Avoma vs Gong vs Otter vs Fellow vs Grain vs Sembly vs Read.ai) and cross-vendor integration patterns/sales-call-review — Review a specific Fathom recording and score against MEDDPICC/SPIN/Challenger/sales-coaching — Use Fathom recordings in coaching programs, onboarding, certifications/sales-integration — Zapier/Make/n8n workflows to move Fathom data to other tools/sales-salesloft — Pair Fathom meetings with Salesloft cadence engagement/sales-zoominfo — Alternative conversation intelligence via Chorus if Fathom doesn't fit/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-do -a claude-code -yUser says: "I built a webhook receiver for Fathom but transcripts aren't showing up in Snowflake — webhooks hit but payload looks wrong" Skill does:
include_transcript=true (otherwise payload has no transcript body)GET /meetings?created_after={yesterday} to catch any webhook deliveries that failedRetry-After
Result: Correct webhook payload shape + reconcile-poll fallback so no transcripts get lost.User says: "Building a SaaS that lets each customer connect their Fathom — do I use API keys or OAuth?" Skill does:
fathom.video/marketplace_applications/new, exchange code for tokens, implement TokenStore with persistent storage (SQLite/Postgres/Redis), never use newTokenStore() in productioninclude_transcript/include_summary on the /meetings endpoint — must fetch per-recording, so plan for N extra calls per listing pagepublic_api is currently the only OAuth scope
Result: OAuth architecture plan with token storage, redirect URI, and N+1 call pattern for transcripts.User says: "We're 4 reps on Fathom free — what's the cheapest plan that gives us HubSpot sync?" Skill does:
Cause: Not stripping whsec_ prefix before decoding, or comparing raw bytes instead of base64-encoded strings
Solution: base64.b64decode(secret.split('_')[1]) — HMAC the signed content ${webhook-id}.${webhook-timestamp}.${raw_body} (must be raw body, NOT JSON-parsed-and-re-serialized), base64-encode the digest, compare against each signature in the webhook-signature header (strip version prefix v1, first). Verify timestamp within 5 minutes.
429 Too Many Requests during bulk backfillCause: Exceeding the global 60 calls/minute per-user rate limit
Solution: Read the RateLimit-Remaining and RateLimit-Reset headers on every response. The global limit is 60/min, but transcript/summary pulls hit the heavy-request limit of 30/min (≈1 every 2 seconds, and as low as 5/min during high-activity periods) — pace the transcript/summary calls to that, not to 60. For OAuth apps fetching N meetings + N transcripts + N summaries, that's 3N calls (the 2N transcript+summary calls count as heavy) — budget accordingly. Adding more API keys to the same user account doesn't help (limit is user-based, not key-based).
Cause: OAuth apps cannot use include_transcript=true on GET /meetings — the field silently returns null
Solution: After listing meetings, fetch transcript per recording with GET /recordings/{recording_id}/transcript. Same for summary — use GET /recordings/{recording_id}/summary. Both endpoints support async mode via destination_url query param, which POSTs the result to your URL instead of returning inline (useful for large backfills that would otherwise time out).
references/learnings.md with today's date.tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).