From fathom-pack
Configure Fathom webhooks for real-time meeting notifications. Use when setting up automated meeting processing, receiving real-time transcripts, or triggering workflows when meetings complete. Trigger with phrases like "fathom webhook", "fathom notifications", "fathom real-time", "fathom event handler".
npx claudepluginhub flight505/skill-forge --plugin fathom-packThis skill is limited to using the following tools:
Fathom webhooks send meeting data to your URL when recordings are ready. Webhooks can include summary, transcript, and action items. Configure in Settings or via API.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Fathom webhooks send meeting data to your URL when recordings are ready. Webhooks can include summary, transcript, and action items. Configure in Settings or via API.
curl -X POST -H "X-Api-Key: ${FATHOM_API_KEY}" \
-H "Content-Type: application/json" \
https://api.fathom.ai/external/v1/webhooks \
-d '{
"url": "https://your-app.com/webhooks/fathom",
"include_summary": true,
"include_transcript": true,
"include_action_items": true,
"fire_on_own_meetings": true,
"fire_on_shared_meetings": false
}'
Navigate to Settings > Integrations > Webhooks > Create Webhook.
{
"type": "meeting_content_ready",
"recording_id": "rec-abc123",
"url": "https://fathom.video/call/abc123",
"share_url": "https://fathom.video/share/abc123",
"title": "Product Review Q1",
"summary": "Discussed roadmap priorities...",
"transcript": [...],
"action_items": [...]
}
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/webhooks/fathom", methods=["POST"])
def fathom_webhook():
event = request.json
if event.get("type") == "meeting_content_ready":
recording_id = event["recording_id"]
summary = event.get("summary", "")
actions = event.get("action_items", [])
# Process meeting data
print(f"Meeting ready: {event.get('title')} ({len(actions)} action items)")
return jsonify({"received": True}), 200
# Test with webhook.site
curl -X POST https://webhook.site/your-uuid \
-H "Content-Type: application/json" \
-d '{"type": "meeting_content_ready", "recording_id": "test"}'
# Or use ngrok for local testing
ngrok http 5000
For performance optimization, see fathom-performance-tuning.