🔓 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

RetellAI + Google Calendar: calls book themselves

Lisa Granqvist Partner Workflow Automation Expert

Missed calls don’t feel like “missed calls.” They show up later as empty calendar slots, confused staff, and the nagging sense that you’re leaking revenue in the background.

Front-desk teams get buried first. Then it hits clinic owners and service businesses who rely on the phone. This RetellAI booking automation answers 24/7, pulls the right info, and books directly into Google Calendar without someone playing receptionist all day.

Below you’ll see exactly what the workflow does, what results you can expect, and what you’ll need to run it reliably.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: RetellAI + Google Calendar: calls book themselves

The Problem: Phone Calls Create Hidden Admin Work

When bookings come in by phone, the work doesn’t stop when the call ends. Someone has to listen carefully, write down the details, confirm a time, check availability, then create the calendar event. And if the caller asks a simple question (hours, returns, services), your team repeats the same answers all week. The worst part is the mistakes: a name spelled wrong, the date misunderstood, or the wrong service length booked. One small slip, one unhappy customer. It’s exhausting.

The friction compounds. Here’s where it breaks down in real life.

  • Calls arrive after hours, so potential customers hit voicemail and move on.
  • Agents and staff miss details in the rush, which leads to incorrect bookings and awkward follow-ups.
  • Teams answer the same FAQ questions repeatedly because the “source of truth” is scattered across folders and docs.
  • Even when everything goes fine, you still spend about 10 minutes per call on admin that doesn’t grow the business.

The Solution: RetellAI Answers, Retrieves, and Books Automatically

This workflow turns your phone line into an always-on booking and support channel. RetellAI handles the conversation, then sends call events into n8n via a webhook when a call ends or is analyzed. From there, OpenAI summarizes what happened and pulls out structured details like the caller’s name, contact info, the service requested, and the intended date and time. If the caller asked a question, the workflow can answer using your own documents through a RAG setup (Retrieval-Augmented Generation), which means it retrieves relevant snippets from your knowledge base before generating a response. Finally, when the call is actually a booking request, n8n formats the date correctly and creates the event in Google Calendar. Your team gets a clean Telegram update so nothing disappears into a black hole.

The workflow starts with RetellAI webhooks for call events and support queries. It routes the request to either summarization + alerting, or knowledge retrieval + response, or calendar scheduling. The output is simple: booked appointments in Google Calendar, plus readable summaries your team can act on.

What You Get: Automation vs. Results

Example: What This Looks Like

Say your business gets 6 booking calls a day. Manually, you might spend about 10 minutes per call listening, typing notes, checking the calendar, and creating the event, which is roughly 1 hour daily. With this workflow, the “work” becomes a quick glance at a Telegram summary plus the calendar entry that’s already created. Even if you spend 1 minute per call reviewing, that’s about 10 minutes a day. You get most of that hour back, and you stop dropping after-hours callers.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • RetellAI to answer calls and send webhooks.
  • Google Calendar to create appointments automatically.
  • Google Drive for your knowledge base documents.
  • OpenAI API key (get it from the OpenAI API dashboard)

Skill level: Intermediate. You’ll connect accounts, paste webhook URLs into RetellAI, and make small prompt edits for your business.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

RetellAI sends the signal. When a call ends (or RetellAI finishes analyzing it), it hits your n8n webhook with the transcript and call details.

The workflow cleans and structures the call. n8n maps the raw fields, then OpenAI summarizes the conversation and an output parser turns that summary into usable data (names, intent, requested time).

Knowledge questions get answered from your docs. For FAQ-style queries, the workflow retrieves relevant snippets from a Qdrant vector store built from documents pulled out of Google Drive, then the AI agent replies with context-aware answers.

Bookings land in Google Calendar and your team gets notified. The workflow formats dates into calendar-friendly timestamps, creates the event, and sends a Telegram update with a clear summary so your staff can follow up if needed.

You can easily modify which Google Drive folder is indexed to change what the agent “knows” based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

