πŸ”¬ Send weekly Fireflies meeting reports to Gmail and log metrics in Google Sheets

⚑ 3 views Β· πŸ”¬ Document Extraction & Analysis

Description

Description

Activate this workflow once and every Friday at 5PM it automatically pulls your week’s meeting data from Fireflies, calculates seven metrics, and emails a formatted report to your manager inbox. It tracks total meetings, total hours, average duration, busiest day, top participant, and longest meeting β€” plus a day-by-day breakdown and a numbered list of every meeting. Every week’s summary is also logged to Google Sheets so you can track meeting load trends over time. Built for team leads, operations managers, and founders who want visibility into meeting time without manually checking Fireflies each week.


What This Workflow Does


Setup Requirements

Tools Needed

Credentials Required

Estimated Setup Time: 10–15 minutes


Step-by-Step Setup

  1. Import the workflow β€” Open n8n β†’ Workflows β†’ Import from JSON β†’ paste the workflow JSON β†’ click Import

  2. Get your Fireflies API key β€” Log in to fireflies.ai β†’ Settings β†’ Integrations β†’ copy your API key

  3. Fill in Config Values β€” Open node 2. Set β€” Config Values β†’ replace all placeholders:

FieldWhat to enter
YOUR_FIREFLIES_API_KEYYour Fireflies API key from step 2
YOUR_GOOGLE_SHEET_IDThe ID from your Google Sheet URL (the string between /d/ and /edit)
Weekly Meeting ReportLeave as-is, or change to match your sheet tab name exactly
manager@yourcompany.comThe email address where the weekly report should be sent
YOUR NAMEThe sender name shown in the email sign-off
YOUR COMPANY NAMEYour company name (shown in the email subject and body)
  1. Create your Google Sheet β€” Open Google Sheets β†’ add a tab named exactly Weekly Meeting Report β†’ add these 9 column headers in row 1: Week, Total Meetings, Total Hours, Avg Duration (min), Busiest Day, Top Participant, Longest Meeting, All Participants, Logged At

  2. Connect Google Sheets β€” Open node 6. Google Sheets β€” Log Weekly Summary β†’ click the credential dropdown β†’ add Google Sheets OAuth2 β†’ sign in with your Google account β†’ authorize access

  3. Connect Gmail β€” Open node 7. Gmail β€” Send Weekly Report β†’ click the credential dropdown β†’ add Gmail OAuth2 β†’ sign in with the Gmail account you want to send reports from β†’ authorize access

  4. Activate the workflow β€” Toggle the workflow to Active β€” it will run automatically every Friday at 5PM

> ⚠️ To test immediately β€” Click on node 1. Schedule β€” Every Friday 5PM and use the manual Execute option to trigger a test run without waiting for Friday.


How It Works (Step by Step)

Step 1 β€” Schedule: Every Friday 5PM This step fires the workflow automatically every Friday evening at 5PM. No manual trigger is needed. Once the workflow is active, it runs on its own every week.

Step 2 β€” Set: Config Values Your Fireflies API key, Google Sheet ID, sheet tab name, manager email, sender name, company name, and the 7-day date window are stored here. The week start and end dates are calculated automatically from today’s date so you never need to update them manually.

Step 3 β€” HTTP: Fetch Transcripts A request is sent to the Fireflies API using your API key. It retrieves the 100 most recent transcripts from your account β€” title, date, duration, and participants for each. Fetching 100 ensures meetings from busy weeks are not missed during the 7-day filter.

Step 4 β€” Code: Calculate Meeting Metrics The 100 transcripts are filtered to only those recorded in the past 7 days. If no meetings are found, a hasMeetings: false flag is set and the result passes to the gate check. For weeks with meetings, seven metrics are calculated: total meeting count, total minutes and hours, average duration per meeting, busiest day of the week with count, top participant with count, longest meeting with title and duration, and a full list of all unique participants. A day-by-day breakdown is assembled showing meeting count and total minutes per day, sorted chronologically. A numbered meeting list is also built showing each meeting’s date, title, and duration, sorted most recent first.

