🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Calendar to Gmail, sales meeting briefs ready

Lisa Granqvist Partner Workflow Automation Expert

Showing up to a sales call with only a calendar title and a half-filled attendee list feels… flimsy. You end up scrambling through LinkedIn tabs, guessing what matters, and hoping you don’t miss something obvious.

This meeting brief automation hits Account Executives first. But Sales Managers trying to standardize prep, and agency owners juggling back-to-back client calls, feel it too. The goal is simple: walk into every meeting with a clean, consistent brief already waiting in your inbox.

This workflow pulls today’s meetings from Google Calendar, enriches attendee context, summarizes recent LinkedIn activity with AI, then sends a ready-to-skim brief via Gmail (and WhatsApp). You’ll see what it does, what you need, and how to make it yours.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Calendar to Gmail, sales meeting briefs ready

The Problem: Sales Prep Turns Into Tab Chaos

Sales meeting prep is supposed to be quick. In reality, it’s a slow drift into browser-tab overload. You open Google Calendar, copy a name, hunt for the right LinkedIn profile, skim posts (or worse, get distracted), then try to turn that into something useful. Multiply that by several meetings a day and you’ve built a daily tax on your attention. And when you’re rushed, you miss context that could have changed the opening minutes of the call: a product launch, a hiring post, a funding mention, or a new initiative.

It adds up fast. Here’s where it breaks down.

  • Meeting context lives in too many places, so you start every call from scratch.
  • Manual LinkedIn research is inconsistent, which means your “prep” depends on how busy you are.
  • Copy-paste notes into emails creates silly mistakes, like mixing up companies or titles.
  • Without a standard brief format, managers can’t coach, and teams can’t improve the process.

The Solution: Daily Meeting Briefs Generated Automatically

This n8n workflow runs every morning at 5 AM and builds your meeting prep for you. It starts by pulling today’s meetings from Google Calendar, then extracts attendee email domains to infer company context. For each attendee, it enriches the company profile (so you’re not guessing who they are), checks that enrichment completed, and then fetches recent LinkedIn posts via an HTTP request. Next, OpenAI summarizes the useful parts into a short, readable brief that sounds like a human actually skimmed the page. Finally, it formats everything into an HTML email and sends it through Gmail, with an optional WhatsApp version for quick scanning on your phone.

The workflow begins on a schedule, not when you remember. It loops through attendees, enriches and validates the data, then generates a single combined summary per meeting. You wake up to briefs that are consistent, shareable, and easy to forward internally.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you have 4 sales meetings today with 2 attendees each. Manually, you might spend about 10 minutes per attendee finding the right LinkedIn profile, skimming posts, and writing a short “who/what/why” note, plus another 10 minutes formatting something you can actually reuse, so roughly 90 minutes total. With this workflow, you spend maybe 5 minutes checking the briefs in Gmail and forwarding one to your team, while the rest runs in the background after the 5 AM trigger. Even if enrichment and requests take a bit, your time stays close to zero.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Calendar to fetch today’s scheduled meetings.
  • Gmail to send the formatted meeting brief emails.
  • LinkedIn data access (API or scraping provider) for recent posts.
  • WhatsApp integration to deliver a mobile-friendly summary.
  • OpenAI API key (get it from your OpenAI dashboard).
  • Company enrichment service (Clearbit in this workflow) for firmographics.

Skill level: Intermediate. You’ll connect credentials, adjust a few fields, and test with a sample meeting.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A scheduled morning trigger kicks it off. At 5 AM, n8n runs automatically and sets initial variables so the rest of the flow stays consistent day to day.

Your calendar becomes the source of truth. The workflow retrieves today’s events from Google Calendar, then pulls attendee details and derives email domains to figure out which companies need enrichment.

Enrichment + LinkedIn context happens per attendee. It loops through the attendee list, enriches company information (then waits and validates the result), and calls an HTTP endpoint to fetch recent LinkedIn posts. Those posts are trimmed down to the key signals you’d actually reference on a call.

