Skip to main content
Fathom sends a webhook once a recording finishes processing — there’s a single event, new-meeting-content-ready, so no event-type filtering is needed on your side.

How it works

  1. Fathom sends a POST request to your Nango webhook URL when a recording you’re subscribed to finishes processing.
  2. Nango verifies the delivery’s signature (if you’ve set a Webhook secret), then routes the event to a connection.
  3. The payload includes the transcript, summary, and action items you asked for when creating the webhook — there’s no separate API call needed to fetch them.

Setup

1. Get your Nango webhook URL

In the Nango dashboard, open your Fathom integration and copy the Webhook URL.

2. Create the webhook in Fathom

  1. Go to Settings → API Access → Manage and select Add Webhook.
  2. Enter your Nango webhook URL as the destination — see Connection matching below for whether to append ?nangoConnectionId=<CONNECTION-ID>.
  3. Choose which recordings trigger it (your own, shared with you, shared with your team) and which content to include (transcript, summary, action items, CRM matches).
  4. Save the webhook and copy the secret it generates — you’ll only see it once. You’ll use it in the next step.

3. Set the webhook secret in Nango

Where you store the secret Fathom returned depends on which routing mode you use — see Connection matching below.
  • Email-routed (no nangoConnectionId): in the Nango dashboard, open your Fathom integration, go to the Settings tab, and enter the secret into the Webhook Secret field.
  • nangoConnectionId-routed: store the secret on that specific connection’s metadata instead — see step 4 below. Do not use the integration-level Webhook Secret field for this mode.
If no Webhook secret is set on the integration, Nango accepts email-routed deliveries without verifying their signature. Deliveries using nangoConnectionId always require a webhook secret set on that specific connection — see Connection matching.

4. For nangoConnectionId routing: create one webhook per connection

Fathom issues a distinct secret each time you create a webhook, so a single integration-level secret can’t verify deliveries for more than one nangoConnectionId-routed connection. If you’re routing more than one connection this way, repeat step 2 to create a separate Fathom webhook per connection — each with its own destination URL (?nangoConnectionId=<CONNECTION-ID>) and its own secret — then store each connection’s secret as webhookSecret in that connection’s metadata via Set connection metadata.

Connection matching

A Fathom workspace can have multiple team members recording meetings, so Nango supports two ways to route a delivery to a connection:
  • By email (default) — if the destination URL has no nangoConnectionId query param, Nango matches the event’s recorded_by.email against metadata.emailAddress on your connections. Use this when you have one Nango connection per team member and want each person’s recordings routed to their own connection. Set metadata.emailAddress on each connection via Set connection metadata. Signature verification, if enabled, uses the integration-level Webhook Secret.
  • By nangoConnectionId — append ?nangoConnectionId=<CONNECTION-ID> to the destination URL when creating the webhook. Every delivery for that webhook routes to that one connection regardless of who recorded it. Because the connection is chosen from a value in the URL, Nango requires a webhook secret set on that connection’s metadata (not the integration-level one) to verify it — a delivery with nangoConnectionId is rejected if the connection doesn’t exist, has no webhookSecret in its metadata, or its signature doesn’t verify against it. If you route multiple connections this way, each needs its own Fathom webhook and its own secret — see step 4 above.
If neither matches — no nangoConnectionId and no connection has a matching metadata.emailAddress — the delivery is still accepted, but isn’t routed anywhere.

Handle the webhook

Once routed, you have two options:
  • Forward it to your app — Nango forwards the event to your webhook URL with connection attribution. See External webhook forwarding.
  • Process it in a sync — run a sync when the webhook arrives using webhookSubscriptions and onWebhook in a sync script. See Real-time syncs.

Rollback strategy

To stop deliveries, delete the webhook using the id Fathom returned when you created it:
Or delete it from Settings → API Access → Manage in the Fathom dashboard. If you created multiple webhooks for nangoConnectionId routing (one per connection, per step 4), repeat this for each webhook id.
Need help getting started? Join us in the community.