🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets to Google Calendar, interviews booked fast

Lisa Granqvist Partner Workflow Automation Expert

Your interview scheduling is probably “organized”… until it isn’t. A new candidate lands in a Google Sheet, someone pings a hiring manager, calendars don’t match, and suddenly you’re stuck in email ping pong just to lock one slot.

This Sheets Calendar automation hits recruiters first, but founders and ops managers feel it too. You get interviews booked automatically, with a calendar invite and a polished email, without babysitting everyone’s availability.

Below you’ll see exactly what the workflow does, what you need, and how to adapt it to your team’s scheduling rules.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Google Sheets to Google Calendar, interviews booked fast

Why This Matters: Interview Scheduling Turns Into Hidden Work

Interview scheduling looks simple on paper. In reality, it becomes a chain of tiny tasks that break your focus: checking calendars, proposing times, confirming time zones, creating invites, and writing “nice” emails that still sound like your company. Do that a few times a week and it’s suddenly a recurring time tax. Worse, inconsistency creeps in. One candidate gets a great experience, another gets a rushed template, and you don’t notice until replies slow down or people no-show.

The friction compounds. Here’s where it typically breaks down.

  • New candidate rows sit in a spreadsheet until someone remembers to act on them.
  • Finding a time that works becomes a back-and-forth thread that can drag on for days.
  • Calendar events get created without consistent titles, notes, or meeting details, so everyone shows up slightly confused.
  • Email invites vary by person, which means your candidate experience depends on who was “on duty” that day.

What You’ll Build: Auto-Scheduled Interviews From a Google Sheet

This workflow watches your candidate spreadsheet and reacts the moment a new row appears. It takes the candidate’s details (name, email, background), calculates the next eligible interview time based on your rules, and then books the interview directly in Google Calendar. Once the event exists, the automation uses GPT-4 (via Azure OpenAI) to write a short, professional invitation that references the candidate naturally instead of sounding copy-pasted. Finally, Gmail sends the invite, so the candidate gets a clean message and your team gets a real calendar event. No manual slot hunting. No rewriting emails for the tenth time this week.

The workflow starts with a Google Sheets trigger that checks for new candidate entries every minute. Then it computes the next available interview slot (Mon/Wed/Fri at 3 PM) while preventing same-day interviews and avoiding conflicts. After that, it creates the event in Google Calendar and sends a personalized invitation email through Gmail.

What You’re Building

Expected Results

Say you add 10 candidates a week to your Google Sheet. Manually, even a “fast” process is maybe 20 minutes each (check calendars, pick a slot, create the event, write the email), which is about 3 hours of admin work weekly. With this workflow, the sheet entry triggers the process automatically and you spend a couple minutes skimming the calendar event and the email before it goes out. That is a real chunk of time back, every week.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your candidate intake spreadsheet.
  • Google Calendar to create and manage interview events.
  • Gmail to send invitation emails from your account.
  • Azure OpenAI API key (get it from Azure OpenAI Studio / your Azure portal).

Skill level: Intermediate. You’ll connect Google credentials, paste an API key, and tweak simple scheduling rules, but you won’t be writing an app.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A new candidate appears in Google Sheets. The workflow runs on a frequent check (every minute) and looks for newly added or updated rows that match your “ready to schedule” criteria.

The next interview slot gets calculated. A small code step computes the next Mon/Wed/Fri 3 PM slot, then applies guardrails so candidates don’t get scheduled same-day. It also prepares the exact start and end times that Google Calendar needs.

The interview is booked on your calendar. n8n creates a Google Calendar event using the computed slot, so the time is reserved and visible to the team immediately. This also becomes the “source of truth” for the email that follows.

A personalized invite email is generated and sent. GPT-4 (through Azure OpenAI) drafts a concise message using the candidate’s name and background details, then Gmail sends it out with the interview information pulled from the calendar event.

You can easily modify the slot rules (days, time, duration) to match your hiring cadence, and adjust the email tone to fit your brand. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Sheets Update Trigger

Set up the workflow to start when your hiring sheet is updated.

  1. Add and open Sheets Update Trigger.
  2. Credential Required: Connect your googleSheetsTriggerOAuth2Api credentials.
  3. Set Document to [YOUR_ID].
  4. Set Sheet to Foglio1 (gid 0).
  5. Keep Poll Times at everyMinute to check for updates frequently.

Tip: Ensure your Google Sheet has columns named NAME, EDUCATIONAL, and EMAIL to match downstream expressions.

Step 2: Set Up Processing in Compute Slot Times

Generate the next available interview slot and a one-hour end time.

  1. Add Compute Slot Times and paste the provided JavaScript into Code.
  2. Verify the output fields are nextSlot and endSlot.
  3. Connect Sheets Update Trigger to Compute Slot Times.

