Fathom Production Checklist

SkillDev tools

'Production readiness checklist for Fathom API integrations.

Use Fathom Production Checklist in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Fathom Production Checklist and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Fathom Production Checklist skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Fathom Production ChecklistStart free

What this skill tells your AI

The instructions your AI receives, as published by jeremylongshore/tons-of-skills-marketplace in skills/.curated/fathom-prod-checklist/SKILL.md and read by Ahel’s review.

Prerequisites

  • A named tenant/data owner, approved recording/consent/data-use policy, identity/secret boundary, and rollback plan.

Instructions

  1. Complete evidence gates for access, consent, retention, integrations, CRM mapping, observability, incident response, and rollback.
  2. Validate a synthetic or approved canary workflow and verify its access/data boundaries.
  3. Block production enablement when any data, consent, security, ownership, or recovery gate is unverified.

Output

  • A production-readiness receipt with evidence, owner, exceptions, canary result, and tested rollback path.

Examples

Pilot a production-like configuration using approved synthetic meeting data, verify consent/access/CRM behavior and alert routing, then observe the stated window. Restore the prior configuration if any gate fails; do not widen access or send real follow-ups to conceal a defect.

Overview

Fathom provides AI-powered meeting intelligence with automated transcription, summaries, and action item extraction. A production integration ingests meeting recordings, processes transcripts, and syncs action items to downstream systems. Failures mean lost meeting context, missed follow-ups, or transcript data leaking outside authorized channels. This checklist ensures reliable, compliant meeting data pipelines.

Authentication & Secrets

  • FATHOM_API_KEY stored in secrets manager (not environment files)
  • OAuth app registered if building public-facing integration
  • Key rotation schedule documented (90-day cycle)
  • Separate credentials for dev/staging/prod environments
  • Webhook signing secret configured for payload verification

API Integration

  • Production base URL configured (https://api.fathom.video/v1)
  • Rate limit handling with backoff (60 req/min standard tier)
  • Webhook endpoint registered and tested with sample payloads
  • Meeting recording retrieval handles large file downloads
  • Transcript pagination implemented for long meetings (>60 min)
  • Action item extraction tested with various meeting formats
  • Calendar integration sync verified (Google Calendar / Outlook)

Error Handling & Resilience

  • Circuit breaker configured for Fathom API outages
  • Retry with exponential backoff for 429/5xx responses
  • Empty or partial transcript handling (silent meetings, poor audio)
  • Webhook delivery failures trigger re-fetch via polling
  • Meeting data PII handling documented (GDPR consent, retention)
  • Backup webhook URL configured for failover

Monitoring & Alerting

  • API latency tracked per endpoint (meetings, transcripts)
  • Error rate alerts set (threshold: >5% over 10 minutes)
  • Failed transcript processing triggers notification
  • Webhook delivery success rate monitored
  • Daily digest of processed meeting counts vs scheduled

Validation Script

async function checkFathomReadiness(): Promise<void> {
  const checks: { name: string; pass: boolean; detail: string }[] = [];
  // API connectivity
  try {
    const res = await fetch('https://api.fathom.video/v1/meetings?limit=1', {
      headers: { Authorization: `Bearer ${process.env.FATHOM_API_KEY}` },
    });
    checks.push({ name: 'Fathom API', pass: res.ok, detail: res.ok ? 'Connected' : `HTTP ${res.status}` });
  } catch (e: any) { checks.push({ name: 'Fathom API', pass: false, detail: e.message }); }
  // Credentials present
  checks.push({ name: 'API Key Set', pass: !!process.env.FATHOM_API_KEY, detail: process.env.FATHOM_API_KEY ? 'Present' : 'MISSING' });
  // Webhook endpoint reachable
  const webhookUrl = process.env.FATHOM_WEBHOOK_URL;
  if (webhookUrl) {
    try {
      const res = await fetch(webhookUrl, { method: 'HEAD' });
      checks.push({ name: 'Webhook Endpoint', pass: res.ok, detail: `HTTP ${res.status}` });
    } catch (e: any) { checks.push({ name: 'Webhook Endpoint', pass: false, detail: e.message }); }
  } else { checks.push({ name: 'Webhook Endpoint', pass: false, detail: 'URL not configured' }); }
  for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`);
}
checkFathomReadiness();

Error Handling

CheckRisk if SkippedPriority
API key rotationExpired key halts transcript pipelineP1
Webhook verificationSpoofed payloads inject bad dataP1
PII retention policyGDPR/CCPA violation on meeting dataP1
Empty transcript handlingDownstream systems crash on nullP2
Rate limit backoffBulk meeting import blocked by 429P3

Resources

Next Steps

See fathom-security-basics for meeting data privacy and consent patterns.

Signals

GitHub stars
3k
Forks
415
Last commit
Oct 2026
Advanced
Item type
skill
Key
fathom-prod-checklist
Source
github.com/jeremylongshore/tons-of-skills-marketplace