Fireflies to Google Drive, follow ups ready to send
You finish a great call, then the real work starts. Hunting for the transcript, pulling out the key points, writing a follow-up that doesn’t sound copied, and trying to save it somewhere your team will actually find later.
This is where Fireflies follow-up automation pays off. A sales manager wants consistent outreach, a busy founder wants speed, and a client success lead wants clean handoffs. Same headache, different stakes.
This workflow turns Fireflies transcripts into a set of ready-to-send follow-up messages, then files everything neatly in Google Drive. You’ll see what it fixes, how the flow works, and what you need to run it.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Fireflies to Google Drive, follow ups ready to send
flowchart LR
subgraph sg0["Calendar Event Flow"]
direction LR
n0["<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/graphql.png' width='40' height='40' /></div><br/>Transcript Query"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Appointment Fields", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Follow-up Message Agent", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Gemini Chat Engine", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Save Messages to Drive", pos: "b", h: 48 }
n5@{ icon: "mdi:play-circle", form: "rounded", label: "Calendar Event Trigger", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Remove Empty Transcripts", pos: "b", h: 48 }
n6 --> n2
n0 --> n6
n2 --> n4
n1 --> n0
n5 --> n1
n3 -.-> n2
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 n5 trigger
class n2 ai
class n3 aiModel
class n6 decision
classDef customIcon fill:none,stroke:none
class n0 customIcon
The Challenge: Turning Great Calls Into Timely Follow-Ups
Follow-ups fall through the cracks for one simple reason: they’re “small” tasks that show up at the worst time. You’re jumping to the next meeting, Slack is noisy, and by the time you return to the transcript, the urgency is gone. Even when you do send something, it’s often a generic recap that misses the real pain points the prospect mentioned, so it doesn’t move the deal forward. And if you’re working with a team, the handoff gets messy fast because the notes live in five different places.
It adds up fast. Here’s where it breaks down in real life.
- You waste about 30 minutes per meeting just locating the right transcript, skimming it, and pulling the key details into something usable.
- Follow-up emails end up vague, which means prospects don’t reply because nothing feels specific to their situation.
- Handoffs get sloppy when the “latest” version is sitting in someone’s inbox or personal Google Drive.
- If the transcript isn’t available yet, people still try to write the follow-up, then rework it later. That’s double effort.
The Fix: Auto-Generate Follow-Ups From Fireflies and File Them
This workflow starts the moment a new appointment appears on your calendar. It pulls out the guest’s details (like email, start time, end time, and who created the event), then uses that email to look up the matching transcript in Fireflies via a GraphQL query. If Fireflies doesn’t have a record yet, the workflow simply stops so you’re not generating nonsense. When a transcript exists, an AI agent reads the summary, participants, and the conversation itself, then drafts 12 personalized follow-up messages that reference the exact topics and pain points discussed. Finally, the messages are saved into a Google Drive folder named after the guest, so your team has one obvious place to find them.
The workflow begins with a Google Calendar trigger, then maps appointment fields into a Fireflies transcript query. Next, AI generates the follow-ups in a consistent, conversational style. Google Drive becomes the filing cabinet at the end, so the output stays organized and shareable.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you run 10 client or sales calls a week. Manually, you might spend about 30 minutes per call to find the Fireflies transcript, skim it, draft a follow-up, and save it somewhere. That’s roughly 5 hours weekly. With this workflow, the “work” becomes reviewing a set of 12 drafted options and choosing one, which usually takes about 5 minutes. You’re buying back about 4 hours most weeks, and the follow-ups go out while the call is still fresh.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Calendar to trigger on new appointments.
- Fireflies for transcript access through GraphQL.
- Google Drive to store follow-ups in shared folders.
- Google Gemini API key (get it from Google AI Studio / Gemini API in Google Cloud).
Skill level: Intermediate. You’ll connect credentials, confirm a GraphQL query, and tweak an AI prompt without breaking the structure.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A new calendar event kicks it off. When an appointment is created in Google Calendar, the workflow captures the event and prepares it for processing.
Guest details get cleaned up. n8n maps the important fields (guest email, start/end time, status, and creator) so the next steps have consistent data to work with.
Fireflies is queried for the transcript. Using the guest email, the GraphQL step requests the transcript content plus useful context like participants and summary. If nothing comes back, the workflow stops right there. Simple, and honestly necessary.
AI generates follow-ups, then Drive stores them. The AI agent creates 12 conversational follow-up messages based on what was actually discussed, and Google Drive saves the output into a folder named after the guest.
You can easily modify the prompt tone to match your brand voice based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Google Calendar Trigger
This workflow starts when a new calendar event is created and passes appointment data to the rest of the flow.
- Add and open Calendar Event Trigger.
- Set Trigger On to
eventCreated. - Select your calendar in Calendar ID (the node is set to
Primary Calendar). - Credential Required: Connect your googleCalendarOAuth2Api credentials.
Step 2: Connect Fireflies and Map Appointment Data
This step shapes appointment data and fetches the transcript for the meeting participant.
- Open Map Appointment Fields and confirm the four assignments are set to expressions: startTimeOfAppointment →
{{ $json.start.dateTime }}, endTimeOfAppointment →{{ $json.end.dateTime }}, createdBy →{{ $json.creator.email }}, guest →{{ $json.attendees[0].email }}. - Open Transcript Query and set Endpoint to
https://api.fireflies.ai/graphql. - Set Query to the provided Fireflies GraphQL query (as shown in the node).
- Set Variables to
{ "guestEmail": "{{ $json.guest }}" }. - Credential Required: Connect your httpHeaderAuth credentials in Transcript Query.
- Open Remove Empty Transcripts and confirm the filter checks
{{ $json.data.transcripts }}with Array → notEmpty.
⚠️ Common Pitfall: If Remove Empty Transcripts filters out all items, confirm the guest email matches Fireflies transcript participants and that your Fireflies account has access to the meeting.
Step 3: Set Up the AI Follow-up Generator
This step generates 12 personalized follow-up messages based on the transcript content.
- Open Follow-up Message Agent and keep Prompt Type set to
define. - In Text, preserve the expressions that reference appointment data and the transcript:
{{ $('Map Appointment Fields').item.json.guest }}and{{ $('Transcript Query').item.json.data.transcripts[0].toJsonString() }}. - Confirm Gemini Chat Engine is connected as the language model for Follow-up Message Agent.
- Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine (credentials are added to the model node, not the agent node).
- In Gemini Chat Engine, set Model Name to
models/gemini-2.5-flash-lite.
Step 4: Configure Output to Google Drive
This step writes the generated messages to a text file in your Drive.
- Open Save Messages to Drive.
- Set Operation to
createFromText. - Set Name to
{{ $('Map Appointment Fields').item.json.guest }}to name the file after the guest. - Set Content to
{{ $json.output }}so the file contains the AI output. - Select your destination Drive and Folder (the workflow uses a folder labeled
Followup Messages). - Credential Required: Connect your googleDriveOAuth2Api credentials.
Step 5: Test and Activate Your Workflow
Validate the end-to-end flow and enable it for production use.
- Click Execute Workflow and create a new calendar event to trigger Calendar Event Trigger.
- Verify that Transcript Query returns transcripts and Remove Empty Transcripts passes data through.
- Confirm Follow-up Message Agent produces 12 numbered messages and Save Messages to Drive creates a text file in the target folder.
- When satisfied, toggle the workflow to Active for production execution.
Watch Out For
- Fireflies credentials can expire or need specific permissions. If things break, check your Fireflies API access (and workspace permissions) first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
About an hour if your accounts and API keys are ready.
Yes, but someone has to be comfortable connecting credentials and pasting a GraphQL query. No coding project, though.
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 costs, which depend on how long your transcripts are and how many messages you generate.
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.
Start with the AI Agent instructions and make them look like your real emails, not a demo prompt. You can also adjust the Transcript Query (GraphQL) to filter by date range or only pull certain meetings, then change the Save Messages to Drive step to store files by rep, pipeline stage, or account owner. If your team wants emails ready to send automatically, you can route the generated messages into Gmail instead of Drive, while still keeping Drive as your archive.
Usually it’s an API key issue or missing GraphQL permissions in your Fireflies workspace. Regenerate the key, confirm it’s the right workspace, and re-select the credential inside n8n. If the query returns empty results, check that the guest email field you mapped from Google Calendar matches what Fireflies stores for that meeting.
It’s built for typical sales volume, so dozens of meetings per day is fine on a normal setup.
For this workflow, n8n has a few advantages: handling GraphQL calls cleanly, filtering out empty transcripts before you pay for AI generation, and giving you more control over the prompt and file naming in Google Drive. It’s also easier to evolve over time, because you can add branches (different prompts by meeting type, different Drive folders by owner) without rebuilding everything. Zapier or Make can still work, especially for simple two-step automations, but the moment you want transcript logic plus AI plus structured storage, they start to feel cramped. If you’re unsure, Talk to an automation expert and map it to your exact process.
You shouldn’t need perfect discipline to send great follow-ups. Set this up once, and let the workflow do the heavy lifting while your team focuses on the conversations that actually close deals.
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.