new-meeting-content-ready, so no event-type filtering is needed on your side.
How it works
- Fathom sends a POST request to your Nango webhook URL when a recording you’re subscribed to finishes processing.
- Nango verifies the delivery’s signature (if you’ve set a Webhook secret), then routes the event to a connection.
- 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
- Fathom dashboard
- Fathom API
- Go to Settings → API Access → Manage and select Add Webhook.
- Enter your Nango webhook URL as the destination — see Connection matching below for whether to append
?nangoConnectionId=<CONNECTION-ID>. - 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).
- 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
nangoConnectionIdquery param, Nango matches the event’srecorded_by.emailagainstmetadata.emailAddresson your connections. Use this when you have one Nango connection per team member and want each person’s recordings routed to their own connection. Setmetadata.emailAddresson 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 withnangoConnectionIdis rejected if the connection doesn’t exist, has nowebhookSecretin 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.
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
webhookSubscriptionsandonWebhookin a sync script. See Real-time syncs.
Rollback strategy
To stop deliveries, delete the webhook using theid Fathom returned when you created it:
nangoConnectionId routing (one per connection, per step 4), repeat this for each webhook id.