Agent Skills: Fathom Webhooks & Events

|

UncategorizedID: jeremylongshore/claude-code-plugins-plus-skills/fathom-webhooks-events

Install this agent skill to your local

pnpm dlx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/HEAD/plugins/saas-packs/fathom-pack/skills/fathom-webhooks-events

Skill Files

Browse the full folder contents for fathom-webhooks-events.

Download Skill

Loading file tree…

plugins/saas-packs/fathom-pack/skills/fathom-webhooks-events/SKILL.md

Skill Metadata

Name
fathom-webhooks-events
Description
|

Fathom Webhooks & Events

Overview

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.

Webhook Setup

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
  }'

Via Settings

Navigate to Settings > Integrations > Webhooks > Create Webhook.

Webhook Payload

{
  "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": [...]
}

Webhook Handler

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

Testing Webhooks

# 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

Resources

Next Steps

For performance optimization, see fathom-performance-tuning.