{
"title": "Quarterly Business Review",
"meeting_title": "QBR 2025 Q1",
"meeting_type": "Quarterly Business Review",
"url": "https://fathom.video/xyz123",
"meeting_url": "https://us02web.zoom.us/j/123456789",
"share_url": "https://fathom.video/share/xyz123",
"created_at": "2025-03-01T17:01:30Z",
"scheduled_start_time": "2025-03-01T16:00:00Z",
"scheduled_end_time": "2025-03-01T17:00:00Z",
"recording_start_time": "2025-03-01T16:01:12Z",
"recording_end_time": "2025-03-01T17:00:55Z",
"calendar_invitees_domains_type": "one_or_more_external",
"shared_with": "single_team",
"transcript": [
{
"speaker": {
"display_name": "Jane Doe",
"matched_calendar_invitee_email": "jane.doe@acme.com"
},
"text": "Let's revisit the budget allocations.",
"timestamp": "00:05:32"
},
{
"speaker": {
"display_name": "John Smith",
"matched_calendar_invitee_email": "john.smith@client.com"
},
"text": "I agree, we need to adjust our projections.",
"timestamp": "00:05:40"
}
],
"default_summary": {
"template_name": "general",
"markdown_formatted": "## Summary\nWe reviewed Q1 OKRs, identified budget risks, and agreed to revisit projections next month.\n"
},
"action_items": [
{
"description": "Email revised proposal to client",
"user_generated": false,
"completed": false,
"recording_timestamp": "00:10:45",
"recording_playback_url": "https://fathom.video/calls/xyz123?timestamp=645",
"assignee": {
"name": "Jane Doe",
"email": "jane.doe@acme.com",
"team": "Marketing"
}
}
],
"calendar_invitees": [
{
"name": "Alice Johnson",
"matched_speaker_display_name": "Alice Johnson",
"email": "alice.johnson@acme.com",
"is_external": false,
"email_domain": "acme.com"
},
{
"name": "Jane Doe",
"matched_speaker_display_name": "Jane Doe",
"email": "jane.doe@acme.com",
"is_external": false,
"email_domain": "acme.com"
},
{
"name": "John Smith",
"matched_speaker_display_name": "John Smith",
"email": "john.smith@client.com",
"is_external": true,
"email_domain": "client.com"
}
],
"recorded_by": {
"name": "Alice Johnson",
"email": "alice.johnson@acme.com",
"team": "Customer Success",
"email_domain": "acme.com"
},
"crm_matches": {
"contacts": [
{
"name": "John Smith",
"email": "john.smith@client.com",
"record_url": "https://app.hubspot.com/contacts/123"
}
],
"companies": [
{
"name": "Acme Corp",
"record_url": "https://app.hubspot.com/companies/456"
}
],
"deals": [
{
"name": "Q1 Renewal",
"amount": 50000,
"record_url": "https://app.hubspot.com/deals/789"
}
]
}
}New meeting content ready
Webhook sent to the URL you register in Fathom settings.
{
"title": "Quarterly Business Review",
"meeting_title": "QBR 2025 Q1",
"meeting_type": "Quarterly Business Review",
"url": "https://fathom.video/xyz123",
"meeting_url": "https://us02web.zoom.us/j/123456789",
"share_url": "https://fathom.video/share/xyz123",
"created_at": "2025-03-01T17:01:30Z",
"scheduled_start_time": "2025-03-01T16:00:00Z",
"scheduled_end_time": "2025-03-01T17:00:00Z",
"recording_start_time": "2025-03-01T16:01:12Z",
"recording_end_time": "2025-03-01T17:00:55Z",
"calendar_invitees_domains_type": "one_or_more_external",
"shared_with": "single_team",
"transcript": [
{
"speaker": {
"display_name": "Jane Doe",
"matched_calendar_invitee_email": "jane.doe@acme.com"
},
"text": "Let's revisit the budget allocations.",
"timestamp": "00:05:32"
},
{
"speaker": {
"display_name": "John Smith",
"matched_calendar_invitee_email": "john.smith@client.com"
},
"text": "I agree, we need to adjust our projections.",
"timestamp": "00:05:40"
}
],
"default_summary": {
"template_name": "general",
"markdown_formatted": "## Summary\nWe reviewed Q1 OKRs, identified budget risks, and agreed to revisit projections next month.\n"
},
"action_items": [
{
"description": "Email revised proposal to client",
"user_generated": false,
"completed": false,
"recording_timestamp": "00:10:45",
"recording_playback_url": "https://fathom.video/calls/xyz123?timestamp=645",
"assignee": {
"name": "Jane Doe",
"email": "jane.doe@acme.com",
"team": "Marketing"
}
}
],
"calendar_invitees": [
{
"name": "Alice Johnson",
"matched_speaker_display_name": "Alice Johnson",
"email": "alice.johnson@acme.com",
"is_external": false,
"email_domain": "acme.com"
},
{
"name": "Jane Doe",
"matched_speaker_display_name": "Jane Doe",
"email": "jane.doe@acme.com",
"is_external": false,
"email_domain": "acme.com"
},
{
"name": "John Smith",
"matched_speaker_display_name": "John Smith",
"email": "john.smith@client.com",
"is_external": true,
"email_domain": "client.com"
}
],
"recorded_by": {
"name": "Alice Johnson",
"email": "alice.johnson@acme.com",
"team": "Customer Success",
"email_domain": "acme.com"
},
"crm_matches": {
"contacts": [
{
"name": "John Smith",
"email": "john.smith@client.com",
"record_url": "https://app.hubspot.com/contacts/123"
}
],
"companies": [
{
"name": "Acme Corp",
"record_url": "https://app.hubspot.com/companies/456"
}
],
"deals": [
{
"name": "Q1 Renewal",
"amount": 50000,
"record_url": "https://app.hubspot.com/deals/789"
}
]
}
}Authorizations
Include your API key in the X-Api-Key header of every request.
Headers
Unique message identifier for the webhook message. This identifier is unique across all messages, but will be the same when the same webhook is being resent (e.g. due to a previous failure).
"msg_2x2zwLOcWaRTzsLK8KtbQt1FTk9"
Timestamp in seconds since epoch.
1712345678
Signature with version prefix and base64-encoded value. Format is <version>,<base64_signature>. Multiple signatures may be space-delimited (e.g. v1,RmF0aG9t v2,QVBJ). How to verify webhook signatures.
"v1,BKQR1BIFjiNPdfpqM3+FH/YckKhX7WIq4/KK6Cc5aDY="
Body
"Quarterly Business Review"
Calendar event title.
"QBR 2025 Q1"
The name of the meeting type assigned to this meeting, or null if none is assigned.
"Quarterly Business Review"
The ID of the meeting recording.
123456789
"https://fathom.video/xyz123"
"https://fathom.video/share/xyz123"
"2025-03-01T17:01:30Z"
"2025-03-01T16:00:00Z"
"2025-03-01T17:00:00Z"
"2025-03-01T16:01:12Z"
"2025-03-01T17:00:55Z"
only_internal, one_or_more_external "one_or_more_external"
Who the meeting is shared with within your organization. no_teams: private to the recorder. single_team: shared with one team. multiple_teams: shared with multiple teams. all_teams: shared with everyone in the organization.
no_teams, single_team, multiple_teams, all_teams "single_team"
"en"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The underlying meeting join URL (Zoom, Google Meet, Microsoft Teams, or Slack huddle) from the calendar event. null when there is no associated calendar meeting.
"https://us02web.zoom.us/j/123456789"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
CRM data linked to the meeting. Only returns data from your or your team's linked CRM.
If no CRM is connected for the workspace, the error field will be populated.
Show child attributes
Show child attributes
Response
Return any 2xx code to acknowledge receipt.

