🔓 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

Twilio WhatsApp + Google Calendar, bookings handled

Lisa Granqvist Partner Workflow Automation Expert

Your WhatsApp inbox moves fast. Too fast. One minute you’re answering a simple “Are you open Saturday?”, the next you’re juggling calendar slots, follow-ups, and the same FAQ replies you typed yesterday.

Support leads feel it first, but service business owners and agency teams running client scheduling get hit too. This WhatsApp booking automation turns incoming messages into answered questions and confirmed Google Calendar bookings, without you babysitting every thread.

Below you’ll see how the workflow routes each message, how it books or lists calendar events, and how it can email confirmations when that’s part of the request.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Twilio WhatsApp + Google Calendar, bookings handled

The Challenge: Turning WhatsApp Chats Into Booked Appointments

WhatsApp is where customers actually ask for help, but it’s a brutal place to run scheduling. You answer questions, then jump into Google Calendar to check availability, then back to WhatsApp to propose times, then back again to book the slot. And if you’re also expected to “sound consistent” as a brand, every rushed reply makes things worse. It’s not just time. It’s the mental load of context switching, plus the risk of double-booking when two people ask at once.

It adds up fast. Here’s where it breaks down in real life:

  • You end up repeating the same answers because FAQs aren’t centralized where your team can reuse them.
  • Calendar checks happen one conversation at a time, so response speed drops the moment your inbox gets busy.
  • Booking details get copied manually, which invites typos and “Wait, what time zone?” follow-up messages.
  • Follow-ups and confirmation emails slip, especially when the customer books after hours.

The Fix: AI-Powered WhatsApp Support That Can Book Your Calendar

This workflow connects Twilio WhatsApp to an AI support agent that can understand what the customer wants, then take the right action automatically. An incoming WhatsApp message is captured, cleaned up (so the AI sees a consistent format), and sent to an orchestrator agent. From there, the agent decides if it should answer from your FAQ knowledge base, perform a Google Calendar action (list availability, create a booking, remove an event), or draft and send an email through Gmail. Finally, the workflow sends a clear response back to the customer on WhatsApp, so the conversation stays in one place and the outcome is immediate.

The flow starts with the WhatsApp message coming in through Twilio. Next, OpenAI handles intent and routing, with Supabase retrieval when the user asks common questions. Then Google Calendar and Gmail tools complete the request, and the workflow replies on WhatsApp with the result.

What Changes: Before vs. After

Real-World Impact

Say you handle 15 WhatsApp booking requests a day. Manually, it’s usually about 10 minutes to read, clarify, check Google Calendar, confirm the slot, and send a clean reply, so you lose roughly 2.5 hours daily. With this workflow, the trigger is instant, the AI routes the request in a moment, and you mostly just review edge cases. In practice, many teams get that down to about 2 minutes per request, which is close to 2 hours back per day.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Twilio (WhatsApp enabled) to receive and send WhatsApp messages.
  • Google Calendar to create, list, and delete bookings.
  • OpenAI API key (get it from your OpenAI dashboard) for intent routing and replies.
  • Gmail account to send confirmations and follow-ups.
  • Supabase project for FAQ knowledge base storage and retrieval.

Skill level: Intermediate. You’ll connect accounts, paste API keys, and adjust a couple of prompts and fields.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A WhatsApp message hits your Twilio number. The Twilio WhatsApp trigger captures the inbound text and starts the run right away, so you’re not relying on someone to “notice” a new request.

The message gets normalized for consistent handling. A Set Fields step cleans up the content and standardizes metadata (like sender info), which makes the rest of the workflow more reliable and easier to troubleshoot later.

The AI agent chooses the right tool. The WhatsApp Support Orchestrator uses OpenAI to detect intent, then routes the request to calendar operations, knowledge retrieval via Supabase vector search, or email drafting and delivery through Gmail.

The workflow replies in WhatsApp with the outcome. If an appointment is created, the response can confirm the time and details. If it’s a question, it answers from your stored FAQs. If it’s email-related, it sends the email and tells the customer what happened.

You can easily modify the FAQ content source to match your business and change the booking rules (like duration or buffers) based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Twilio Trigger

This workflow starts when a WhatsApp message arrives. Configure the trigger to receive inbound WhatsApp messages from Twilio.

  1. Add the WhatsApp Incoming Trigger node to your workflow.
  2. Open the node and connect Twilio: Credential Required: Connect your twilioApi credentials.
  3. Keep the default inbound update (com.twilio.messaging.inbound-message.received).
  4. Confirm the execution flow: WhatsApp Incoming TriggerNormalize Incoming Text.

Step 2: Connect the Parent Workflow Trigger

This workflow also supports a parent workflow input for calendar operations. Configure the workflow trigger to accept passthrough data.

  1. Add the Triggered by Parent Flow node.
  2. Set Input Source to passthrough.
  3. Ensure the connection: Triggered by Parent FlowCalendar Operations Agent.

Step 3: Set Up Incoming Message Normalization

Normalize raw WhatsApp payloads into structured fields used by the AI and response sender.

  1. Add the Normalize Incoming Text node.
  2. Configure assignments: usersMessage to {{ $json.data.body }}, usersMobileNumber to {{ $json.data.from.replaceAll('whatsapp:', '') }}, and WhatsappAiAgentNumber to {{ $json.data.to.replaceAll('whatsapp:', '') }}.
  3. Connect the flow: Normalize Incoming TextWhatsApp Support Orchestrator.

Step 4: Set Up the Core AI Orchestration

