AI Meeting Assistant with n8n: Summarize & Notify via WhatsApp

Busy professionals lose time prepping for meetings without quick attendee insights. This workflow leverages Gmail, Google Calendar, LinkedIn scraping, and OpenAI in n8n to auto-generate concise pre-meeting WhatsApp notifications with attendee summaries.
gmail
googleCalendar
lmChatOpenAi
+12
Learn how to Build this Workflow with AI:
Workflow Identifier: 1256
NODES in Use: gmail, set, googleCalendar, lmChatOpenAi, informationExtractor, executeWorkflowTrigger, whatsApp, scheduleTrigger, splitOut, switch, executeWorkflow, merge, aggregate, html, httpRequest

Press CTRL+F5 if the workflow didn't load.

Visit through Desktop for Best experience

1. Opening Problem Statement

Imagine Emma, a busy sales executive juggling 10-15 meetings a day with clients and partners. She spends countless hours scrambling to recall the details of each upcoming call — hunting down email threads, reviewing LinkedIn activity for talking points, and trying to piece together who exactly will be on the call. This last-minute chaos often leads to missed opportunities, awkward conversations, and sometimes costly follow-up emails to clarify what was (or wasn’t) agreed upon. Emma estimates she loses at least 3-4 hours a week just getting meeting-ready, cutting into her productivity and increasing stress.

This is exactly where our custom AI Meeting Assistant workflow built in n8n becomes a lifesaver — automating the tedious prep work by gathering the most relevant information about upcoming meetings and summarizing it into a concise WhatsApp notification, ready moments before the call.

2. What This Automation Does

This workflow acts as Emma’s ultra-efficient meeting prep assistant. When it runs, it:

  • Periodically scans Emma’s Google Calendar for meetings occurring within the next hour.
  • Extracts detailed attendee information from the meeting invite, including emails and LinkedIn profile URLs.
  • Fetches Emma’s last email correspondence with each attendee via Gmail for contextual reminders.
  • Scrapes recent LinkedIn activity of attendees using a custom web scraper serviced by Apify.
  • Uses several OpenAI language models to intelligently summarize the emails, LinkedIn activities, and attendee bios into a concise, casual pre-meeting briefing.
  • Sends the tailored meeting summary as a WhatsApp message directly to Emma’s phone for instant access.

Thanks to this orchestration, Emma saves roughly 4 hours weekly and steps into every meeting fully informed, impressing clients and reducing follow-up emails.

3. Prerequisites ⚙️

  • n8n account (self-hosting possible for privacy; see Hostinger Guide)
  • Gmail account with OAuth2 credentials to access inbox
  • Google Calendar account OAuth2 setup to read upcoming meetings
  • OpenAI API key for chat models (GPT-4o-2024-08-06)
  • WhatsApp Business Cloud API credentials for messaging
  • Apify API key for scraping LinkedIn profiles
  • LinkedIn session cookie (li_at) for authenticated scraping

4. Step-by-Step Guide

Step 1: Schedule Trigger to Check Calendar Hourly

In the n8n editor, click Add Node, then select Schedule Trigger. Set the interval to every 1 hour. This node will automatically kick off your workflow to check upcoming meetings.

Expected outcome: The workflow runs hourly and triggers all downstream actions.

Common mistake: Forgetting to activate the workflow after setup.

Step 2: Use Google Calendar Node to Get Next Meeting

Add a Google Calendar node next. Choose the getAll operation with options to:

  • Limit results to 1
  • Set timeMin to now in UTC
  • Set timeMax to UTC plus 1 hour
  • Order by startTime and ensure single events

Connect this node so it triggers after your scheduler.

Expected outcome: You get the nearest upcoming meeting within the next hour.

Common mistake: Timezone mismatches leading to missing meetings.

Step 3: Extract Attendee Details with AI Information Extractor

Add the Information Extractor node (from Langchain nodes). In its parameters, feed the calendar event data like start time, hangout link, summary, description, organizer, and attendees. Use the provided schema to extract the list of attendees (excluding the organizer).

Expected outcome: AI parses meeting invite text and outputs structured attendee info including emails and LinkedIn URLs.

Common mistake: Not supplying the correct JSON paths that match the calendar event structure.

Step 4: Split Attendees Array for Individual Processing

Insert a Split Out node configured to split the attendees into individual items, so each gets processed separately in parallel.

Expected outcome: Workflow forks into branches handling each attendee’s data separately.

Step 5: Branch Routing Based on Contact Info

Add a Switch node to route sub-workflows depending on whether an attendee has an email address or LinkedIn URL.

Set rules to check if email exists for email processing or linkedin_url for LinkedIn scraping.

Expected outcome: Attendee data properly routed for specific processing.

Common mistake: Misconfigured conditions causing workflow failures or skipped branches.

Step 6: Email Correspondence Lookup using Gmail Node

For attendees with emails, add a Gmail node with getAll operation. Filter by sender = attendee’s email address and limit to 1 (latest message).

Next, add another Gmail node to get the full email content using the message ID from the previous node.

Follow with a Set node to simplify and extract useful fields like date, subject, from, to, and email text.

Finally, use an OpenAI Chat Model node with a prompt that summarizes the email thread succinctly to prep for the meeting.

