Skip to main content
WEBHOOK
newMeeting
{
  "title": "Quarterly Business Review",
  "meeting_title": "QBR 2025 Q1",
  "url": "https://fathom.video/xyz123",
  "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",
  "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/xyz123#t=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"
      }
    ]
  }
}

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"

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"

transcript_language
string
required
Example:

"en"

calendar_invitees
object[]
required
recorded_by
object
required
transcript
object[] | null
default_summary
object
action_items
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.

I