The main agent understands user messages, coordinates tool calls, and generates WhatsApp-ready responses.

  1. Add the WhatsApp Support Orchestrator node and set Text to {{ $json.usersMessage }}.
  2. Connect the language model: OpenAI Chat Engine is connected as the language model for WhatsApp Support OrchestratorCredential Required: Connect your openAiApi credentials in OpenAI Chat Engine.
  3. Enable memory: Postgres Chat Memory is connected as memory for WhatsApp Support OrchestratorCredential Required: Connect your postgres credentials in Postgres Chat Memory.
  4. Ensure tool routing is connected from WhatsApp Support Orchestrator to Schedule Workflow Tool, FAQ Workflow Tool, and Email Workflow Tool.

⚠️ Common Pitfall: If the AI is not responding, verify that OpenAI Chat Engine has valid openAiApi credentials and the Postgres Chat Memory session key uses {{ $json.usersMobileNumber }}.

Step 5: Configure Calendar, Knowledge, and Email Sub-Agents

These agents handle calendar operations, knowledge retrieval, and email delivery. They run as tools used by the main orchestrator.

  1. Calendar tools: Configure Retrieve Calendar Events with Operation getAll, Time Min {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}, and Time Max {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}. Add Add Calendar Appointment, Remove Calendar Entry, and Create Calendar Booking with Start {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }} and End {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}.
  2. Credential Required: Connect your googleCalendarOAuth2Api credentials on Retrieve Calendar Events, Add Calendar Appointment, Remove Calendar Entry, and Create Calendar Booking.
  3. Knowledge retrieval: Configure Supabase Vector Search with Mode retrieve-as-tool and connect OpenAI Embeddings to it. Credential Required: Connect your supabaseApi credentials on Supabase Vector Search and openAiApi credentials on OpenAI Embeddings.
  4. Email delivery: Configure Gmail Dispatch Tool with Send To {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}, Subject {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}, and Message {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}. Credential Required: Connect your gmailOAuth2 credentials on Gmail Dispatch Tool.
  5. Language models: OpenAI Chat Core powers Calendar Operations Agent, OpenAI Chat Analyst powers Knowledge Retrieval Agent, and OpenAI Chat Composer powers Email Delivery Agent. Credential Required: Connect your openAiApi credentials to each of these model nodes.

⚠️ Common Pitfall: The AI tools are sub-nodes — credentials must be configured on the tool nodes themselves (e.g., Retrieve Calendar Events, Supabase Vector Search, Gmail Dispatch Tool), not on the agent nodes.

Step 6: Configure the WhatsApp Response Output

The final response is sent back to the customer via WhatsApp.

  1. Add the WhatsApp Response Sender node.
  2. Set To to {{ $('Normalize Incoming Text').item.json.usersMobileNumber }}.
  3. Set From to {{ $('Normalize Incoming Text').item.json.WhatsappAiAgentNumber }} and Message to {{ $json.output }}.
  4. Enable To WhatsApp and connect credentials: Credential Required: Connect your twilioApi credentials.
  5. Verify the execution flow: WhatsApp Support OrchestratorWhatsApp Response Sender.

Step 7: Test and Activate Your Workflow

Validate the full path from inbound WhatsApp to AI response and output delivery.

  1. Click Execute Workflow and send a test WhatsApp message to your Twilio number.
  2. Confirm the message is normalized in Normalize Incoming Text and routed to WhatsApp Support Orchestrator.
  3. Check that responses are returned via WhatsApp Response Sender to your phone number.
  4. Test calendar operations by invoking a booking request and verifying events are created via Create Calendar Booking.
  5. When successful, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Twilio WhatsApp credentials can expire or the WhatsApp sender can change. If things break, check your Twilio Console messaging logs and the WhatsApp sender settings 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.

Common Questions

How quickly can I implement this WhatsApp booking automation automation?

About an hour if your Twilio, Google Calendar, and Gmail accounts are ready.

Can non-technical teams implement this booking automation?

Yes. No coding is required, but someone should be comfortable connecting accounts and pasting API keys into n8n.

Is n8n free to use for this WhatsApp 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 usage costs and Supabase hosting if your knowledge base grows.

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.

How do I adapt this WhatsApp booking automation solution to my specific challenges?

Start with the “Normalize Incoming Text” and “WhatsApp Support Orchestrator” parts: that’s where your brand tone, business rules, and routing live. You can swap the Supabase Vector Search knowledge base for a different source by changing the retrieval tool the agent calls, while keeping the WhatsApp flow the same. Common tweaks include adding buffers between appointments, limiting bookings to business hours, and customizing the follow-up email wording for your exact service.

Why is my Twilio connection failing in this workflow?

Usually it’s an invalid or outdated Twilio credential, or the WhatsApp sandbox/number isn’t configured the way the trigger expects. Check the Twilio Console logs to see if the inbound message is reaching Twilio first, then confirm the sender number and auth token in n8n. If you changed WhatsApp numbers recently, update the Set Fields values so responses go back out from the right identity.

What’s the capacity of this WhatsApp booking automation solution?

If you self-host n8n, there’s no fixed execution cap; it mainly depends on your server size and API rate limits from Twilio, Google Calendar, and OpenAI.

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

Often, yes, because this workflow isn’t a simple “message in, message out” zap. You’re combining intent detection, memory, knowledge retrieval, and multiple tools (calendar plus email) inside one conversation. n8n handles branching logic without turning your automation into a dozen paid zaps, and you can self-host if volume grows. Zapier or Make can still work if you only need basic appointment creation from a fixed form message. If you’re unsure which route is worth it for your team, Talk to an automation expert.

Once this is running, WhatsApp stops being a scheduling bottleneck and starts acting like a real front desk. Honestly, it’s hard to go back after you’ve watched bookings land in Google Calendar automatically.

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