Expected outcome: Concise email recap ready for use.

Common mistake: Using wrong sender filter or insufficient Gmail API permissions.

Step 7: LinkedIn Profile & Activity Scraping via Apify

For attendees with LinkedIn URLs, add a Set node containing their profile URL and your LinkedIn session li_at cookie value.

Pass this to an HTTP Request node configured to call Apify’s web scraper API, which impersonates your LinkedIn session and returns profile HTML.

Parse the profile HTML with several HTML Extract nodes to pull the “About” section, profile metadata, and recent activity HTML blocks.

Use further HTML Extract nodes to dig into individual activity details like post headers, URLs, content, and reactions.

Wrap this with a final OpenAI Chat Model node that summarizes the attendee’s professional profile and recent LinkedIn activity.

Expected outcome: Clear, relevant LinkedIn summary for conversational meeting cues.

Common mistake: Missing or expired LinkedIn cookie causes failed scraping attempts.

Step 8: Aggregate Attendee Summaries

Merge the summarized email and LinkedIn results into a cohesive object per attendee using Set and Aggregate nodes.

This helps build a consolidated picture of each participant.

Step 9: Generate Meeting Notification

Feed all aggregated attendee info plus the meeting details into a final OpenAI Chat Model node. The prompt instructs the LLM to draft a short, friendly WhatsApp-style pre-meeting message.

Expected outcome: Ready-to-send meeting briefing, highlighting key points per attendee.

Step 10: Send WhatsApp Message

Use the WhatsApp node with your configured WhatsApp Business Cloud API credentials to send the notification message directly to your phone.

Expected outcome: Instant pre-meeting reminder arrives on WhatsApp.

5. Customizations ✏️

  • Customize Frequency: Adjust Schedule Trigger node’s interval from hourly to every 30 minutes or even 15 minutes depending on your meeting volume.
  • Alternate Messaging Channel: Replace the WhatsApp node with another messaging node like Slack, Telegram, or Email to receive notifications tailored to your preferred platform.
  • Additional Profile Data: Edit the HTML Extract nodes to also scrape other LinkedIn profile data fields such as endorsements, skills, or education sections for richer summaries.
  • Selective Attendee Processing: Use extra conditions or filters in the Switch node to prioritize only key contacts or attendees over a certain importance threshold.
  • Custom Prompt Tuning: Tweak prompt texts in each OpenAI Chat Model node to refine tone or include specific meeting preparation specifics important to you.

6. Troubleshooting 🔧

Problem: Gmail node returns no emails for attendee

Cause: Email address filter mismatch or incomplete inbox access scope.

Solution: Verify the attendee’s email format matches exactly. Check OAuth2 Gmail credentials have full read access and correct account is connected. Test the query manually in Gmail.

Problem: LinkedIn scraping returns no data or errors

Cause: Your LinkedIn cookie is missing, expired, or blocked by LinkedIn.

Solution: Update the Set LinkedIn Cookie node with a fresh li_at cookie copied from your browser session logged into LinkedIn. Also, respect LinkedIn terms of service to avoid ban.

Problem: OpenAI nodes running into rate limits or errors

Cause: Hitting API quota or using unstable API keys.

Solution: Monitor your OpenAI quota, refresh API keys, or add retry logic in the nodes.

7. Pre-Production Checklist ✅

  • Test scheduler triggering as expected
  • Confirm Google Calendar is correctly tied and returning upcoming meetings
  • Verify Gmail nodes successfully fetch email correspondences by sender
  • Check Apify API integration and LinkedIn cookie validity for scraping profiles
  • Test OpenAI nodes generate meaningful summaries
  • Send test WhatsApp message to confirm delivery
  • Backup all workflow credentials and export workflow JSON for rollback

8. Deployment Guide

Activate your workflow in n8n by toggling the activation switch on the editor screen. Ensure your credentials are live and valid.

For production, monitor execution logs for errors or delays. Scale your n8n instance as needed to handle concurrent runs if you have many meetings per hour.

Optionally, self-host n8n on services like Hostinger for privacy and control.

9. FAQs

Can I use Outlook instead of Gmail for emails?

Currently, this workflow is built around the Gmail node and OAuth2 integration, but you can replace Gmail nodes with Outlook equivalents if you configure Microsoft credentials in n8n.

Does this consume a lot of OpenAI API credits?

Yes, since multiple OpenAI nodes summarize emails and LinkedIn content, expect moderate usage depending on meeting frequency. Consider monitoring usage or adjusting prompt size.

Is my LinkedIn scraping secure?

Scraping uses your own authenticated LinkedIn session via your cookie. Keep your cookie private and do not share. Use a secondary LinkedIn account if concerned about terms.

Can this workflow handle 20+ meetings per day?

Yes, but you may want to increase your n8n instance capacity and API quotas to avoid throttling.

10. Conclusion

By setting up this AI Meeting Assistant in n8n, you’ve automated the exhausting and error-prone prep work Emma faced. Now, you get succinct, tailored pre-meeting notifications that boost confidence, save hours weekly, and help you connect meaningfully with every attendee.

Next, consider extending this workflow to include calendar event follow-ups, CRM updates post meeting, or automatic meeting note generation using AI.

Keep exploring and automating — your time is valuable!

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free