🔓 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

WhatsApp to Google Calendar, bookings from voice notes

Lisa Granqvist Partner Workflow Automation Expert

Your day gets chopped up by tiny voice notes. “Can we do tomorrow at 3?” “Move it to Friday.” “Also send a confirmation.” Then you replay audio, guess the details, and still worry you booked the wrong thing. WhatsApp calendar booking automation fixes that mess.

Client-facing teams feel it first because they live in the inbox. A solo service business owner gets it too, because missed bookings cost real money. And if you run ops for a small team, the back-and-forth becomes a daily tax.

This workflow turns WhatsApp voice commands into Google Calendar events (plus email follow-ups) and sends a ready-to-use reply back to the same chat. You’ll see what it automates, what results to expect, and what you need to run it.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: WhatsApp to Google Calendar, bookings from voice notes

The Problem: Voice notes create booking chaos

Voice notes feel “quick” until you’re the one translating them into real work. You listen, rewind, and try to catch names, times, time zones, locations, and “actually make it 30 minutes not an hour.” Then you open Google Calendar, build the event, and realize you still need to confirm it in WhatsApp and maybe email the client too. Miss one detail and you’ve bought yourself another thread of apologies and rescheduling. It’s not hard work. It’s just constant work.

It adds up fast. Here’s where it breaks down when you keep it manual.

  • You end up replaying the same audio twice because you don’t trust your first interpretation.
  • Calendar events get created without the right title, location, or notes, so future-you has no context.
  • Confirmations happen late (or not at all), which leads to no-shows and awkward “are we still on?” messages.
  • As volume grows, only the most organized person can keep up, and that’s a fragile system.

The Solution: Voice-to-booking automation inside WhatsApp

This n8n workflow connects a WhatsApp Business number (via Twilio) to a voice assistant (VAPI) that can actually do things, not just chat. When someone sends a voice note like “Book a meeting tomorrow at 3,” VAPI transcribes and understands the intent, then sends a structured request into n8n through a webhook. From there, n8n routes the request to the right “module” (calendar, Gmail, or knowledge base), performs the action, and returns a clean response back through VAPI to WhatsApp. The end result is simple: bookings get created, updated, or deleted in Google Calendar, and confirmations can be sent by email without you touching three separate apps.

The workflow starts with an inbound webhook from VAPI. Next, n8n uses the MCP gateways to choose the right action, like creating a calendar event or sending a Gmail message. Finally, it returns a reply payload so the assistant can respond in WhatsApp with exactly what happened.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you get 10 WhatsApp voice notes a week that lead to bookings. Manually, it’s maybe 8 minutes to replay the audio, 5 minutes to create the event, and another 3 minutes to send a proper confirmation, so about 15 minutes each. That’s around 2.5 hours weekly. With this workflow, you forward the voice note, wait for the assistant to confirm details, and approve if needed; call it about 2 minutes of your attention per booking. You get roughly 2 hours back every week, and the confirmations go out on time.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Twilio WhatsApp to receive WhatsApp voice messages
  • VAPI to transcribe voice and route intent
  • Google Calendar for creating and managing bookings
  • Gmail to send confirmations and reminders
  • Supabase for the knowledge base vector store
  • OpenAI API key (get it from your OpenAI API dashboard)

Skill level: Intermediate. You will connect a few accounts, add credentials in n8n, and test webhooks end-to-end.

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

How It Works

A WhatsApp voice note triggers everything. Your Twilio WhatsApp number receives the audio, and VAPI handles the voice infrastructure (capture, transcription, intent).

VAPI sends a structured request into n8n. The workflow starts at the “Inbound Webhook VAPI” node, so n8n receives the intent and any extracted details like date, time, attendee, and requested action.

n8n routes to the right module. If it’s a booking request, the Calendar gateway can create, retrieve, modify, or remove a Google Calendar event. If it’s follow-up, the Gmail gateway prepares and sends the email. If it’s a question (“what’s included?”), the knowledge hub queries Supabase using OpenAI embeddings.

A clear reply goes back to WhatsApp. The workflow packages the result and responds through the webhook response, which VAPI turns into a message in the same WhatsApp thread.

You can easily modify the assistant’s tone and the confirmation wording to match your brand. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound webhook that receives VAPI calls and returns the SIP response.

  1. Add or open Inbound Webhook VAPI and set HTTP Method to POST.
  2. Set Path to 81e240fc-d3fb-4ccd-b91a-0aacbf2d8f2a and Response Mode to responseNode.
  3. Connect Inbound Webhook VAPI to Return Webhook Reply to follow the execution flow.
  4. In Return Webhook Reply, set Respond With to text and Response Body to sip:[email protected] .
  5. Under Response Headers, add Content-Type with value application/xml.

Step 2: Configure MCP Gateways for Tool Invocation

These MCP triggers expose tools that the voice assistant can invoke for knowledge, calendar, and email actions.

  1. Open MCP Calendar Gateway and confirm Path is 1902a1d2-f8a8-4601-b20c-90e824fe478d.
  2. Open MCP Gmail Gateway and confirm Path is 41a2ab5f-1a7d-440b-a1e3-1b2308dee744.
  3. Open MCP Knowledge Hub and confirm Path is 3643c062-c554-43d8-84d1-692b886b780f.

