Google Calendar + Gmail: daily meeting brief in inbox
Your calendar tells you what’s happening. It rarely tells you what matters. So you start the day opening five tabs, hunting for the last email thread, and trying to remember who “Alex” is before the call starts.
This calendar email brief automation hits account managers and founders first, honestly, because you live in meetings. But marketers prepping partner calls feel it too. The outcome is simple: a daily, executive-style briefing email that gives you context and priorities before the first invite.
Below you’ll see how the workflow pulls your Google Calendar events, finds relevant Gmail threads, enriches external attendees, then sends a polished brief to your inbox.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Google Calendar + Gmail: daily meeting brief in inbox
flowchart LR
subgraph sg0["Run Daily Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Model", pos: "b", h: 48 }
n1["<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/>Merge Events"]
n2@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Model1", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Summarize Schedule", 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/markdown.dark.svg' width='40' height='40' /></div><br/>Markdown to HTML"]
n5@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n6@{ icon: "mdi:play-circle", form: "rounded", label: "Run Daily", pos: "b", h: 48 }
n7@{ icon: "mdi:location-exit", form: "rounded", label: "Read Calendar Events", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Parse Attendees", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Identify External Attendees", pos: "b", h: 48 }
n10@{ icon: "mdi:message-outline", form: "rounded", label: "Read Latest Emails", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "Research and Develop Brief", pos: "b", h: 48 }
n12@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email", pos: "b", h: 48 }
n6 --> n7
n1 --> n3
n5 -.-> n11
n8 --> n9
n4 --> n12
n10 --> n11
n3 --> n4
n7 --> n8
n0 -.-> n11
n2 -.-> n3
n11 --> n1
n9 --> n10
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 n6 trigger
class n3,n11 ai
class n0,n2 aiModel
class n5 ai
class n9 decision
class n1 code
classDef customIcon fill:none,stroke:none
class n1,n4 customIcon
The Challenge: Walking Into Meetings Without Context
Most mornings, the scramble is the same. You glance at Google Calendar, then immediately jump to Gmail to search for “from:them” and hope the right thread appears. You skim a few messages, miss the attachment someone referenced, and open the meeting anyway. If there are external attendees, it gets worse because you’re also trying to place who they are, what they do, and why they’re on the invite. It’s not hard work. It’s just constant, draining, and it steals the first hour of your day.
And the friction compounds, because meetings stack. One “quick prep” turns into a whole morning of context switching.
- You waste about 10 minutes per meeting re-finding the same context you already had last week.
- Important threads get missed because subject lines change and people reply-all in new chains.
- External attendees stay “mystery guests,” which means weaker questions and awkward intros.
- By the time you reach your second or third call, you’re reacting instead of leading.
The Fix: A Daily Brief Built From Calendar + Email
This n8n workflow runs every weekday morning at 7:00 AM and builds a single, executive-style briefing email for your day. First, it pulls all events from Google Calendar and extracts the practical details (time, duration, title, description, attendees). Then it checks each attendee and isolates external guests by filtering out your own company domain. For those external people, it searches Gmail for recent email threads so you’re not going into the meeting cold. It also enriches attendee context using external lookups (via HTTP requests to sources like Hunter and LinkedIn), and an AI agent turns all of that into a clean, prioritized narrative. Finally, the workflow renders Markdown into HTML and sends a polished email to your inbox through Gmail.
The workflow starts on a schedule. It assembles meeting-by-meeting context with email history and attendee research, then produces one “read it in two minutes” brief. Your inbox becomes the dashboard.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say your day has 6 meetings. A normal prep loop is about 10 minutes per meeting: open the invite, search Gmail, skim, and jot notes. That’s roughly an hour, and it’s spread out in annoying little chunks. With this workflow, the “work” is basically zero after setup: you glance at one email that already includes your schedule plus related threads and context. Most teams get close to that hour back, and mornings feel calmer.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Calendar to pull your daily events.
- Gmail to search threads and send the brief.
- OpenRouter API key (get it from your OpenRouter dashboard).
Skill level: Intermediate. You’ll connect OAuth credentials and tweak a couple of filters and prompts.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
It runs automatically each weekday at 7:00 AM. The schedule trigger kicks everything off so you don’t have to remember to “generate” anything while half-awake.
Your calendar gets parsed into usable meeting data. The Google Calendar node collects today’s events, then the attendee list is split so each guest can be evaluated and handled correctly.
External attendees get extra context pulled in. The workflow filters out your company domain, searches Gmail for recent threads with those people, and uses HTTP requests to enrich details like role or background when available.
An AI agent assembles the brief, then Gmail delivers it. The workflow merges event records, generates a Markdown briefing, converts it to HTML, and sends a clean email that’s easy to skim between calls.
You can easily modify the external attendee filter to match subsidiaries or partner domains based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule Trigger
Set the workflow to run daily so it can pull calendar events and compile the digest automatically.
- Add and open Daily Schedule Trigger.
- Define the schedule settings to run once per day (choose your preferred time in the node).
- Connect Daily Schedule Trigger to Retrieve Calendar Entries.
Step 2: Connect Google Calendar
Pull event data from Google Calendar and prep attendee data for filtering.
- Open Retrieve Calendar Entries and connect your calendar account.
- Credential Required: Connect your Google Calendar credentials.
- Connect Retrieve Calendar Entries to Split Attendee List.
- Open Split Attendee List to ensure it splits event attendees into individual items.
- Connect Split Attendee List to Filter External Guests.
Step 3: Filter Guests and Gather Email Context
Filter out external attendees, then use recent emails for additional context in the brief.
- Open Filter External Guests and set your rules for identifying external attendees.
- Connect Filter External Guests to Fetch Recent Emails.
- Open Fetch Recent Emails and connect your email account.
- Credential Required: Connect your Gmail credentials.
- Confirm Fetch Recent Emails outputs to Draft Daily Brief.
Step 4: Set Up AI Drafting and Summarization
Configure the AI to draft the daily brief, then summarize and format it for delivery.
- Open Draft Daily Brief and verify it receives input from Fetch Recent Emails.
- Ensure OpenRouter Dialogue Model is connected as the language model for Draft Daily Brief.
- Credential Required: Connect your OpenRouter credentials in OpenRouter Dialogue Model.
- Confirm Lightweight Memory Store is connected as the memory for Draft Daily Brief (credentials should be added to the parent if required by your OpenRouter setup).
- Verify Draft Daily Brief outputs to Combine Event Records, then to Generate Schedule Summary.
- Ensure OpenRouter Summary Model is connected as the language model for Generate Schedule Summary and add its credentials.
Step 5: Format and Send the Digest
Convert the AI output to HTML and send the digest email.
- Open Convert Markdown to HTML and ensure it receives data from Generate Schedule Summary.
- Connect Convert Markdown to HTML to Dispatch Email Update.
- Open Dispatch Email Update and configure the recipient, subject, and HTML body mapping.
- Credential Required: Connect your Gmail credentials.
Step 6: Test and Activate Your Workflow
Run a full test to confirm the digest generates and delivers correctly, then activate the workflow.
- Click Execute Workflow to run the workflow manually.
- Verify Retrieve Calendar Entries returns events, and Generate Schedule Summary outputs a markdown brief.
- Confirm Convert Markdown to HTML produces formatted HTML and Dispatch Email Update sends the email.
- When satisfied, toggle the workflow to Active to enable daily runs.
Watch Out For
- Google Calendar and Gmail OAuth credentials can expire or need specific permissions. If things break, check the Credentials section in n8n first and re-auth the Google connection.
- If you’re enriching attendees through HTTP requests (Hunter/LinkedIn-style lookups), rate limits and blocked requests happen. Watch the execution logs for 429 errors and add a small wait or reduce lookups.
- Default AI prompts are fine for demos and pretty weak for real teams. Add your tone and “what matters” rules early, or you will be editing briefs every morning.
Common Questions
Usually about 30 minutes once your Google and OpenRouter accounts are ready.
Yes, but you’ll want someone comfortable with connecting OAuth logins. No coding is required, just careful setup and a quick test run.
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 OpenRouter model usage, which depends on the model you choose and how many meetings you summarize.
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 “Identify External Attendees” filter and update the domain to match your org, then adjust the two AI prompts (“Research and Develop Brief” and “Summarize Schedule”) to match your tone and what you care about. If you don’t want enrichment lookups, you can remove the HTTP Request portion and keep the Gmail thread search. Some teams also cap the number of emails pulled per attendee so the brief stays short.
Most of the time it’s an expired OAuth session or the wrong Google account connected. Re-authenticate the Gmail credential inside n8n, then rerun one execution and check the node error message for missing permissions or API access blocks.
On n8n Cloud Starter, you can run a few thousand executions per month, which is plenty for one daily brief plus tests. If you self-host, there’s no execution cap, and the real limit becomes your server and how many attendee lookups and email searches you perform each morning. In practice, most people run this once per day and process a handful of meetings without any performance drama.
Often, yes. This workflow benefits from branching logic (filtering external attendees), merging records, and AI-driven summarization in one run, which means n8n stays readable even as you add rules. Self-hosting is also a big deal if you want unlimited runs and tighter control over data. Zapier and Make can absolutely send a daily digest, but the moment you want “search related Gmail threads per attendee, enrich contacts, then write a structured executive brief,” you end up fighting the tool or paying for lots of premium steps. Talk to an automation expert if you want a quick recommendation based on your volume and security needs.
Once this is running, your day starts with clarity instead of tab-hopping. Set it up once, then let the workflow handle the repetitive prep while you focus on the conversations.
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.