AI writes the brief and delivery is automatic. OpenAI generates a concise summary, n8n merges it with the meeting context, builds an HTML email, then sends it via Gmail and WhatsApp.

You can easily modify the trigger time to match your schedule, or swap the LinkedIn source based on your provider. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

This workflow starts every morning to build social briefings from upcoming meetings.

  1. Add or open Scheduled Morning Trigger and set the rule to trigger at 5 (hour).
  2. Connect Scheduled Morning Trigger to Setup Initial Variables.

Step 2: Connect Google Calendar

Pull upcoming meetings so attendee domains can be enriched and analyzed.

  1. Open Retrieve Calendar Meetings and set Operation to getAll.
  2. Set Limit to 150.
  3. Set Calendar to =[YOUR_EMAIL].
  4. Set Options → timeMin to ={{ $today.minus({ days: 5 }) }} and timeMax to ={{ $today.plus({ days: 10 }) }}.
  5. Credential Required: Connect your googleCalendarOAuth2Api credentials.
  6. Confirm the flow continues from Retrieve Calendar Meetings to Derive Attendee Domains.

Tip: If your calendar returns too many events, reduce Limit or narrow the time window in Retrieve Calendar Meetings.

Step 3: Set Up Enrichment and LinkedIn Retrieval

This stage extracts attendee domains, enriches company data, and pulls recent LinkedIn posts.

  1. In Setup Initial Variables, add fields linkedIn_API_Key and emails (leave values for now).
  2. In Derive Attendee Domains, set domain_name to ={{ $json.attendees.filter(a => !a.organizer).map(a => a.email.split('@').pop()) }} and attend_Emails to ={{ $json.attendees.filter(a => !a.organizer).map(a => a.email) }}.
  3. Use Iterate Attendee List to batch attendees, then configure Separate Attendee Fields with Field to Split Out set to domain_name and Fields to Include set to attend_Emails, start.
  4. In Enhance Company Profile, set Domain to {{json.domain_name}}. Credential Required: Connect your clearbitApi credentials.
  5. After enrichment, add a brief pause using Pause for Enrichment, then validate results in Validate Enrichment Result with the condition ={{ $json.linkedin.handle !== null }}.
  6. Configure Request Recent LinkedIn Posts with URL set to https://fresh-linkedin-profile-data.p.rapidapi.com/get-company-posts, Query Parameters of linkedin_url = =https://www.linkedin.com/{{ $json.linkedin.handle }} and sort_by = recent, and header X-RapidAPI-Key = ={{ $('Setup Initial Variables').item.json.linkedInAPIKey }}.

⚠️ Common Pitfall: Setup Initial Variables defines linkedIn_API_Key, but Request Recent LinkedIn Posts reads linkedInAPIKey. Make sure the field name matches the expression to avoid missing API keys.

Step 4: Set Up the AI Summary and Social Context

Here you extract insights, summarize with AI, and prepare message context. Select Key Post Insights outputs to both Generate Email Summary and Prepare Social Summary in parallel.

  1. In Select Key Post Insights, set linkedin_posts to ={{ $input.item.json.data.slice(0, 10).map(d => { return { text: d.text, likes: d.num_likes, comments: d.num_comments, postedAt: d.posted } } ) }}, name to ={{ $('Validate Enrichment Result').item.json.name }}, and meeting to ={{ $('Separate Attendee Fields').item.json }}.
  2. Configure Prepare Social Summary to include name, html_linkedin, and set attendeeEmail to ={{ $json.meeting.attendeeEmails.find(a => a.endsWith($json.meeting.domain)) }}, startHour to ={{ DateTime.fromISO($json.meeting.start.dateTime).hour }}, and startMinute to ={{ DateTime.fromISO($json.meeting.start.dateTime).minute }}.
  3. Open Generate Email Summary and keep Resource as chat and Chat Model as gpt-4. Credential Required: Connect your openAiApi credentials.
  4. In Combine Summary Context, set Mode to combine and Combination Mode to mergeByPosition to merge AI output with social summary.

