brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
fathom-webhooks-eventsConfigure 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".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: fathom-webhooks-events description: '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".
' allowed-tools: Read, Write, Edit, Bash(curl:*) version: 1.6.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
| Condition | Safe response |
|---|---|
| Signature fails | Reject the event and investigate configuration without logging secrets/payload content. |
| Duplicate event arrives | Return idempotent success and avoid duplicate CRM/follow-up actions. |
| Processing fails permanently | Quarantine it with redacted metadata and fix the contract before replay. |
Test a development callback using a synthetic event, verify signature, deduplication, and a bounded failure path, then record only event ID/state/result. Do not persist transcript text, meeting content, contacts, or webhook secrets in the diagnostics.
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.