Automate Google Calendar Events from Google Sheets with n8n

This workflow automates event creation in Google Calendar by extracting event details from Google Sheets. It solves the problem of manual calendar entry errors and inefficiencies, enabling seamless, accurate scheduling through n8n automation.
googleSheetsTrigger
code
googleCalendar
+1
Workflow Identifier: 1066
NODES in Use: Sticky Note, Google Sheets Trigger, Code, Google Calendar

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

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

Opening Problem Statement

Meet Lisa, an event coordinator managing dozens of meetings and appointments weekly. She records every event detail in a Google Sheet but often forgets to manually add these events to Google Calendar, leading to double bookings and missed meetings. This manual process wastes hours each week, creates scheduling errors, and stresses her team.Lisa needs a streamlined way to automatically transfer her detailed event data from Google Sheets directly into her Google Calendar with zero manual effort.

What This Automation Does

This n8n workflow automates the entire event creation process from Google Sheets to Google Calendar. When it runs, it:

  • Detects new rows added to a specified Google Sheet containing event information.
  • Extracts the latest event data, including event name, description, location, and the start date.
  • Formats the event start date into the correct ISO format required by Google Calendar using a Function (Code) node.
  • Creates an all-day event in Google Calendar with the extracted details.
  • Sets the event’s background color and marks it as “Available” (transparent) for attendees.
  • Allows guests permission to invite others to the event.

By automating this, Lisa eliminates manual entry errors, saves hours weekly, and ensures her calendar is always up to date.

Prerequisites ⚙️

  • n8n account (cloud or self-hosted) 🔑
  • Google Sheets account with the event data sheet 📊
  • Google Calendar account connected to n8n 📅
  • Google Sheets Trigger node configured to monitor the target Sheet ⏱️
  • Basic knowledge of separating date formats (optional but helpful) 💬

Step-by-Step Guide

Step 1: Connect Google Sheets Trigger to Monitor New Events

In n8n, click “+ New Workflow”. Add the Google Sheets Trigger node named New Event Entry Listener.

Configure it as follows:
– Select your Google account under credentials.
– Set the trigger event to rowAdded to detect when a new event row is added.
– Choose your Spreadsheet and Sheet (Sheet1) to monitor.
– Set polling frequency to every minute.
You should now have real-time every-minute monitoring of new event entries.

Common mistake: Forgetting to select the correct Sheet or document will prevent new entries from being detected.

Step 2: Use Function Node to Format Event Dates

Add a Function node called Event Date Formatter right after the trigger.

Paste the following JavaScript code to parse and format the start date received from Google Sheets into ISO format:

// Get the last item from the input data
const lastEvent = items[items.length - 1].json;

// Extract event information
const eventName = lastEvent["Event Name"];
const eventDescription = lastEvent["Event Description"];
const currentYear = new Date().getFullYear();
const location = lastEvent["Location"];

// Ensure the date includes the current year
const formatDateWithYear = (dateStr) => {
    return dateStr.includes(currentYear) ? dateStr : `${dateStr} ${currentYear}`;
};

// Format start date
const startDateString = formatDateWithYear(lastEvent["Event Start Date"]);

// Convert to Date object
const startDate = new Date(startDateString);

// Format to ISO (YYYY-MM-DD)
const formattedStartDate = startDate.toISOString().split("T")[0];

// Return formatted data
return [{
    json: {
        eventName,
        eventDescription,
        startDate: formattedStartDate,
        location
    }
}];

>You should see the event date correctly formatted for Google Calendar’s requirements.

Common mistake: Not including the current year in event dates can cause events to default to wrong dates.

Step 3: Create Event in Google Calendar

Add the Google Calendar node called Google Calendar Event Creator connected after the Function node.

Configure:

  • Start date and end date set to {{ $json.startDate }} from the previous node.
  • Set the calendar to your target calendar.
  • Enable all-day event by setting allday to true.
  • Fill in summary (event name), description, and location from attributes passed in.
  • Set “Show me as” to transparent to mark availability.
  • Assign color code “3” for event color.
  • Allow guests to invite others.

After activation, newly added rows in Google Sheets automatically generate events in your Google Calendar.

Common mistake: Selecting incorrect calendar or missing required fields can cause event creation to fail.

Customizations ✏️

  • Change Event Status: In the Google Calendar node, adjust “showMeAs” from “transparent” to “busy” to reflect your real availability.
  • Set Different Event Colors: Change the “color” field to match different event types, e.g., “1” for red, “2” for blue.
  • Add End Time: Modify the Function node to parse and add an end date/time to create timed events rather than all-day.
  • Automate Reminders: In the Google Calendar node, add a reminder notification under “additionalFields”.

Troubleshooting 🔧

Problem: “No new rows detected by Google Sheets Trigger.”
Cause: Incorrect sheet or document ID selected or polling frequency too long.
Solution: Verify Sheet and document IDs in the Google Sheets Trigger node. Set polling to every minute for near real-time detection.

Problem: “Date format incorrect causing event creation failure.”
Cause: Input dates missing year or in wrong format.
Solution: Use the Function node code exactly as provided to append the current year and convert to ISO format.

Pre-Production Checklist ✅

  • Verify Google Sheets Trigger connects to the correct spreadsheet and sheet.
  • Test adding a dummy event row in Google Sheets to trigger the workflow.
  • Confirm that the Function node formats dates correctly (date appears as YYYY-MM-DD).
  • Ensure Google Calendar node creates the event with all intended fields visible.
  • Backup your Google Sheet data before active use.

Deployment Guide

Activate the workflow toggle in n8n and let the Google Sheets Trigger monitor for new rows every minute. Review n8n’s execution logs to ensure smooth operations. This workflow does not need complex infrastructure, so you can run it easily on the n8n cloud or your self-hosted instance (consider self-hosting with Hostinger for affordability).

Conclusion

By implementing this workflow, Lisa fully automates event creation between Google Sheets and Google Calendar, saving her hours per week and greatly reducing scheduling errors. This hands-off integration improves her team’s efficiency and calendar accuracy instantly.

Next, you might explore automating calendar invites via Gmail for event notifications or adding Slack notifications for new events in Google Sheets. Enjoy your new streamlined event management!

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