Skip to main content
WEBHOOK

Authorizations

X-Api-Key
string
header
required

Include your API key in the X-Api-Key header of every request.

Headers

webhook-id
string
required

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).

Example:

"msg_2x2zwLOcWaRTzsLK8KtbQt1FTk9"

webhook-timestamp
integer
required

Timestamp in seconds since epoch.

Example:

1712345678

webhook-signature
string
required

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.

Example:

"v1,BKQR1BIFjiNPdfpqM3+FH/YckKhX7WIq4/KK6Cc5aDY="

Body

application/json
title
string
required
Example:

"Quarterly Business Review"

meeting_title
string | null
required

Calendar event title.

Example:

"QBR 2025 Q1"

meeting_type
string | null
required

The name of the meeting type assigned to this meeting, or null if none is assigned.

Example:

"Quarterly Business Review"

recording_id
integer
required

The ID of the meeting recording.

Example:

123456789

url
string<uri>
required
Example:

"https://fathom.video/xyz123"

share_url
string<uri>
required
Example:

"https://fathom.video/share/xyz123"

created_at
string<date-time>
required
Example:

"2025-03-01T17:01:30Z"

scheduled_start_time
string<date-time>
required
Example:

"2025-03-01T16:00:00Z"

scheduled_end_time
string<date-time>
required
Example:

"2025-03-01T17:00:00Z"

recording_start_time
string<date-time>
required
Example:

"2025-03-01T16:01:12Z"

recording_end_time
string<date-time>
required
Example:

"2025-03-01T17:00:55Z"

calendar_invitees_domains_type
enum<string>
required
Available options:
only_internal,
one_or_more_external
Example:

"one_or_more_external"

shared_with
enum<string>
required

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.

Available options:
no_teams,
single_team,
multiple_teams,
all_teams
Example:

"single_team"

transcript_language
string
required
Example:

"en"

calendar_invitees
object[]
required
recorded_by
object
required
meeting_url
string<uri> | null

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.

Example:

"https://us02web.zoom.us/j/123456789"

transcript
object[] | null
default_summary
object | null
action_items
object[] | null
highlights
object[] | null
crm_matches
object | null

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.

Response

200

Return any 2xx code to acknowledge receipt.