Automate Sales Follow-Up with Google Calendar and AI Agents in n8n

Struggling to keep up with sales follow-ups after meetings? This n8n workflow uses Google Calendar, Gmail, and AI agents to identify unattended follow-ups, suggest meeting slots, and get your approval before booking next calls automatically.
googleCalendar
gmail
agent
+7
Workflow Identifier: 1010
NODES in Use: Schedule Trigger, Google Calendar, Remove Duplicates, Split In Batches, Gmail, Set, Filter, LangChain Agent, Google Calendar Tool, Output Parser Structured

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

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

1. Opening Problem Statement

Meet Sarah, a busy sales representative who juggles dozens of client meetings weekly. After each meeting, Sarah often forgets to follow up promptly due to her hectic schedule. This leads to lost opportunities, stalled sales pipelines, and lost revenue. Manually tracking which clients need follow-up emails or calls wastes hours every week and increases the risk of human error.

In Sarah’s case, she typically spends 2-3 hours every week reviewing past meetings and checking if she has reengaged with clients. Missed follow-ups cause delays that might cost significant contracts or client trust. What if Sarah could automate this tedious process, ensuring every lead gets the timely nudge needed to close deals?

2. What This Automation Does

This n8n workflow automates Sarah’s post-meeting follow-up process using Google Calendar, Gmail, and advanced AI agents. Here’s what happens when it runs every morning at 6 AM:

  • Automatically fetches sales meetings from 2-4 days ago in Sarah’s Google Calendar to identify recent interactions.
  • Checks Gmail for any follow-up emails exchanged with meeting attendees since the meeting ended.
  • Flags meetings that have no follow-up emails as leads needing reengagement.
  • Uses an AI agent to analyze the previous meeting details and suggest available time slots that match similar day and time patterns for the next call.
  • Sends Sarah a summary email with those suggested slots and waits for her reply to approve, suggest alternative times, or dismiss the reminder.
  • Upon Sarah’s approval, another AI agent books the meeting automatically in her Google Calendar, streamlining the scheduling process effortlessly.

Overall, Sarah saves hours weekly, reduces forgotten leads, and accelerates closing deals by automating the critical follow-up scheduling process.

3. Prerequisites ⚙️

  • Google Calendar account with sales meetings recorded 📅
  • Gmail account for sending and receiving follow-up emails 📧
  • OpenAI account for AI-powered meeting availability and booking agents 🔐
  • n8n account to design and run the workflow (cloud-hosted or self-hosted) 🔌

For self-hosting n8n, consider services like Hostinger or any preferred provider.

4. Step-by-Step Guide

Step 1: Set Up the Scheduled Trigger to Run Daily at 6 AM

Navigate to your n8n editor and add a Schedule Trigger node. Configure it to trigger every day at 6 AM. This will start the workflow running automatically each morning.

What you see: A schedule rule field where you can select “Trigger at hour” and type “6”.

Common mistake: Forgetting to set the timezone correctly, which may cause the trigger to fire at unexpected hours.

Step 2: Retrieve Past Sales Meetings from Google Calendar

Add a Google Calendar node named Get Past Events. Configure it to fetch events from 2 to 4 days ago using the expressions:

timeMin: {{$now.minus({ day: 4 })}}
timeMax: {{$now.minus({ day: 2 })}}

Set the calendar ID to your sales calendar.

This node gathers the meetings that might need a follow-up.

Step 3: Remove Duplicate Events

Add a Remove Duplicates node named Mark as Seen. Configure it to remove events already processed in prior workflow runs to avoid duplicate notifications.

Step 4: Split Events into Batches for Processing

Add a Split In Batches node called Loop Over Items. This enables handling one meeting at a time through the remaining nodes.

Step 5: Check Gmail for Follow-Up Emails

Add a Gmail node called Get Emails Since. Configure it to search emails with these parameters:

  • Limit to 1 email per thread for efficiency.
  • Search query using the meeting attendees’ email (excluding yourself), e.g. from:[attendee email] OR to:[attendee email].
  • Only emails received after the meeting ended.

This node checks whether any email communication has occurred since the meeting.

Step 6: Flag Meetings Needing Follow-Up

Add a Set node named Flag to Follow Up. This flags the meetings where no follow-up email is found.

Use this expression to set the flag:
followUp: $json.isEmpty() (where isEmpty indicates no email found).

Step 7: Filter Only Meetings Needing Follow-Up

Add a Filter node named Only Follow Ups to pass only flagged meetings to the next steps.