These MCP triggers act as the parent gateways for tool nodes. The tools connected to each gateway will be used when requests hit these MCP endpoints.

Step 3: Set Up Knowledge Retrieval

Connect the vector store and embedding model for knowledge-based responses.

  1. In Supabase Vector Archive, set Mode to retrieve-as-tool and confirm Tool Description is Retrieve this tool to get pricing Informatio or any other General Inquiry.
  2. Ensure Table Name is set to documents.
  3. Credential Required: Connect your supabaseApi credentials on the parent gateway MCP Knowledge Hub (the tool inherits usage through the gateway).
  4. Verify OpenAI Embedding Engine is connected to Supabase Vector Archive as the embedding model.
  5. Credential Required: Connect your openAiApi credentials on the parent gateway MCP Knowledge Hub (the tool inherits usage through the gateway).

⚠️ Common Pitfall: If the Supabase table name doesn’t match documents, retrieval will fail silently. Align the table name in your Supabase project.

Step 4: Configure Calendar Tools

Set up calendar creation, retrieval, modification, and deletion tools connected to the calendar gateway.

  1. In Generate Calendar Entry, set Start to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }} and End to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}.
  2. Set Calendar to [YOUR_EMAIL] in Generate Calendar Entry.
  3. In Retrieve Calendar Items, set Operation to getAll, Time Min to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}, and Time Max to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}.
  4. In Modify Calendar Booking, set Operation to update and Event ID to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}.
  5. In Remove Calendar Booking, set Operation to delete and Event ID to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}.
  6. Credential Required: Connect your googleCalendarOAuth2Api credentials on the parent gateway MCP Calendar Gateway (the tools inherit usage through the gateway).

⚠️ Common Pitfall: Replace [YOUR_EMAIL] with the actual calendar owner email in each calendar tool, or events won’t be created or found.

Step 5: Configure Email Tool Output

Enable outbound email alerts through Gmail when the assistant needs to send notifications.

  1. In Dispatch Email Alert, set Send To to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}, Subject to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}, and Message to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}.
  2. Set Email Type to text.
  3. Credential Required: Connect your gmailOAuth2 credentials on the parent gateway MCP Gmail Gateway (the tool inherits usage through the gateway).

Step 6: Test and Activate Your Workflow

Validate the webhook response and confirm the tool gateways are reachable before turning the workflow on.

  1. Click Execute Workflow and send a POST request to the Inbound Webhook VAPI URL to verify the XML response from Return Webhook Reply.
  2. Confirm a successful run returns the SIP XML and shows a completed execution path from Inbound Webhook VAPI to Return Webhook Reply.
  3. Test MCP endpoints for MCP Calendar Gateway, MCP Gmail Gateway, and MCP Knowledge Hub using your MCP client to ensure tool access.
  4. When tests pass, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Twilio WhatsApp setup can fail silently if your Business number isn’t verified or the TwiML webhook URL is wrong. If messages aren’t reaching VAPI, check the Twilio console logs 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.
  • OpenAI prompts and retrieval settings matter more than people expect. Default prompts in AI nodes are generic, so add your brand voice and “what to confirm back” rules early or you’ll be editing outputs forever.

Frequently Asked Questions

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

Plan on about 1–2 hours once Twilio and VAPI are ready.

Do I need coding skills to automate WhatsApp calendar booking?

No. You’ll mainly paste credentials, connect accounts, and test the webhook flow. The tricky part is configuration, not code.

Is n8n free to use for this WhatsApp calendar booking 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 and Twilio usage, which is usually a small per-message cost.

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 customize this WhatsApp calendar booking automation for confirmations that also SMS the customer?

Yes, but you’ll add one extra action. Keep the calendar logic as-is, then extend the Gmail path (MCP Gmail Gateway / Dispatch Email Alert) with a Twilio “send message” step for SMS. Common customizations include asking a clarifying question when time is ambiguous, adding your business hours rules, and switching the knowledge base from Supabase to another vector store.

Why is my Twilio connection failing in this workflow?

Most of the time it’s not “credentials,” it’s setup. Check that your WhatsApp Business number is verified, your TwiML app points to the correct VAPI endpoint, and that incoming webhooks are hitting n8n (look at the execution logs on the Inbound Webhook VAPI node). Also watch for rate limits if you test by spamming voice notes back-to-back.

How many voice notes can this WhatsApp calendar booking automation handle?

A typical small business workload is fine on day one. On n8n Cloud Starter, you’re capped by monthly executions; on self-hosted, it mostly depends on your server size and how busy your Twilio/VAPI pipeline is. Practically, most teams start with a few hundred voice-driven actions a month and scale from there without changing the workflow logic.

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

Often, yes, because this isn’t a simple two-step Zap. You’ve got voice intent, branching actions (calendar vs email vs knowledge), and you may want self-hosting once volume grows. n8n handles complex routing without turning every condition into another paid step, and the webhook-first design fits VAPI nicely. Zapier or Make can still work if you only want “transcription goes to email” and nothing else. If you’re torn, Talk to an automation expert and sanity-check the simplest approach.

Once this is running, voice notes stop being little landmines in your day. Your calendar stays accurate, follow-ups go out faster, and you can finally trust what’s been booked.

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