← All N8N workflows
AI & researchAgentFilterGmailGoogle CalendarGoogle Calendar Tool

receive schedule events and list google calendar and only follow ups

Configured with Agent, Filter, Gmail, Google Calendar, and additional nodes. Review the connections and setup before adapting this template.

Workflow preview
TriggerSchedule TriggerSchedule TriggerIntegrationGet Past EventsGoogle CalendarRoutingLoop Over ItemsLoop Over ItemsTransformFlag to Follow UpEdit FieldsRoutingOnly Follow UpsFilterMessagingGet Emails SinceGmailTransformOutputOutput Parser StructuredIntegrationAvailabilityGoogle Calendar ToolAI & modelsModelOpenAI Chat ModelAI & modelsMeeting AvailabilityAgentAgentTransformGenerate MessageEdit FieldsIntegrationMeetingsGoogle Calendar ToolAI & modelsModel1OpenAI Chat ModelAI & modelsMeeting Booking AgentAgentTransformMark as SeenRemove DuplicatesMessagingSend for Human ApprovalGmail

Node categories in this workflow

  • Trigger
  • Integration
  • Routing
  • Transform
  • Messaging
  • AI & models

Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.

Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.

How it works

The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.

Workflow node names, types, and operations
NodeCategoryTypeOperation
Schedule TriggerTriggerSchedule TriggerSee node parameters
Get Past EventsIntegrationGoogle CalendargetAll
Loop Over ItemsRoutingLoop Over ItemsSee node parameters
Flag to Follow UpTransformEdit FieldsSee node parameters
Only Follow UpsRoutingFilterSee node parameters
Get Emails SinceMessagingGmailthread
OutputTransformOutput Parser StructuredSee node parameters
AvailabilityIntegrationGoogle Calendar Toolcalendar
ModelAI & modelsOpenAI Chat ModelSee node parameters
Meeting Availability AgentAI & modelsAgentSee node parameters
Generate MessageTransformEdit FieldsSee node parameters
MeetingsIntegrationGoogle Calendar ToolSee node parameters
Model1AI & modelsOpenAI Chat ModelSee node parameters
Meeting Booking AgentAI & modelsAgentSee node parameters
Mark as SeenTransformRemove DuplicatesremoveItemsSeenInPreviousExecutions
Send for Human ApprovalMessagingGmailsendAndWait

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.

Requirements

An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.

Credential types declared in the source

  • gmailOAuth2
  • googleCalendarOAuth2Api
  • openAiApi

Workflow notes

1. Get Recent Meetings

1. Get Recent Meetings

Learn more about the GCalendar node

For this template, a scheduled trigger is set to fire every morning to pull in past meetings from 2-3 days ago. A "Remove Duplicates" node ensures we don't double process events more than once between runs.

2. Check If Any Messages Since

2. Check If Any Messages Since

Read more about the Gmail node

Next, we want to check if there has been any messages/contact between the lead and the user since the meeting ended. Where there is not, it could be a good opportunity to remind the user to reengage the lead as to not lose them.

3. Suggest Availability For Next Call

3. Suggest Availability For Next Call

Read more about AI Agents

Once filtered for applicable leads, we can use an AI Agent to suggest another meeting slot for them. An AI Agent can analyse the previous meeting details and use that information to suggest a similar date and time.

4. Get Human Approval

4. Get Human Approval

Learn more about n8n's Human-in-the-loop features

Of course, we don't want the AI to actually book the meeting unless the user confirms it is something he/she wants to do and the best way to confirm is just to ask the user directly! Thanks for n8n's Human-in-the-loop feature, we can achieve this with a number of messaging protocols.

Here, we're using the Gmail node's Send-and-wait-for-approval mode. This will send an email to the user and give them a textbox to tell our agent what they want to do next.

5. Book the meeting If Accepted

5. Book the meeting If Accepted

Learn more about the AI Agent node

Finally, the response from the user combined with the suggested availability slots are given to another AI agent which can book meetings. If the user accepted and confirmed a date, this agent will book the meeting on behalf of the user. If the user declined, then the agent takes no action.

Try it out!

Try it out!

This n8n template extends the idea of sales leads follow-up reminders by having an AI agent suggest and book the next call or message to reengage the prospect.

What makes this template practical for use is that it uses the Human-in-the-loop approach to wait for a user's approval before actually making the booking. Without, this could be annoying for both the user and the recipient!

How it works

  • A scheduled trigger checks your google calendar for sales meetings which happened a few days ago.
  • For each event, gmail search is used to figure out if a follow-up message has been sent or received from the other party since the meeting. If none, we want to remind ourselves to reengage the lead.
  • For leads applicable for follow-up, we first get an AI Agent to find available meeting slots in the calendar.
  • These slots and reminder are sent to the user via send-and-approval mode of the gmail node. The user replies in natural language either picking a slot, suggesting an entirely new slot or declines the request.
  • When accepted, another AI Agent books the meeting in the calendar with the proposed dates and lead.

How to use

  • Update all calendar nodes (+subnodes) to point to the right calendar. If this is a shared-purpose calendar, you may need to either filter or create a new calendar.
  • Update the gmail nodes to point to the right accounts.

Customising the template

  • Not using Google? Swap out for Microsoft or otherwise.
  • Try swapping out or adding in additional send-for-approval methods such as telegram or whatsapp.

Need Help?

Join the Discord or ask in the Forum!

receive schedule events and list google calendar and only follow ups

receive schedule events and list google calendar and only follow ups

Purpose and structure

This folder contains the receive schedule events and list google calendar and only follow ups workflow. Its executable nodes use agent, filter, gmail, googleCalendar, googleCalendarTool, lmChatOpenAi, outputParserStructured, removeDuplicates, scheduleTrigger, set, splitInBatches. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.

Setup

Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.

Entry points

Schedule Trigger

Verification

Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.

Attribution

https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Googlecalendar/0783_GoogleCalendar_Schedule_Create_Scheduled.json MIT; preserve source notices.

More in AI & research