Sync Fathom calls to Close and post action items in Slack

Every 30 minutes, log new Fathom call recordings as Close notes, create tasks for each action item, and post a Slack recap so nothing falls through the cracks.

Agentic Task
CloseFathomSlack BotSalesOperationsMeeting WorkflowsData SyncNotifications & Alerts

Build an agent workflow that runs on a cron every 30 minutes. The agent keeps Close clean and the team informed about Fathom call activity.

On each run, the agent should:

1. Call Fathom's List Meetings, filtered to meetings that ended within the last 30 minutes (use the previous run window plus a small overlap to avoid gaps). For each meeting, include the summary and action items in the response so we don't have to make extra calls just for those.

2. For each meeting, fetch the full transcript with Fathom's Get Transcript so we can pull quoted highlights for the Close note.

3. Match the meeting to a Close lead by attendee email. Use Close's List Leads with an email query (search by each external attendee's email, not internal team members). If multiple leads match, prefer the lead that is currently open and most recently active. If no lead matches, skip the meeting and add it to an unmatched list for the Slack recap.

4. On a match, call Close's Create Note on the lead. The note body should be a clean recap with these sections in order: a one-line outcome, the meeting summary, key objections raised, next steps, and 2-3 quoted highlights pulled from the transcript. Include the Fathom recording URL at the top of the note so reps can jump back to the source. Use HTML formatting so the note renders nicely in Close.

5. For each action item Fathom surfaced on the call, call Close's Create Task on the same lead. Set the task text to the action item, assign it to the Close user whose email matches the action item's owner when possible (otherwise the lead owner), and set a due date: if the action item mentions a specific date, use that; otherwise default to 2 business days out.

6. After processing all meetings, post a single message to Slack with Slack Bot's Send a Message to the channel the user configures (default: #sales). The message should have three sections: Calls logged (each call with the lead name and a link to the Close lead), Open action items grouped by owner (each item with the lead and due date), and Unmatched calls (each meeting title with the attendee emails so a rep can fix the mismatch). Use Slack mrkdwn formatting and keep it scannable.

Guardrails: never create duplicate notes for the same Fathom recording (check the most recent notes on the lead for a Fathom recording URL match before creating). If Fathom returns zero meetings in the window, skip the Slack post entirely (don't spam the channel with empty recaps). Respect Close and Fathom rate limits with backoff on 429s.

Additional information

What does this prompt do?
  • Logs every new Fathom call as a clean recap on the matching Close lead, with outcome, objections, next steps, and quoted highlights.
  • Creates a Close task for each action item the call surfaced, with the right owner and due date so follow-ups actually happen.
  • Posts a single Slack message every 30 minutes listing the calls processed, the leads they were logged against, and the open action items grouped by owner.
  • Flags any Fathom meeting whose attendees do not match a Close lead so a rep can fix the email mismatch.
What do I need to use this?
  • A Close account with API access for the workspace you want call activity logged to.
  • A Fathom account that records your sales calls and a user who can see those meetings.
  • A Slack workspace and a channel where the recap message should be posted.
How can I customize it?
  • Change how often it runs. 30 minutes is the default, but you can move it to every 15 minutes, hourly, or once at the end of the day.
  • Pick which Slack channel the recap goes to, or send it as a DM to the sales manager instead.
  • Tune what goes into the Close note. Add a deal-stage check, include the call's quoted highlights, or drop the transcript link.
  • Adjust the action-item rules. Set default due dates, route tasks to a specific Close user, or skip action items that have no owner.

Frequently asked questions

What if a Fathom call has no matching Close lead?
The agent will not create a note or tasks for that meeting. Instead, it lists the unmatched call in the Slack recap with the attendee emails, so a rep can either fix the email on the lead or create the lead manually.
Will this create duplicate notes if a call gets processed twice?
No. The agent only pulls Fathom meetings that ended in the last interval, so each call is picked up once. If you change the schedule, the agent will still skip calls it has already logged based on the recording reference in the note.
Can I use this with Calendly, Zoom, or Google Meet recordings instead of Fathom?
This prompt is wired for Fathom. The same pattern works for any AI notetaker we support, but you would swap the meeting source. Start from this prompt and ask the workflow author to use a different recorder.
Does it work with Close starter plans?
Yes. Notes and tasks are available on every Close plan. You just need API access enabled on your account.
Where do action item owners come from?
Fathom assigns each action item to a meeting attendee. The agent matches that person to a Close user by email when possible, and falls back to the lead owner when there's no match. Unowned action items are still posted in Slack so they don't get lost.

Stop letting call follow-ups fall through the cracks.

Connect Close, Fathom, and Slack once, and Geni keeps your CRM clean and your team in the loop every 30 minutes.