Step 5 β€” IF: Meetings Found? This is the gate check. If meetings were found (YES path), the workflow continues to log and email the report. If no meetings were found this week (NO path), the workflow routes to 8. Set β€” No Meetings Skip and stops cleanly β€” no email is sent, no empty row is logged.

Step 6 (No path) β€” Set: No Meetings Skip This step handles the empty-week case. It sets a brief message confirming no meetings were found and the workflow ends here for that run.

Step 6 β€” Google Sheets: Log Weekly Summary One row is appended to your Weekly Meeting Report tab with all 9 columns: the week date range, total meetings, total hours, average duration, busiest day, top participant, longest meeting, all participants combined, and the logged-at timestamp. This runs before the email so the sheet is always up to date even if the email step fails.

Step 7 β€” Gmail: Send Weekly Report A plain-text email is sent to your manager email address. The subject includes your company name and the week date range. The body contains the full summary section (all seven metrics), the day-by-day breakdown, the complete numbered meeting list, and a sign-off with your name and company. A footer notes that data has been logged to Google Sheets and that the report was auto-generated every Friday.

The final result: every Friday evening your manager receives a clean, complete meeting hours report in their inbox β€” and one row is added to your Google Sheet for trend tracking.


Key Features

βœ… Fully automated Friday delivery β€” Fires at 5PM every Friday with zero manual input after setup βœ… Seven metrics calculated automatically β€” Total meetings, hours, average duration, busiest day, top participant, longest meeting, and daily breakdown β€” all from a single Fireflies API call βœ… Top participant tracking β€” Counts appearances across all meetings and surfaces the most-present person so you can spot meeting bottlenecks βœ… Trend-ready Google Sheets log β€” One row per week means you can chart meeting load trends, spot overloaded weeks, and compare month over month βœ… Plain-text email format β€” Renders cleanly in any email client without HTML formatting issues βœ… 100-transcript buffer β€” Fetches 100 recent transcripts to ensure high-volume weeks are never truncated during the 7-day filter βœ… Clean empty-week exit β€” No meetings this week means a clean stop β€” no empty email, no blank Sheets row, no errors βœ… Chronological daily breakdown β€” Day-by-day data is sorted by date, not alphabetically, so the breakdown reads naturally from Monday to Friday


Customisation Options

Change the report delivery day and time β€” In node 1. Schedule β€” Every Friday 5PM, edit the cron expression 0 17 * * 5 to change when the report fires. For example, 0 8 * * 1 sends a Monday morning summary of last week’s meetings instead.

Extend the date window to 30 days for a monthly report β€” In node 2. Set β€” Config Values, change {days: 7} in both the weekStart and sevenDaysAgoMs fields to {days: 30} and adjust the schedule to monthly for a full meeting hours report.

Add a Slack summary alongside the email β€” After node 6. Google Sheets β€” Log Weekly Summary, add a Slack node that posts a short 3-line summary (total meetings, total hours, busiest day) to a #operations or #team-leads channel so the team sees it without checking email.

Filter to specific meeting types only β€” In node 4. Code β€” Calculate Meeting Metrics, add a keyword filter on the meeting title before calculating metrics β€” for example, only include meetings with β€œclient” or β€œsync” in the title to separate client time from internal meetings.

Add a meeting-load alert β€” In node 4. Code β€” Calculate Meeting Metrics, add a check: if totalHours exceeds a threshold (e.g. 20 hours), set a heavyWeek flag to true. Then add an IF check after step 4 that sends an additional Slack or email alert flagging the overloaded week before the normal report runs.


Troubleshooting

Workflow not triggering on Friday:

Fireflies returning no transcripts or an auth error:

Google Sheets not logging rows:

Email not being received:

Metrics showing wrong totals or missing meetings:


Support

Need help setting this up or want a custom version built for your team or agency?

πŸ“§ Email: info@incrementors.com 🌐 Website: https://www.incrementors.com/

πŸ”— Nodes Used

Google Sheets, HTTP Request, Gmail, Schedule Trigger

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup