🔓 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 Calendar + OpenAI: interviews booked via chat

Lisa Granqvist Partner Workflow Automation Expert

Interview scheduling breaks down in the exact same place every time: the back-and-forth. You send times, they send different times, someone misses the time zone, and your calendar ends up with a “tentative” hold that never becomes a real meeting.

Recruiters feel it weekly. Hiring managers feel it when calendars are packed. And if you run a small team, you feel it because you’re doing scheduling and the actual hiring. This calendar booking automation turns “Can you do Tuesday?” into a quick chat that ends with a confirmed invite.

You’ll set up an AI scheduling assistant in n8n that checks Google Calendar, offers valid 30‑minute slots, collects contact details, then books the interview automatically. Clean, fast, and honestly a lot calmer.

How This Automation Works

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

n8n Workflow Template: Google Calendar + OpenAI: interviews booked via chat

Why This Matters: Interview Scheduling Without the Inbox Spiral

Scheduling interviews looks simple until you do it at scale, or under pressure. You’re juggling availability across one or more calendars, candidates reply hours later with partial info, and every “quick check” turns into another thread to manage. Then the real mistakes show up: you book over an internal meeting, you offer a slot that’s already gone, or you forget to confirm the time zone and the candidate joins 60 minutes late. It’s not just awkward. It delays hiring, burns trust, and drags your team into admin work when they should be evaluating people.

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

  • Offering times manually means you’re constantly cross-checking Google Calendar, especially when meetings move around during the day.
  • Candidates often reply with “next Tuesday afternoon” and you still have to interpret it, translate time zones, and re-confirm the exact slot.
  • One missed detail (email, phone, correct date) creates more follow-up, more waiting, and more opportunities for mix ups.
  • Even when you do everything right, you still end up doing the same task repeatedly, which is a terrible use of a recruiter’s attention.

What You’ll Build: An AI Chat That Books Interviews on Your Calendar

This workflow creates a conversational scheduling assistant that lives behind a simple public chat link. A candidate opens the chat and asks to book an interview. The AI agent gathers the basics (name, email, phone, preferred day or time), then checks your Google Calendar for conflicts. Behind the scenes, the workflow generates a list of valid 30‑minute interview slots on weekdays between 9 AM and 5 PM Eastern Time, compares those slots against existing calendar events, and only offers times that are actually free. Once the candidate selects a slot, the workflow formats the booking details into structured JSON, creates the Google Calendar event, and replies with a confirmation message.

It starts from the chat trigger. Availability is calculated using your real calendar events plus a timeslot generator. Finally, the confirmed slot becomes a calendar invite, with the candidate’s details captured as part of the booking record.

What You’re Building

Expected Results

Say you schedule 10 interviews a week. Manually, it’s usually 3 rounds of email or messages per interview, and you still spend maybe 10 minutes per round checking Google Calendar and rewriting options. That’s about 5 hours of admin work every week. With this workflow, the “work” becomes sharing a chat link, then letting the bot propose 30‑minute weekday slots and book the chosen one. You’ll still review the calendar, but the back-and-forth largely disappears.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Calendar for checking events and creating meetings.
  • OpenAI (GPT-4o) to run the conversational scheduling assistant.
  • Google OAuth2 credentials (create them in Google Cloud Console).
  • OpenAI API key (get it from platform.openai.com).

Skill level: Intermediate. You’ll paste credentials, edit a few workflow fields, and test the chat end-to-end.

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

Step by Step

A candidate opens the chat link. The workflow starts at the chat trigger node, which is the public entry point you can place on a careers page or send after an application.

The AI assistant runs the conversation. An OpenAI-powered agent asks for the candidate’s preferred timing plus contact details, and it remembers recent messages using a simple conversation buffer so the chat doesn’t feel “stateless.”

Availability is computed against your calendar. A sub-workflow pulls existing Google Calendar events, segments busy time into 30-minute blocks, generates valid weekday slots (9–5 Eastern), then filters out anything that overlaps.

A real meeting gets booked and confirmed. Once the candidate picks a slot, the workflow validates the final payload, formats it as structured JSON, creates the Google Calendar event, and sends a confirmation message with the agreed details.

You can easily modify working hours to match your team, or switch the 30-minute duration to 45 minutes based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Chat Trigger

Set up the inbound chat entry point that starts the interview scheduling conversation.

  1. Add and open Chat Message Trigger.
  2. Set Public to true to allow public chat access.
  3. Connect Chat Message Trigger to Interview Booking Assistant.

Step 2: Configure the Availability Subflow Trigger

This workflow calculates available interview slots by combining calendar events and generated timeslots.

  1. Add and open Availability Trigger and set Input Source to passthrough.
  2. Confirm Availability Trigger outputs to both Retrieve Calendar Events and Build 30m Timeslots in parallel.
  3. In Retrieve Calendar Events, set Operation to getAll and Return All to true.
  4. Credential Required: Connect your googleCalendarOAuth2Api credentials in Retrieve Calendar Events.

Availability Trigger outputs to both Retrieve Calendar Events and Build 30m Timeslots in parallel.

Step 3: Build and Filter Available Timeslots

Generate 30-minute business-hour slots, remove conflicts, and compile a list of available options.

  1. Open Build 30m Timeslots and keep the provided 30-minute slot generation logic for Eastern time and business hours.
  2. Open Segment Events to 30m and keep the provided segmentation logic for converting calendar events into 30-minute blocks.
  3. In Mark Blocked Slots, set assignments: start to {{ $json.start }}, end to {{ $json.end }}, and Blocked to Blocked.
  4. In Merge Calendar with Slots, set Mode to combine, Join Mode to enrichInput2, and Fields to Match to start, end.
  5. In Filter Available Slots, use the condition Blocked notEquals Blocked with {{ $json.Blocked }}.
  6. Confirm Compile Available Slot List concatenates items into availableSlots.