This workflow begins with a manual trigger to initialize Qdrant collection setup and data resets.

  1. Add the Manual Execution Start node as the trigger.
  2. Confirm the execution flow: Manual Execution Start outputs to both Create Collection Request and Reset Collection Data in parallel.

Step 2: Connect Qdrant Collection Setup and Google Drive Sources

This step initializes your vector database and pulls knowledge base files from Google Drive.

  1. Configure Create Collection Request with URL set to https://QDRANTURL/collections/COLLECTION and Method set to POST.
  2. Set JSON Body to { "filter": {} } and enable Send Body and Send Headers.
  3. Credential Required: Connect your httpHeaderAuth credentials in Create Collection Request.
  4. Configure Reset Collection Data with URL set to https://[CONFIGURE_YOUR_API_KEY]/delete and Method set to POST.
  5. Credential Required: Connect your httpHeaderAuth credentials in Reset Collection Data.
  6. In Fetch Drive Folder, set Drive to My Drive and Folder ID to =[YOUR_ID].
  7. Credential Required: Connect your googleDriveOAuth2Api credentials in Fetch Drive Folder.
  8. In Download Drive Files, set Operation to download and File ID to {{ $json.id }}.
  9. Credential Required: Connect your googleDriveOAuth2Api credentials in Download Drive Files.

⚠️ Common Pitfall: Replace placeholder values like QDRANTURL, COLLECTION, and [YOUR_ID] before running the workflow.

Step 3: Set Up Document Chunking and Vector Storage

These nodes transform Drive files into chunks, generate embeddings, and store vectors in Qdrant.

  1. In Token Chunk Splitter, set Chunk Size to 300 and Chunk Overlap to 30.
  2. Configure Load Default Documents with Data Type set to binary.
  3. Credential Required: Connect your openAiApi credentials in Generate Embeddings.
  4. In Store Vectors Qdrant, set Mode to insert and ensure your Qdrant Collection is selected.
  5. Credential Required: Connect your qdrantApi credentials in Store Vectors Qdrant.

Step 4: Configure Call Intake, Filtering, and Summarization

This path ingests call data, filters for completed events, and summarizes the transcript before notifying Telegram.

  1. In Call Intake Webhook, set HTTP Method to POST and Path to b352dd49-d3b3-4e0a-a781-17137f7199c8.
  2. In Apply Event Filter, add two conditions: Left Value {{ $json.body.event }} equals call_ended and call_analyzed.
  3. In Map Call Fields, map fields like Transcript to {{ $json.body.call.transcript }} and Duration (sec) to {{ $('Call Intake Webhook').item.json.body.call.call_cost.total_duration_seconds }}.
  4. In Summarize Key Points, set Text to To: {{ $json.To }} Complete transcript: {{ $json.Transcript }} and enable output parsing.
  5. Credential Required: Connect your openAiApi credentials in Primary Chat Model (this is the language model for Summarize Key Points).
  6. Ensure Parse Summary Output is connected as the output parser for Summarize Key Points; credentials should be added to Primary Chat Model, not Parse Summary Output.
  7. In Send Telegram Update, set Chat ID to [YOUR_ID] and keep the message template using {{ $json.output.* }} fields.
  8. Credential Required: Connect your telegramApi credentials in Send Telegram Update.

Step 5: Set Up the RAG Support Agent Webhook

This branch handles inbound support queries using the vector store and returns responses via webhook.

  1. In RAG Webhook Entry, set HTTP Method to POST, Path to edb1e894-1210-4902-a34f-a014bbdad8d8, and Response Mode to responseNode.
  2. In Retrieve Support Agent, set Text to {{ $json.body.args.query }} and keep Agent set to conversationalAgent.
  3. Credential Required: Connect your openAiApi credentials in Agent Chat Model (this is the language model for Retrieve Support Agent).
  4. Ensure RAG Knowledge Tool is connected as a tool to Retrieve Support Agent; credentials should be added to the parent language model, not the tool node.
  5. Credential Required: Connect your openAiApi credentials in Retriever Chat Model (this powers RAG Knowledge Tool).
  6. Credential Required: Connect your qdrantApi credentials in Fetch Qdrant Store and openAiApi credentials in Secondary Embeddings.
  7. Keep Return Webhook Response connected to Retrieve Support Agent to send the AI response back to the caller.

