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
Automate Google Calendar with n8n and Google Sheets

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

Learn how to Build this Workflow with AI:

What This Automation Does

This workflow watches a Google Sheet for new event rows.

When a new event is added, it takes event details like name, description, location, and date.

The workflow changes the event start date into ISO format for Google Calendar.

It creates an all-day event on Google Calendar using these details.

The event is colored and marked as available, letting guests invite others.

This stops manual copying of events and keeps the calendar up to date without errors.


Who Should Use This Workflow

This is good for anyone who keeps events in Google Sheets.

It helps people with busy schedules avoid missing meetings or double booking.

No need to enter events twice, saving time and effort.


Tools and Services Used

  • n8n: Automates workflows easily.
  • Google Sheets: Where event info is stored.
  • Google Calendar: Where events are created.


Inputs, Process, and Output

Inputs

  • New rows added to a Google Sheet.

Processing Steps

  • Google Sheets Trigger watches for new event rows.
  • Function node formats the start date into ISO format.
  • Google Calendar node creates all-day event using the formatted data.

Output

  • An all-day event added to Google Calendar with correct details.
  • Event shows as free (transparent) and allows guests to invite others.

Beginner Step-by-Step: How to Use This Workflow in n8n

Step 1: Import the Workflow

  1. Download the workflow using the Download button on this page.
  2. Open the n8n editor where you want to run the automation.
  3. Use the Import from File option to upload the downloaded workflow into n8n.

Step 2: Configure Credentials and Settings

  1. Add required credentials such as Google Sheets and Google Calendar API Keys or OAuth details.
  2. Update the spreadsheet ID, sheet name, calendar ID, or emails if needed to match your accounts.
  3. Check if the Function node’s code matches your date field names or formats exactly.

Step 3: Test the Workflow

  1. Add a test event row in your Google Sheet to trigger the workflow.
  2. Watch the workflow execute in n8n to make sure the date formats correctly.
  3. Verify the event appears in Google Calendar with correct details and settings.

Step 4: Activate for Production

  1. Turn on the workflow toggle in n8n to start listening for new events automatically.
  2. Ensure you keep the Google Sheets Trigger polling frequency as every minute for near real-time updates.
  3. Monitor n8n logs for errors and confirm events create as expected during first use.

For self hosting n8n, check the guide at self-host n8n to set up on your server.


Step Breakdown: Function Node Code Explained

The Function node grabs the last new event from Google Sheets.

It checks if the date has the current year and adds it if not.

Then it converts the start date to ISO format (YYYY-MM-DD) for Google Calendar to read correctly.

// 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
    }
}];

Customization Ideas

  • Change event “Show me as” status from transparent (available) to busy in the Google Calendar node.
  • Pick different event colors by changing the “color” field number in the Google Calendar node.
  • Edit the Function node to add event end times for non all-day events.
  • Add reminder notifications by filling “additionalFields” in the Google Calendar node.


Troubleshooting

Issue 1: Google Sheets Trigger does not detect new rows

Cause usually is wrong Sheet or Spreadsheet selected or polling set too slow.

Solution is to verify the Sheet ID and adjust polling frequency to every minute.

Issue 2: Date format error causes event creation failure

The cause may be missing year or unsupported date format from Google Sheets.

Fix by using the provided Function code to add the year and convert to ISO format.


Pre-Production Checklist

  • Verify Google Sheets Trigger targets correct spreadsheet and sheet.
  • Test with a dummy event row to see if workflow triggers.
  • Confirm Function formats date as YYYY-MM-DD.
  • Ensure Google Calendar event is created with right details.
  • Backup original Google Sheet before active use.


Deployment Guide

Turn on the workflow in n8n to let the Google Sheets Trigger watch for new rows every minute.

Use execution logs in n8n to check if events create properly.

The workflow runs on n8n cloud or can be run on your server via self-host n8n.


Conclusion

This workflow fully automates event creation from Google Sheets to Google Calendar.

It ends double booking issues by removing manual entry steps.

The result is time saved, fewer errors, and an always updated calendar for busy users.

Users can next add notifications via Gmail or Slack for new events.


Summary

✓ Saves hours by removing manual calendar entry.

✓ Prevents event double booking and missed meetings.

→ Formats event dates for Google Calendar automatically.

→ Creates all-day, colored events set as available with guest invites.

✓ Easy to import and run in n8n with minimal setup.


Automate Google Calendar with n8n and Google Sheets

Visit through Desktop to Interact with the Workflow.

Frequently Asked Questions

The Google Sheets Trigger is set to watch for new rows added to the specified sheet. It checks every minute for new entries.
The Function node adds the current year automatically if the year is missing, ensuring correct date formatting for Google Calendar.
By default it creates all-day events. You must modify the Function node and Google Calendar node to include start and end times for timed events.
Yes, the workflow works on self-hosted n8n. Users should configure their credentials and can find hosting help at buldrr.com.

Promoted by BULDRR AI

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.