⚠️ Common Pitfall: If the timeslots appear empty, verify that both Retrieve Calendar Events and Build 30m Timeslots are connected into Merge Calendar with Slots and that the time zone logic matches your calendar.

Step 4: Set Up the AI Scheduling Assistant

Configure the conversational agent that gathers details, checks availability, and outputs structured booking data.

  1. Open Interview Booking Assistant and set Text to {{ $json.chatInput }}.
  2. Keep the provided System Message that defines scheduling rules and JSON output format.
  3. Confirm OpenAI Chat Engine A is connected as the language model for Interview Booking Assistant. Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine A.
  4. Confirm Conversation Buffer Memory is connected as memory for Interview Booking Assistant with Session Key set to {{ $json.sessionId }} and Context Window Length set to 10.
  5. Confirm tool nodes Invoke Availability Tool and Verify Weekday Labels are attached to Interview Booking Assistant as AI tools. Add any needed credentials to the parent node if you modify these tools.

Tip: If the assistant doesn’t call tools, make sure the system prompt includes explicit tool usage instructions and that the tools are connected to Interview Booking Assistant.

Step 5: Validate and Parse the AI Output

Ensure the AI response contains the required fields and convert it into structured JSON.

  1. In Validate Final Output, keep the conditions that check {{ $json.output }} for start_datetime and end_datetime.
  2. Connect the true output of Validate Final Output to Format Output as JSON and the false output to Request More Details.
  3. In Format Output as JSON, set Text to {{ $json.output }} and keep Has Output Parser enabled.
  4. Confirm Structured JSON Parser is connected as the output parser for Format Output as JSON, and keep the provided JSON schema example.
  5. Confirm OpenAI Chat Engine B is connected as the language model for Format Output as JSON. Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine B.

⚠️ Common Pitfall: If Validate Final Output routes to Request More Details unexpectedly, confirm the AI output contains both start_datetime and end_datetime keys.

Step 6: Configure Calendar Booking and Confirmation

Create the calendar event and return a confirmation message once details are validated.

  1. Open Create Calendar Meeting and set Start to {{ $json.output.interview.start_datetime }} and End to {{ $json.output.interview.end_datetime }}.
  2. Set Calendar to your email address (the same calendar used in Retrieve Calendar Events).
  3. Set Summary to Interview, Attendees to {{ $json.output.interview.email }}, and Description to I will call you at {{ $json.output.interview.phone }}.
  4. Credential Required: Connect your googleCalendarOAuth2Api credentials in Create Calendar Meeting.
  5. Open Send Confirmation Reply and keep the provided confirmation message logic that references Format Output as JSON.

Step 7: Test and Activate Your Workflow

Verify end-to-end behavior before enabling production use.

  1. Use Chat Message Trigger to start a test conversation and provide email, phone, and preferred time.
  2. Confirm that Interview Booking Assistant calls availability tools and that Validate Final Output routes to Format Output as JSON.
  3. Check that Create Calendar Meeting creates an event and that Send Confirmation Reply returns the confirmation text.
  4. When results look correct, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Calendar OAuth2 credentials can expire or need specific permissions. If things break, check the n8n Credentials page first, then confirm the Google Calendar API is enabled in your Google Cloud project.
  • If you adjust the workflow to include wait steps or you’re calling external tools, processing times vary. Bump up any wait duration if downstream nodes fail because they received an empty availability list too early.
  • Default prompts in the AI agent are generic. Add your rules (time zone, tone, what details to collect) early, or you will be editing confirmations and correcting assumptions forever.

Quick Answers

What’s the setup time for this calendar booking automation?

Plan for about 45 minutes if your Google and OpenAI credentials are ready.

Is coding required for this calendar booking automation?

No. You’ll mostly connect accounts, paste credential details, and edit a few fields like your calendar email and business hours.

Is n8n free to use for this calendar booking 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 OpenAI API costs, which are usually a few cents per conversation depending on length.

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 calendar booking automation workflow for different use cases?

Yes, and you probably should. You can change the time window and time zone in the timeslot generation code (the nodes that build 30‑minute slots and interview days), or swap the Google Calendar event creation step to point at a different calendar. Common customizations include changing slot length, blocking lunch hours, and adjusting the assistant’s script in the Interview Booking Assistant system message.

Why is my Google Calendar connection failing in this workflow?

Usually it’s the OAuth2 setup, not the workflow logic. Double-check that the Google Calendar API is enabled in the same Google Cloud project as your OAuth client, and that your redirect URI matches what n8n expects. If you copied this workflow, also make sure you replaced the calendar email everywhere it’s referenced. Finally, re-authenticate the credential inside n8n because tokens can go stale after changes.

What volume can this calendar booking automation workflow process?

If you self-host n8n, there’s no fixed execution limit (it depends on your server). On n8n Cloud, your monthly executions depend on your plan, and this workflow typically uses one execution per candidate conversation plus a few internal steps to compute availability.

Is this calendar booking automation better than using Zapier or Make?

For conversational scheduling, usually yes. n8n handles branching logic, tool-calling, and structured outputs in one place, and you can self-host for unlimited runs. Zapier and Make are solid for basic “form submitted → create event” flows, but they get clunky when you need an AI agent to ask follow-up questions and validate the final booking. If you’re torn, Talk to an automation expert and describe your volume and constraints.

This workflow turns interview scheduling into a simple, consistent process that runs without you hovering over your inbox. Set it up once, then let the chat handle the repetitive parts.

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