⚠️ Common Pitfall: The slot calculator always skips today. If you need same-day scheduling, adjust the daysUntil logic in Compute Slot Times.

Step 3: Configure Schedule Calendar Event

Create a Google Calendar event using the computed slot times.

  1. Add Schedule Calendar Event.
  2. Credential Required: Connect your googleCalendarOAuth2Api credentials.
  3. Set Start to {{ $json.nextSlot }}.
  4. Set End to {{ $json.endSlot }}.
  5. Select the Calendar as [YOUR_EMAIL].
  6. Connect Compute Slot TimesSchedule Calendar Event.

Step 4: Set Up AI Email Composition

Use Azure OpenAI to write a personalized interview email and parse it as structured JSON.

  1. Add Compose Interview Email and set Text to:
    {{ $('Sheets Update Trigger').item.json.NAME }}
    {{ $('Sheets Update Trigger').item.json.EDUCATIONAL }}
    Link for calendar: {{ $json.htmlLink }}
    My name is [YOUR_NAME], I'm from [YOUR_COMPANY]
  2. Ensure Has Output Parser is enabled and connected to Extract Email JSON.
  3. Connect Azure Chat Assistant as the language model for Compose Interview Email.
  4. Credential Required: Connect your azureOpenAiApi credentials in Azure Chat Assistant.
  5. Leave Extract Email JSON with the schema example:
    { "body": "" }

Tip: Extract Email JSON is an AI sub-node. Add credentials to Azure Chat Assistant, not to the parser itself.

Step 5: Configure the Email Dispatch

Send the AI-generated email to the candidate.

  1. Add Dispatch Interview Email.
  2. Credential Required: Connect your gmailOAuth2 credentials.
  3. Set Send To to {{ $('Sheets Update Trigger').item.json.EMAIL }}.
  4. Set Subject to Interview Details.
  5. Set Message to {{ $json.output.body }}.
  6. Connect Compose Interview EmailDispatch Interview Email.

Step 6: Test and Activate Your Workflow

Validate the end-to-end flow before turning it on.

  1. Click Execute Workflow and update a row in your sheet to trigger Sheets Update Trigger.
  2. Confirm Schedule Calendar Event creates a new event with a valid htmlLink.
  3. Check that Compose Interview Email outputs a JSON with body and that Dispatch Interview Email sends successfully.
  4. When successful, toggle the workflow to Active to run in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Calendar credentials can expire or lack the right calendar permissions. If events aren’t being created, check the connected Google account and the calendar selection inside the Google Calendar node first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Azure OpenAI prompts are often too generic out of the box. Add a few lines of brand voice and “what to include” guidance early, or you’ll end up editing every email anyway.

Quick Answers

What’s the setup time for this Sheets Calendar automation automation?

About 30 minutes if your Google and Azure accounts are ready.

Is coding required for this interview scheduling?

No. You’ll mainly connect accounts and tweak the scheduling rules in one place.

Is n8n free to use for this Sheets Calendar automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Azure OpenAI API costs, which are usually a few cents per email depending on your prompt.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this Sheets Calendar automation workflow for different use cases?

Yes, and you should. Most teams change the “Compute Slot Times” logic to match their real interview windows, then adjust the “Compose Interview Email” prompt to reflect their role, timeline, and meeting format. You can also swap the Google Sheets trigger for another intake source later (like a form) while keeping the Calendar + Gmail pieces the same.

Why is my Google Calendar connection failing in this workflow?

Usually it’s expired Google OAuth consent or the wrong calendar being targeted. Reconnect the Google Calendar credential in n8n, then double-check the calendar ID or calendar selection in the “Schedule Calendar Event” node. If it still fails, it can be a permissions issue (shared calendars often need explicit access) or a conflict error if the slot you computed is already taken.

What volume can this Sheets Calendar automation workflow process?

Plenty for most small teams. On n8n Cloud, your limit depends on the plan’s monthly executions; if you self-host, there’s no execution cap and it mostly comes down to server resources and API rate limits. In practice, this workflow is lightweight because it processes one new row at a time, then creates one event and sends one email.

Is this Sheets Calendar automation automation better than using Zapier or Make?

Often, yes, because the scheduling logic is the whole game. n8n is more comfortable when you need conditional rules (no same-day interviews), custom code for time calculations, and structured AI output you can trust before sending. Zapier/Make can do it, but you may end up stacking extra steps or paying more as volume grows. If you only need “new row → create event” with a basic email template, those tools can be quicker. For anything more nuanced, n8n is usually the calmer choice. Talk to an automation expert if you want a quick recommendation based on your process.

Once this is running, scheduling stops being a daily distraction. The workflow handles the repetitive parts, and you stay focused on actually hiring well.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal