Connect Fathom with Statisfy
The Fathom integration pulls your Fathom meetings — transcripts, Fathom’s own summary, action items, and participants — into Statisfy. Meetings are matched to the right customer account and surface alongside the rest of the activity timeline. Prerequisites:- Admin access in Statisfy (Fathom is an org-wide connection and requires the Integrations: manage permission)
- A Fathom account with access to the meetings you want to sync
- A connected CRM (Salesforce or HubSpot) — non-CRM integrations are gated until at least one CRM sync has completed
Fathom is connected once for the whole organization, not per user. Statisfy can only sync the meetings the connecting Fathom user can access — their own recordings plus meetings shared with their Fathom team. Recordings other users haven’t shared won’t sync, so connect with an account that has access to your team’s customer calls.
What Gets Synced
Steps to Connect with Statisfy
- Log in to Statisfy as an admin.
- Navigate to Integrations → Fathom → Connect.
-
Authorize Statisfy in the Fathom window that opens. Statisfy requests Fathom’s
public_apiscope. Tokens are stored encrypted in Google Cloud Secret Manager and refreshed automatically — you won’t need to re-authorize unless the grant is revoked in Fathom. - Once connected, the bootstrap job runs a one-time historical backfill (default 30 days). Meetings, transcripts, and summaries flow into Statisfy.
- The periodic sync runs every 4 hours with a 12-hour lookback window, so meetings Fathom is still processing at the end of a call are picked up on a later run.
- Find synced meetings on each Account under AI Timeline → Source: Fathom, or in the global Activities view filtered by source.
How Meetings Appear in Statisfy
- Account matching — Statisfy resolves the account from the meeting’s external attendee emails and domains, and from the meeting title. Meetings that don’t resolve to a CRM customer are not created as activities.
- People matching — Transcript speakers are matched to People records using the calendar invitee email Fathom associates with each speaker. Speakers without a matched email are kept with their display name only.
- AI processing — Fathom meetings run through the same call-recording pipeline as other meeting sources, so Statisfy’s meeting classification, AI fields, and post-meeting action items apply. Fathom’s own summary and action items are retained as well.
- Playback stays in Fathom — Statisfy does not copy audio or video. The activity links out to the Fathom recording.
Sync Behavior
Time-bounded pulls:- Meetings are selected by when they were created in Fathom. The bootstrap run covers the last 30 days; each periodic run covers the last 12 hours.
- Each run pages through results 50 meetings at a time, up to 5,000 meetings per run.
- Fathom allows 60 API calls per minute per user. Because transcripts and summaries are fetched per recording, Statisfy paces its requests deliberately — a large backfill can take a while to finish.
- Statisfy honors
Retry-Afteron HTTP 429 responses and retries with exponential backoff (up to 5 attempts) before failing the affected request.
- If a transcript or summary can’t be fetched for one meeting, the meeting is still synced without that piece rather than being dropped.
- A failure on a single meeting does not abort the run — other meetings continue to process.
- If Fathom returns HTTP 401, the credential is automatically marked invalid in Statisfy — reconnect to restore syncing.
- If every meeting in a run fails, the job is marked FAILED in the integrations audit log so the failure is visible to admins.
Troubleshooting
Authentication failed or the integration shows as disconnected
Authentication failed or the integration shows as disconnected
- Confirm the Fathom authorization hasn’t been revoked in Fathom for the connected account.
- If the Fathom user who authorized the connection has been deactivated, reconnect with an active account.
- On an HTTP 401, Statisfy marks the credential invalid — reconnect from Integrations → Fathom.
Meetings not appearing in Statisfy
Meetings not appearing in Statisfy
- Ensure your CRM integration (Salesforce or HubSpot) has completed at least one successful sync. Until then, Fathom jobs are skipped.
- Confirm the meeting’s external attendees match an existing account by email domain or CRM linkage. Meetings with no resolvable CRM customer are not created.
- Check that the meeting is visible to the connected Fathom account — another user’s unshared recording won’t sync.
- Very recent meetings may still be processing in Fathom. The 12-hour lookback window picks them up on a later run.
A meeting synced but the transcript or summary is missing
A meeting synced but the transcript or summary is missing
- Fathom may not have finished generating the transcript or summary when the meeting was pulled. The next run within the lookback window fills it in.
- Statisfy syncs the meeting even when one of those calls fails, so the activity can appear before its transcript does. Contact support@statisfy.com with the meeting title and date if it stays missing.
Only part of a large historical backfill appeared
Only part of a large historical backfill appeared
- The bootstrap backfill covers the last 30 days and up to 5,000 meetings per run. Older meetings, or volume beyond that, need a manual backfill — contact support@statisfy.com with the date range you need.
Duplicate meetings on the timeline
Duplicate meetings on the timeline
- Statisfy deduplicates by Fathom recording ID, so the same recording won’t be created twice. If you also have another meeting source connected (for example Zoom, Gong, or Granola), the same call can surface from both. Filter by Source in the Activities view to see where each entry came from.
Attendees are missing or marked as the wrong type
Attendees are missing or marked as the wrong type
- Statisfy builds the participant list from Fathom’s calendar invitees, the recorder, and transcript speakers, so members hidden behind a group alias (for example
all-team@) are still captured if they spoke. - Internal vs. external is determined by your organization’s domain and alias domains. If teammates on a secondary domain show as external, ask your admin to add that domain to your tenant’s alias domains.