Step 6: Configure Availability Checking and Calendar Booking

This path formats requested dates and creates a Google Calendar event.

  1. In Check Availability Webhook, set HTTP Method to POST, Path to 4dcd68b1-91d3-40bc-8aa6-c681126752b2, and Response Mode to lastNode.
  2. In Format Start Date, set Text to Convert this date to a compatible format for Google Calendar APIs for the start date, and for the end date add 1 hour to the start date. Here is the start date: {{ $json.body.args.date }} and keep output parsing enabled.
  3. Credential Required: Connect your openAiApi credentials in Calendar Chat Model (this is the language model for Format Start Date).
  4. Ensure Parse Time Output is connected as the output parser for Format Start Date; credentials should be added to Calendar Chat Model, not Parse Time Output.
  5. In Create Calendar Event, set Start to {{ $json.output.start }} and End to {{ $json.output.end }}, then select your calendar [YOUR_EMAIL].
  6. Credential Required: Connect your googleCalendarOAuth2Api credentials in Create Calendar Event.

Step 7: Test and Activate Your Workflow

Validate each path and then enable the workflow for production.

  1. Click Execute Workflow to test the Manual Execution Start branch and confirm Qdrant collection setup and Drive ingestion run without errors.
  2. Send a POST request to the Call Intake Webhook URL and confirm a Telegram summary arrives from Send Telegram Update.
  3. Send a POST request to the RAG Webhook Entry URL and verify a response is returned via Return Webhook Response.
  4. Send a POST request to the Check Availability Webhook URL and confirm Create Calendar Event creates an event with the formatted times.
  5. Toggle the workflow to Active once all tests succeed.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Calendar credentials can expire or need specific permissions. If things break, check the Google connection inside n8n’s Credentials panel 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.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this RetellAI booking automation?

Plan on about 1–2 hours if your accounts are ready.

Do I need coding skills to automate RetellAI booking?

No. You’ll mostly connect accounts and paste webhook URLs into the right places.

Is n8n free to use for this RetellAI 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 (often just a few dollars a month at low volume) and any RetellAI usage.

Where can I host n8n to run this RetellAI booking 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 customize this RetellAI booking automation workflow for a different service type?

Yes, and you should. You’ll typically tweak the summarization and date/time prompts (the OpenAI “summarize” and “format start date” parts) so they capture your service duration, staff member, and any intake questions. Many teams also swap the Google Drive folder that gets indexed so the RAG answers match their real policies. If you want a “human handoff” path, you can route certain intents to Telegram for manual confirmation instead of auto-booking.

Why is my RetellAI connection failing in this workflow?

Most of the time it’s the webhook URL, not RetellAI itself. Confirm the RetellAI agent is pointed at the correct n8n webhook (and the right one for call events vs. RAG queries), then re-check that the n8n workflow is active and reachable from the public internet. If you’re self-hosting, firewall or HTTPS issues can block inbound webhooks. Finally, look at the last execution in n8n to see which node first received an empty payload.

How many calls can this RetellAI booking automation handle?

On n8n Cloud, it depends on your plan’s monthly execution limit, and each call can trigger more than one execution if you use separate webhooks for booking and RAG. If you self-host, there’s no hard execution cap, but your server resources matter. Practically, most small businesses can handle dozens of calls a day comfortably, assuming your OpenAI and vector store calls aren’t timing out. If you expect heavy volume, you’ll want to watch rate limits and add basic retry handling.

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

Often, yes, because the “phone agent” use case needs branching logic, structured parsing, and a knowledge retrieval layer. n8n handles that without forcing you into expensive task pricing when a single call triggers multiple steps. You also get the option to self-host, which can be a big deal if you’re running this all day. That said, Zapier or Make can be fine for simple “call summary to Slack” flows. Talk to an automation expert if you want a quick recommendation for your exact setup.

Once this is running, calls don’t pile up into admin work. They turn into booked time on your calendar and clear notes in Telegram, honestly the way it should’ve been all along.

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