Fathom to Google Docs, meeting notes you can share
You leave a meeting with a “recording,” but what you really need is something people will read. Instead, you’re stuck scrolling through a transcript, pulling out decisions, and rewriting action items so they don’t sound like messy live conversation.
This is where Fathom Google Docs automation pays off. Client-facing consultants feel it when follow-ups have to look polished. Marketing leads need fast recaps for campaigns, not another admin task. And founders just want the team aligned without chasing notes.
This workflow turns a Fathom transcript into a formatted Google Doc in Google Drive, with an AI summary, decisions, and action items. You’ll see what it does, what you need, and how to make it fit your meetings.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Fathom to Google Docs, meeting notes you can share
flowchart LR
subgraph sg0["Structured Output Pa Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Format Key Parts"]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Fields", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Create as HTML"]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Convert to Google Doc"]
n6@{ icon: "mdi:cog", form: "rounded", label: "Upload File as HTML", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Delete HTML File", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "AI Meeting Analysis", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Transcript Present?", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Improve Page Layout"]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Get Fathom Meeting"]
n3 --> n4
n4 --> n6
n2 --> n9
n11 --> n2
n8 --> n3
n9 --> n8
n6 --> n5
n5 --> n7
n5 --> n10
n0 -.-> n8
n1 -.-> n8
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1,n8 ai
class n0 aiModel
class n9 decision
class n5,n10,n11 api
class n2,n4 code
classDef customIcon fill:none,stroke:none
class n2,n4,n5,n10,n11 customIcon
The Problem: Meeting notes take too long to clean up
Fathom gives you a transcript, which is helpful. But transcripts aren’t shareable deliverables. They’re noisy, full of tangents, and the “important bits” are scattered across 45 minutes of conversation. So you end up doing the same routine: skim the transcript, rewrite a summary, confirm the decisions, extract next steps, then format it so it doesn’t look like a rough draft. One missed action item can trigger a week of back-and-forth. And honestly, it’s hard to stay consistent when you’re rushing between calls.
The friction compounds. Here’s where it breaks down most often:
- Someone has to translate raw transcript text into a readable recap, which can take about 30 minutes per meeting.
- Action items get buried, so owners and due dates are “implied” instead of explicit.
- Formatting takes longer than it should because you’re copying content between tools and cleaning it up by hand.
- When notes are late, follow-ups slip, and the meeting you paid for doesn’t turn into momentum.
The Solution: Fathom transcript to polished Google Docs automatically
This n8n workflow listens for a “meeting ended” event from Fathom, grabs the transcript, and checks that it’s worth processing. If the conversation is too thin (fewer than 3 turns), it stops there, which keeps your AI costs under control and avoids filling Drive with junk. When the transcript is valid, Google Gemini analyzes it and returns a structured output: a clean summary, key points, decisions, action items, and next steps. The workflow then turns that structure into styled HTML, uploads it into Google Drive, and converts it into a native Google Doc. Finally, it tweaks the document layout for readability and deletes the temporary HTML file so your folder stays clean.
The workflow starts with a Fathom webhook, then moves into transcript validation and AI analysis. After that, it generates a nicely formatted document, stores it in Google Drive, and converts it into a Google Doc you can share immediately.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you run 10 client calls a week. Manually, even a “quick” process is usually 30 minutes to skim, summarize, format, and upload notes, which is about 5 hours weekly. With this workflow, the “work” is basically zero: the meeting ends, the webhook triggers instantly, and you wait a few minutes for AI processing and Google Doc conversion. You still review the doc, but now that’s a quick scan, not a rewrite.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Fathom for meeting transcripts and webhooks
- Google Drive to store the generated documents
- Google Gemini API key (get it from Google AI Studio)
Skill level: Intermediate. You’ll connect OAuth credentials and paste a webhook URL into Fathom settings.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
Fathom ends the meeting and calls your webhook. n8n receives the transcript payload right away, then responds immediately so Fathom doesn’t time out and retry (which is how duplicate docs happen).
The workflow checks if the transcript is “real.” If there aren’t at least 3 conversation turns, it stops. Short calls, accidental recordings, and empty transcripts don’t get sent to the AI model.
Google Gemini produces a structured meeting review. The workflow prompts Gemini to return predictable sections like key points, decisions, and action items, then parses and maps those fields into a consistent template.
A formatted document is created in Google Drive. n8n generates HTML, uploads it to Drive, converts it into a native Google Doc via the Google API, adjusts page margins for readability, then deletes the temporary HTML file.
You can easily modify the Drive folder location to match your client or project structure. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
Set up the inbound webhook so Fathom can deliver meeting data into the workflow.
- Add and open Receive Fathom Webhook.
- Set HTTP Method to
POST. - Set Path to
2fab6c8f-ade4-49ba-b160-7cf6aa11cb15. - Under Options, keep Raw Body enabled and Binary Property Name set to
dataso the payload is preserved.
Step 2: Connect Transcript Formatting and Validation
Normalize the incoming transcript and confirm enough data exists before AI analysis.
- Open Format Core Segments and confirm the JavaScript is present to build
transcript_merged, attendees, and meeting metadata. - Connect Receive Fathom Webhook → Format Core Segments.
- Open Transcript Available? and verify the conditions:
{{ JSON.stringify($json.transcript_merged) }}is not empty and{{ $json.transcript_merged.length }}is greater than or equal to3. - Connect Format Core Segments → Transcript Available? to gate the AI stage.
Step 3: Set Up AI Summarization
Configure Gemini and the structured parser to generate a consistent meeting summary.
- Open Gemini Chat Engine and set Model Name to
models/gemini-2.5-pro. - Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine.
- Open AI Meeting Review and keep the prompt text as-is, ensuring it references the transcript with
{{ JSON.stringify($json.transcript_merged) }}. - Verify Structured Result Parser is connected as the output parser for AI Meeting Review and the JSON schema example is populated.
- Note: Structured Result Parser is a sub-node — credentials (if needed) should be added to Gemini Chat Engine, not the parser itself.
Step 4: Map Output and Build the HTML Report
Map the AI output into consistent fields and generate the HTML file for Google Docs conversion.
- Open Map Output Fields and verify each assignment expression, including
{{ $json.output["Meeting Title"] + " - " + $json.output["Scheduled Date/Time"].replace(/:/g, "-") }}. - Ensure transcript_merged is set to
{{ $('Format Core Segments').item.json.transcript_merged }}for report rendering. - Open Generate HTML Report and confirm the script produces a binary HTML file and sets the filename to
${o["Meeting Title"]} - Meeting Notes.html. - Connect AI Meeting Review → Map Output Fields → Generate HTML Report.
lines[{ts,text}] from Format Core Segments, so keep that structure intact when editing the code.Step 5: Configure Google Drive Outputs
Upload the HTML, convert it to a Google Doc, then clean up and format the final document.
- Open Upload HTML File and set Name to
{{ $json.filename }}. - Credential Required: Connect your googleDriveOAuth2Api credentials in Upload HTML File.
- Open Convert to Docs File and set URL to
https://www.googleapis.com/drive/v3/files/{{ $json.id }}/copy, with JSON body{"name":"{{ $json.name.replace('.html', '') }}","mimeType":"application/vnd.google-apps.document"}. - Credential Required: Connect your googleDriveOAuth2Api credentials in Convert to Docs File.
- Open Remove HTML Temp File and set File ID to
{{ $('Upload HTML File').item.json.id }}with Delete Permanently enabled. - Credential Required: Connect your googleDriveOAuth2Api credentials in Remove HTML Temp File.
- Open Adjust Doc Layout and keep the
batchUpdateJSON body that sets all margins to36 PT. - Credential Required: Connect your googleDriveOAuth2Api credentials in Adjust Doc Layout.
- Connect Generate HTML Report → Upload HTML File → Convert to Docs File.
- Convert to Docs File outputs to both Remove HTML Temp File and Adjust Doc Layout in parallel.
Step 6: Test and Activate Your Workflow
Validate the complete flow, then enable it for production use.
- Click Execute Workflow and send a sample webhook payload to Receive Fathom Webhook.
- Confirm Transcript Available? passes, and AI Meeting Review outputs structured fields.
- Verify Upload HTML File creates an HTML file, then Convert to Docs File produces a Google Doc.
- Check that Remove HTML Temp File deletes the temporary HTML and Adjust Doc Layout applies margins.
- When successful, toggle the workflow to Active to run automatically on new webhooks.
Common Gotchas
- Google Drive and Google Docs credentials can expire or need specific permissions. If things break, check the n8n credential status and re-authorize the Google OAuth connection first.
- If your transcript is short, the “Transcript Available?” check will stop the run by design. In Fathom, confirm you’re receiving the merged transcript event and that the meeting had at least a few real back-and-forth turns.
- The AI prompt determines your note quality. Default prompts are generic, so add your structure and tone inside the “AI Meeting Review” step early or you will be editing every doc.
Frequently Asked Questions
About 30 minutes if your accounts are ready.
No. You’ll connect credentials, paste a webhook URL into Fathom, and tweak a prompt if you want different sections.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Google Gemini API usage (it often fits in the free tier, but confirm current pricing).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and it’s the best part. Update the prompt in the “AI Meeting Review” step to add sections like risks, blockers, sentiment, or follow-ups. You can also change the Drive folder by editing the upload step, and adjust spacing by tweaking the “Adjust Doc Layout” request. If you want a different template entirely, modify the HTML generation step so your headings, tables, and styling match your brand.
Usually it’s expired or revoked Google OAuth access inside n8n, so re-authorize the Google Drive and Google Docs credentials. It can also be missing permissions for the target folder in Drive, especially if it’s in a Shared Drive. If the conversion call fails, double-check you’re using the correct Google endpoint for “copy” to convert HTML into a native Doc.
A lot.
Often, yes, if you care about document quality and control. This workflow has a few moving parts: validating the transcript, generating structured AI output, creating HTML, converting it to Google Docs, then cleaning up the temporary file. n8n handles that kind of branching logic cleanly, and you can self-host for unlimited runs if volume grows. Zapier and Make can still do it, but you’ll usually pay more once you add filters, multi-step formatting, and higher task volume. If you want help choosing (or you need approvals, folders, and notifications done “the right way”), Talk to an automation expert.
Clean meeting notes should be automatic, not a second job after every call. Set this up once, and you’ll have a shareable Google Doc waiting for you when the meeting ends.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.