Step 8: Use AI Agent to Suggest Available Meeting Slots

Add the LangChain Agent node called Meeting Availability Agent. It receives details of the previous meeting such as title, date, and duration.

The AI system analyzes this info and queries your Google Calendar availability using a linked Google Calendar Tool node named Availability to find future slots similar to the previous meeting’s day/time.

Step 9: Parse AI Agent Output

The Output Parser Structured node formats the AI response into a slots array, each containing start and end times.

Step 10: Generate a Follow-Up Message for User Approval

Add a Set node named Generate Message that creates an email text listing available slots. It uses a JavaScript expression to filter out weekend slots and format dates for clarity.

Step 11: Send Email and Wait for User Approval

Add a Gmail node named Send for Human Approval in send-and-wait mode. Set it to email yourself (Sarah), with the message and subject including the lead’s email.

This allows Sarah to reply directly with free text approving, suggesting an alternative, or rejecting the follow-up.

Step 12: Use AI Agent to Book Meeting if Approved

Add another LangChain Agent node named Meeting Booking Agent. It takes the user’s natural language reply and the suggested slots.

If approval is detected, it books the meeting in the calendar automatically via the Google Calendar Tool node named Meetings.

Step 13: Confirm and Finish

The workflow ends here, having ensured no follow-up is missed without letting AI act without user consent.

5. Customizations ✏️

  • Modify Meeting Lookback Period: In the Get Past Events Google Calendar node, adjust timeMin and timeMax expressions to widen or narrow the event date range checked for follow-up needs.
  • Change AI Model: Switch the OpenAI model in the Meeting Availability Agent and Meeting Booking Agent nodes to a different GPT variant better suited to your needs.
  • Customize Follow-Up Email Template: Edit the message field in the Generate Message node to reflect your company’s tone or add additional instructions.
  • Add Alternative Approval Channel: Replace or add to the Gmail send-and-wait node by integrating Slack or Telegram to allow quicker approvals on mobile devices.

6. Troubleshooting 🔧

Problem: “No emails found after meeting end date”

Cause: Gmail query syntax in Get Emails Since node is incorrect or attendee email extraction fails.

Solution: Double-check the filter query format. Make sure the expression accessing attendee emails excludes the user’s own email correctly.

Problem: “AI agent returns no available slots”

Cause: Calendar API credentials lack proper access or no availability exists matching criteria.

Solution: Verify Google Calendar credentials. Adjust AI prompt or availability search range in the Availability node to be less restrictive.

Problem: “Follow-up email not sent/waiting indefinitely”

Cause: Gmail node in send-and-wait mode not set up correctly or email address configured incorrectly.

Solution: Check Send for Human Approval node settings. Confirm the exact email address is used for the “sendTo” parameter and that credentials are valid.

7. Pre-Production Checklist ✅

  • Ensure Google Calendar OAuth2 credentials are authorized and point to the correct calendar.
  • Verify Gmail OAuth2 credentials and test sending an email manually.
  • Test the workflow with a past meeting where no follow-up email exists and observe the message for slot suggestions.
  • Check AI agent outputs for valid date/time slots and message formatting.
  • Prepare fallback handling for empty event lists or no available slots.

8. Deployment Guide

Activate the scheduled trigger and save the workflow. Monitor runs via the n8n execution logs. The workflow will run automatically every morning at 6 AM, sending you reminders for sales follow-ups and offering automated booking assistance with AI.

9. FAQs

  • Can I use Microsoft Outlook instead of Google Calendar?
    Yes, by swapping the Google Calendar nodes with Microsoft Outlook calendar nodes you can adapt the workflow.
  • Does this workflow incur API costs?
    It uses the OpenAI API; ensure you understand your usage and billing at OpenAI console.
  • Is my data safe?
    All credentials use OAuth2 and data is processed within n8n securely. Review OpenAI and Google privacy policies.
  • Can this handle dozens of meetings daily?
    Yes, but watch for API rate limits on Gmail and Google Calendar.

10. Conclusion

By implementing this advanced n8n workflow, you’ve transformed how Sarah manages sales follow-ups. With automated detection, AI-driven availability suggestions, and human approval before booking, the risk of missed opportunities dramatically decreases.

You save hours weekly and maintain stronger client relationships with minimal manual effort. Next, consider automating sales report summaries or integrating Slack reminders to complement this workflow.

Try this workflow today and experience a smarter, more responsive sales process built around your calendar and communications.

Promoted by BULDRR AI

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