Fathom API Skill: Pull Meeting Transcripts, Summaries, and Action Items into Your AI Workflows
14,962+ downloads and 11 stars on ClawHub. The fathom-api skill by @byungkyu connects OpenClaw agents to Fathom — the AI meeting notetaker — through Maton's managed OAuth gateway. Your agents can retrieve meeting recordings, transcripts, summaries, and action items without handling OAuth tokens or credentials directly.
The Problem It Solves
Fathom records your meetings, generates transcripts, and creates AI summaries automatically. That's the easy part. The hard part is getting that data into your workflows — routing action items to task managers, syncing summaries to your CRM, or building an AI that can answer "what did we discuss with that client last month?"
The Fathom API makes this possible, but OAuth token management adds friction. The fathom-api skill eliminates that friction by routing all requests through Maton's gateway, which handles token injection automatically.
How It Works
The skill uses the Maton API Gateway pattern. A single MATON_API_KEY authenticates with Maton; the gateway then injects the correct Fathom OAuth token for each request:
Agent → gateway.maton.ai/fathom/{endpoint} → api.fathom.ai
↑ adds OAuth token automatically
Your agent never holds raw OAuth credentials. Connections are managed separately at ctrl.maton.ai.
Quick Start
# Set your Maton API key
export MATON_API_KEY="your-key-here"
# List recent meetings
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/fathom/external/v1/meetings')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOFSetting Up Your Fathom Connection
Before making API calls, authorize your Fathom account via Maton:
# Create a new connection
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'fathom'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
result = json.load(urllib.request.urlopen(req))
print(result['connection']['url']) # Open this URL to complete OAuth
EOFOpen the returned URL in a browser to complete Fathom OAuth authorization. One-time setup per account.
Core API Operations
List Meetings with Filters
The meetings endpoint supports powerful filtering:
python <<'EOF'
import urllib.request, os, json
from urllib.parse import urlencode
params = urlencode({
'created_after': '2026-01-01T00:00:00Z',
'teams[]': 'Sales',
'calendar_invitees_domains_type': 'one_or_more_external'
})
req = urllib.request.Request(
f'https://gateway.maton.ai/fathom/external/v1/meetings?{params}'
)
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOFAvailable filters:
created_after/created_before— date rangeteams[]— filter by team name (e.g., Sales, Engineering)recorded_by[]— filter by recorder's emailcalendar_invitees_domains[]— filter by company domaincalendar_invitees_domains_type—all,only_internal,one_or_more_external
Retrieve a Meeting Transcript
python <<'EOF'
import urllib.request, os, json
recording_id = "YOUR_RECORDING_ID"
req = urllib.request.Request(
f'https://gateway.maton.ai/fathom/recordings/{recording_id}/transcript'
)
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOFNote: OAuth users must use dedicated transcript/summary endpoints — the
include_transcriptparameter on the meetings list endpoint is only available for API key (non-OAuth) access.
Set Up Webhooks
Register a webhook to receive real-time notifications when new meetings are recorded:
python <<'EOF'
import urllib.request, os, json
payload = {
'url': 'https://your-server.com/webhook',
'events': ['meeting.recorded'],
'include_transcript': True,
'include_summary': True
}
data = json.dumps(payload).encode()
req = urllib.request.Request(
'https://gateway.maton.ai/fathom/webhooks',
data=data, method='POST'
)
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOFFathom includes a signature header on webhook payloads for authenticity verification. Rate limit: 60 API calls/minute per user.
Practical Use Cases
Sales call analysis pipeline: Pull all Sales team meetings from the past week, extract transcripts, and feed them to an LLM for objection pattern analysis and rep coaching insights.
Post-meeting automation: Use webhooks to trigger immediately when a meeting ends — auto-route action items to Notion/Asana, push summary to Slack, update CRM with key highlights.
Meeting search: Build an internal tool that answers "what did we discuss with [company]?" by querying meetings filtered by calendar_invitees_domains[] and running semantic search on transcripts.
Compliance documentation: Filter by only_internal meetings to build an audit trail of internal decisions with timestamps and participant records.
Multi-Account Support
If you manage multiple Fathom accounts (e.g., different teams or clients), the Maton-Connection header lets you target a specific connection:
req.add_header('Maton-Connection', 'connection-id-here')List your connections at https://ctrl.maton.ai to get connection IDs.
Fathom Pricing (as of 2026)
| Plan | Monthly | Notable Limits |
|---|---|---|
| Free | $0 | Unlimited recordings, 5 AI summaries/month |
| Premium | $19/mo | Unlimited summaries |
| Team Edition | $29/mo | Team sharing + CRM sync |
| Team Edition Pro | $39/mo | Advanced analytics |
The free tier's unlimited recordings make Fathom accessible even before committing to a paid plan. API access is available on all tiers.
Considerations
- Rate limit: 60 calls/minute — implement pagination with cursors for large meeting histories; don't hammer the API in bulk.
- Zoom-first: Fathom works best on Zoom. Google Meet and Teams are supported but have occasional compatibility issues.
- English-only transcription as of early 2026 — check the Fathom roadmap for language expansion.
- OAuth scope: A Fathom API key can only access meetings recorded by that user or shared to their Team — you cannot query cross-organization data.
- No retrospective transcription: Fathom must be present during the live meeting. It cannot transcribe recordings uploaded after the fact.
The Bigger Picture
Fathom represents the first generation of "ambient meeting intelligence" — AI that captures what's said without requiring manual note-taking. The fathom-api skill takes this a step further: it makes Fathom's captured intelligence programmatically available to AI agents that can act on it, close the loop, and route insights to the right places automatically.
The combination of unlimited free recording + developer API is a deliberate product decision. Fathom is betting that developers building on top of meeting data are the distribution vector. This skill is designed for exactly that.
View the skill on ClawHub: fathom-api