1. Opening Problem Statement
Meet Rachel, a busy sales executive juggling up to 8 meetings daily with multiple clients. Rachel often finds herself scrambling minutes before calls, recalling little about recent conversations or updates with each attendee. She spends over 30 minutes each day digging through emails and LinkedIn profiles just to catch up — time that could be better spent closing deals or strategizing.
Missed context and forgotten action points lead to costly misunderstandings and lost opportunities. Rachel needs a way to get a concise, customized briefing about her upcoming meetings without manual research. This is exactly where our advanced AI-powered pre-meeting notification workflow in n8n comes in.
2. What This Automation Does
When this workflow runs, it:
- Periodically checks Rachel’s Google Calendar for meetings scheduled within the next hour.
- Extracts detailed attendee information (emails, names, LinkedIn URLs) using AI from the meeting invite data.
- Fetches recent email correspondence between Rachel and attendees from Gmail, summarizing key points with AI.
- Scrapes LinkedIn profiles and recent activity of attendees using Apify’s web scraper, then summarizes this info with AI.
- Aggregates all gathered insights to generate a personalized, concise pre-meeting briefing via OpenAI’s GPT-4o model.
- Sends this well-crafted notification directly to Rachel’s WhatsApp, ensuring she receives it instantly on her mobile.
With this workflow, Rachel saves over an hour daily on preparation, gains confidence entering meetings, and impresses clients with up-to-date knowledge — all automatically.
3. Prerequisites ⚙️
- n8n account (cloud or self-hosted) for running the automation.
- Google Calendar API credentials with access to your calendar.
- Gmail API OAuth2 credentials to fetch emails.
- OpenAI API key for AI-powered summarization and extraction.
- WhatsApp Business Cloud API credentials to send notifications.
- Apify API access for web scraping LinkedIn profiles.
- LinkedIn login cookie (li_at) to allow Apify scraper to access profiles.
4. Step-by-Step Guide
Step 1: Set Up Scheduled Trigger to Check Upcoming Meetings
In n8n, add a Schedule Trigger node. Configure it to fire every hour to check for meetings within the coming 60 minutes.
This triggers periodic checks seamlessly.
Common mistake: Forgetting to set the timezone correctly, causing missed or extra runs.
Step 2: Query Upcoming Meetings from Google Calendar
Add a Google Calendar node connected to the trigger. Set operation to getAll with filters to limit results to one upcoming meeting starting between now and the next hour.
Use your Google Calendar OAuth2 credentials here.
Expected: One meeting object with start time, summary, attendees.
Step 3: Extract Attendee Details Using AI Information Extractor
Connect a Information Extractor node configured to parse meeting data fields (start time, summary, attendees, organizer). Input uses data from the Google Calendar node.
The node employs a system prompt to explicitly extract names, emails, and LinkedIn URLs of attendees (excluding organizer).
This replaces complex manual extraction with AI-driven parsing.
Step 4: Split Attendee List to Process Individually
Use a Split Out node on the extracted attendees array to handle each attendee separately.
This prepares them for personalized research.
Step 5: Route Attendees Based on Available Data (Email or LinkedIn)
Use a Switch node to route each attendee depending on presence of email or linkedin_url.
This ensures targeted data gathering per contact type.
Step 6a: Fetch Recent Email Correspondence (If Email Present)
Branch for emails connects to a Gmail node getting the latest message sent by attendee’s email. Then a Set node simplifies the email data (date, subject, text).
Following that, a Basic LLM node summarizes the correspondence using OpenAI’s GPT-4o model for a succinct recap.
Common mistake: Missing correct OAuth2 scopes for Gmail API leads to authentication errors.
Step 6b: Scrape LinkedIn Profile and Activity (If LinkedIn URL Present)
Route for LinkedIn uses a Set node to add LinkedIn cookies along with profile URL, feeding those into an HTTP Request node calling Apify.com’s scraper API.
Next, use a series of HTML Extract nodes to parse the “About” section and recent activity posts.
Then aggregate extracted activities and summarize profile plus recent actions with an LLM node.
Important: Add your LinkedIn session cookie (li_at) in the Set node to authorize scraping.
Step 7: Aggregate Attendee Summaries
Use a Set node to merge email and LinkedIn summaries for each attendee, followed by an Aggregate node to combine them all into a single array for the meeting.
Step 8: Generate Pre-Meeting Notification Message
Pass the aggregated attendee data plus meeting details into a Basic LLM node to generate a personalized message, including meeting summary, attendees’ summarized correspondence, and LinkedIn insights.
Step 9: Send Notification via WhatsApp Business Cloud
Connect a WhatsApp node configured with your WhatsApp Business Cloud credentials. The node sends the generated message to your desired phone number.
Rachel can now receive an AI-curated pre-meeting briefing on her phone, enhancing preparedness and confidence.
5. Customizations ✏️
- Adjust Notification Frequency: Change the schedule trigger’s interval from 1 hour to 30 minutes or custom time through Scheduler node settings.
- Switch Messaging Platform: Replace the WhatsApp node with Slack or Telegram nodes if you prefer different communication channels.
- Include CRM Data: Integrate your CRM API node to enrich attendee info instead of only using LinkedIn or emails.
- Customize LLM Summaries: Modify the OpenAI model prompts for more formal or casual tone according to your style.
- Extend LinkedIn Data Extraction: Add extraction of additional LinkedIn profile sections like skills or endorsements by updating the HTML nodes.
6. Troubleshooting 🔧
Problem: “Authentication failed for Gmail node”
Cause: OAuth2 credentials lack required scopes or token expired.
Solution: Re-authenticate Gmail credentials; ensure scopes include reading email messages.
Problem: “No upcoming meetings found” despite scheduled events
Cause: Time filter in Google Calendar node configured incorrectly (e.g., timezone mismatch or wrong timeMin/timeMax).
Solution: Verify Google Calendar node filters use correct UTC or local time respecting your calendar zone.
Problem: “LinkedIn scraping returns empty or error”
Cause: Missing or invalid LinkedIn session cookie or Apify API errors.
Solution: Update LinkedIn li_at cookie in the Set node; check Apify API key and quota.
7. Pre-Production Checklist ✅
- Confirm Google Calendar credentials can access the correct calendar.
- Test Gmail node with emails from known attendees.
- Validate LinkedIn cookie is current and Apify API responds as expected.
- Run the workflow with test meetings to verify correct attendee data extraction.
- Check WhatsApp node sends test messages to a valid phone number.
- Backup your workflow regularly before production deployment.
8. Deployment Guide
Activate the schedule trigger after configuring all credentials and testing individual subworkflows. Monitor initial runs via n8n’s workflow execution UI for errors or unexpected results.
Set up logging to capture errors especially from LinkedIn scraping and API rate limits.
If self-hosting n8n, consider using Hostinger for reliable performance (hostinger).
9. FAQs
Can I use Outlook instead of Gmail?
Yes, but you’ll need to replace the Gmail node with Microsoft Outlook node and adjust authentication accordingly.
Does LinkedIn scraping violate terms?
Scraping LinkedIn may conflict with LinkedIn’s terms; use responsibly and consider LinkedIn API alternatives for production.
Will this workflow handle multiple simultaneous meetings?
Designed primarily for one meeting per trigger interval; substantial modifications needed for overlapping meetings.
10. Conclusion
By following this detailed walkthrough, you created a powerful, AI-driven assistant that prepares your meeting context intelligently by aggregating emails, calendar, and LinkedIn data, then delivering a neat WhatsApp brief. You save critical time daily and enter meetings confident and well-informed.
Next steps: automate post-meeting follow-ups, extend to SMS or email notifications, or integrate video conferencing remarks extraction for a fuller workflow ecosystem. Happy automating!