协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
fathom-webhooks-events【开发与工程】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".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
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.