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.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
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
- Complete evidence gates for access, consent, retention, integrations, CRM mapping, observability, incident response, and rollback.
- Validate a synthetic or approved canary workflow and verify its access/data boundaries.
- 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_KEYstored 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
| Check | Risk if Skipped | Priority |
|---|---|---|
| API key rotation | Expired key halts transcript pipeline | P1 |
| Webhook verification | Spoofed payloads inject bad data | P1 |
| PII retention policy | GDPR/CCPA violation on meeting data | P1 |
| Empty transcript handling | Downstream systems crash on null | P2 |
| Rate limit backoff | Bulk meeting import blocked by 429 | P3 |
Resources
- Fathom API Docs
- Fathom Status
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
github.com/jeremylongshore/tons-of-skills-marketplace
Related picks
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScriptoutlook_calendar
Skill · win4r
The pick for Outlookanalyzing-outlook-pst-for-email-forensics
Skill · mukul975
The pick for Outlooksecrets-exposure-review
Skill · naodeng
The pick for Secretssecrets-with-git-crypt
Skill · derailed-dash
The pick for Secrets