⚠️ Common Pitfall: Combine Summary Context is disabled in the workflow JSON. Enable it if you want summaries to continue through Delay Before Dispatch and Build HTML Message.

Step 5: Configure Output and Messaging

The final message is built as HTML, then sent via WhatsApp and Gmail in parallel.

  1. In Delay Before Dispatch, set Amount to 2 to introduce a short delay.
  2. In Build HTML Message, keep the HTML template and ensure it references {{ $json.attendeeEmail }}, {{ $json.startHour }}, {{ $json.startMinute }}, {{ $json.name }}, and {{ $json.message.content }}.
  3. Build HTML Message outputs to both Dispatch WhatsApp Message and Send Email Notice in parallel.
  4. In Dispatch WhatsApp Message, set Text Body to ={{ $json.html }}, and replace [YOUR_ID] for phoneNumberId and recipientPhoneNumber. Credential Required: Connect your whatsAppApi credentials.
  5. In Send Email Notice, set Send To to ={{ $('Setup Initial Variables').first().json.emails }}, Message to ={{ $json.html }}, and Subject to =Latest social activity for: {{ $('Combine Summary Context').item.json.name }}. Credential Required: Connect your gmailOAuth2 credentials.

Step 6: Test and Activate Your Workflow

Validate that meeting data flows through enrichment, AI summarization, and the final messaging outputs.

  1. Click Execute Workflow to run a manual test starting from Scheduled Morning Trigger.
  2. Verify that Retrieve Calendar Meetings returns events and that Derive Attendee Domains produces arrays for domain_name and attend_Emails.
  3. Check that Select Key Post Insights creates linkedin_posts, and that Generate Email Summary returns a response used by Build HTML Message.
  4. Confirm that both Dispatch WhatsApp Message and Send Email Notice receive the HTML payload and send successfully.
  5. When results look correct, toggle the workflow to Active to run automatically each morning.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Calendar or Gmail credentials can expire or need specific permissions. If things break, check the n8n Credentials panel and the Google OAuth consent/permissions first.
  • If you’re using Wait nodes or external enrichment, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in the OpenAI summarization node are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this meeting brief automation automation?

About 45 minutes if your accounts and API access are ready.

Do I need coding skills to automate meeting briefs?

No. You’ll connect accounts, paste in API keys, and tweak a few fields and prompts.

Is n8n free to use for this meeting brief automation workflow?

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 OpenAI usage (often a few dollars a month for light use) plus any LinkedIn/enrichment provider costs.

Where can I host n8n to run this automation?

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.

Can I customize this meeting brief automation workflow for different brief formats?

Yes, and you should. You can adjust the tone and structure inside the Generate Email Summary (OpenAI) node, and you can change the final layout in Build HTML Message to match your team’s preferred template. Common tweaks include adding a “talk track” section, inserting account notes from Google Sheets or Odoo, and sending different versions to reps vs. leadership.

Why is my Google Calendar connection failing in this workflow?

Usually it’s expired OAuth access or missing scopes after a Google security update. Reconnect the Google Calendar credential inside n8n, then confirm the same credential is used by the Gmail sending node too. If it still fails, check the event access level (some shared calendars block attendee details) and make sure you’re not pulling from a calendar your account can only “see” but not fully read.

How many meetings can this meeting brief automation handle?

Dozens per day is normal, assuming your LinkedIn/enrichment providers allow that volume.

Is this meeting brief automation better than using Zapier or Make?

Often, yes, because this flow has loops, waits, validation checks, and a few “only continue if the data is ready” moments that get clunky (and pricey) elsewhere. n8n handles branching and batching cleanly, which matters when you’re iterating through multiple attendees per meeting. The other big difference is control: you can self-host for unlimited executions and keep data where you want it. Zapier or Make can still be a good fit if you want a very simple “calendar event → email summary” flow with no enrichment, no validation, and minimal customization. If you’re unsure, Talk to an automation expert and get a straight recommendation.

Once this is running, your day starts with meeting briefs instead of mental clutter. Honestly, it’s a calmer way to sell.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal