🔓 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 + Postgres: bookings captured, confirmed fast

Lisa Granqvist Partner Workflow Automation Expert

Miss one WhatsApp booking message during a rush and it snowballs. The guest follows up (or gives up), your staff guesses what was agreed, and the “reservation list” becomes three different versions of the truth.

Restaurant managers feel it first. But front-of-house leads and owners get stuck cleaning up the same mess: inconsistent replies and no reliable record. This WhatsApp Postgres bookings automation captures requests, confirms them clearly, and logs them so you can trust your numbers.

Below you’ll see how the workflow runs, what it fixes, and what results you can expect once it’s live.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: WhatsApp + Postgres: bookings captured, confirmed fast

The Problem: WhatsApp Bookings Are Easy to Miss (and Hard to Track)

WhatsApp is great for guests because it’s quick, informal, and always open. For you, it can turn into a nonstop stream of “Can we do 7:30?” messages mixed with menu questions, parking details, and “we’re running late.” The real pain isn’t answering. It’s answering consistently while also collecting the details you need, then recording them somewhere reliable. Most teams end up with a human “router” who remembers context in their head, which is fine until shifts change or the restaurant gets busy.

The friction compounds. Small gaps create big problems by the end of the night.

  • Booking details arrive in fragments, so staff has to chase down names, times, and party size while other guests are waiting.
  • Manual copy-paste into a spreadsheet or notebook leads to typos and duplicate reservations, especially on weekends.
  • Replies vary by person, which means guests don’t always get a clear “confirmed” message they can trust.
  • There’s no clean data trail for reporting, so you can’t easily answer basic questions like “How many WhatsApp bookings did we get last month?”

The Solution: An AI WhatsApp Concierge That Confirms and Logs Bookings

This n8n workflow acts like a digital front desk on WhatsApp. A guest sends a message, and the workflow immediately parses what they want using an AI agent (booking request, opening hours, menu question, offers, and more). If it’s general info, the workflow drafts a helpful reply and sends it back fast. If it’s a table booking, it collects the key details through the conversation, checks that a booking is actually being requested, and then records the reservation in Postgres as a structured row. Finally, it sends the guest a clear confirmation message so there’s no ambiguity about date, time, party size, and any special requests.

The flow starts with an incoming WhatsApp message. AI interprets intent and keeps light memory so follow-up messages still make sense. Then n8n routes the conversation: reply immediately for info, or store and confirm for reservations.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you get about 20 WhatsApp conversations a day, and around 8 of them turn into booking requests. Manually, you might spend 5 minutes per booking just collecting details and confirming, plus another 3 minutes logging it somewhere, which is roughly 1 hour of pure admin daily. With this workflow, you still spend a moment scanning edge cases, but the guest intake, confirmation, and Postgres logging are handled automatically after the first message. In practice, that’s often 45 minutes back per day, and fewer “double-booked” surprises.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • WhatsApp Business API access to receive and send messages
  • Postgres to store confirmed reservations as records
  • OpenAI API key (get it from the OpenAI dashboard)

Skill level: Intermediate. You’ll connect accounts, map a few fields, and test real conversations end-to-end.

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

How It Works

A guest messages your WhatsApp number. The workflow triggers instantly from the incoming WhatsApp event, so you’re not relying on someone noticing a notification.

The message is interpreted with AI and lightweight memory. The AI agent reads what the guest is asking for and keeps enough context to handle follow-up replies like “make it 8 instead.” Honestly, this is where most DIY chatbots fail, because they treat every message like a brand-new conversation.

Routing decides if it’s a booking or a general question. n8n uses conditional logic (Switch/IF) to send the conversation down the right path, so menu questions don’t clog your booking flow.

Reservations get saved and confirmed. If it’s a booking, the workflow structures the details and writes a new row in Postgres (reservation ID, guest name, contact number, date/time, party size, special requests, and status). Then it sends a WhatsApp confirmation back to the guest so they have a clear receipt.

You can easily modify the confirmation wording to match your brand voice, or adjust which fields are required before logging. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the WhatsApp Trigger

Set up the workflow to start when a new WhatsApp message arrives.

  1. Add the Incoming WhatsApp Trigger node as your trigger.
  2. Open Incoming WhatsApp Trigger and confirm Updates includes messages.
  3. Credential Required: Connect your whatsAppTriggerApi credentials.

Step 2: Set Up AI Parsing and Response Generation

Configure the AI agent to read inbound WhatsApp messages and generate a response using the connected LLM.

  1. Add the Parse Guest Request node and set Text to {{ $json.messages[0].text.body }}.
  2. In Parse Guest Request, keep Prompt Type set to define and confirm the system message matches your restaurant’s support policy.
  3. Add Compose AI Response as the language model and set Model to llama3.2-16000:latest.
  4. Credential Required: Connect your ollamaApi credentials in Compose AI Response.
  5. Ensure Compose AI Response is connected as the language model for Parse Guest Request (credentials belong to Compose AI Response, not the agent).

Step 3: Configure Reply Pause and Booking Logic

Add the wait step and routing logic to determine whether a booking should be recorded.

  1. Connect Parse Guest Request to Pause for Reply to introduce the waiting step.
  2. Connect Pause for Reply to Booking Requirement Check.
  3. In Booking Requirement Check, review the condition: Left Value is Booking and Right Value is add_your_value_here.
  4. Adjust the Right Value to match the keyword or intent you expect for booking requests.

⚠️ Common Pitfall: Leaving add_your_value_here unchanged will prevent valid booking requests from routing to reservation handling.

Step 4: Configure Output and Database Actions

Send WhatsApp replies and store reservations based on the routing decision.

  1. On the “false” path of Booking Requirement Check, connect to Dispatch WhatsApp Reply.
  2. In Dispatch WhatsApp Reply, set Operation to send, Text Body to {{ $json.output }}, and Recipient Phone Number to {{ $('Incoming WhatsApp Trigger').item.json.contacts[0].wa_id }}.
  3. Set Phone Number ID to [YOUR_ID] in Dispatch WhatsApp Reply.
  4. Credential Required: Connect your whatsAppApi credentials in Dispatch WhatsApp Reply.
  5. On the “true” path of Booking Requirement Check, connect to Record Table Reservation.
  6. In Record Table Reservation, set Schema to public and Table to id (update the table name to match your reservations table).
  7. Credential Required: Connect your postgres credentials in Record Table Reservation.
  8. Connect Record Table Reservation to Send Booking Confirmation and set Text Body to {{ $json.output }}, Recipient Phone Number to {{ $('Incoming WhatsApp Trigger').item.json.contacts[0].wa_id }}, and Phone Number ID to [YOUR_ID].
  9. Credential Required: Connect your whatsAppApi credentials in Send Booking Confirmation.

Tip: Replace [YOUR_ID] with the phone number ID from your WhatsApp Business account to prevent send failures.

Step 5: Test and Activate Your Workflow

Validate the end-to-end flow with a live WhatsApp message before enabling production.

  1. Click Execute Workflow and send a WhatsApp message to the connected number to trigger Incoming WhatsApp Trigger.
  2. Confirm Parse Guest Request outputs a response and Dispatch WhatsApp Reply sends a reply for non-booking messages.
  3. Send a booking message that matches your Booking Requirement Check condition and verify Record Table Reservation inserts a record and Send Booking Confirmation sends a confirmation.
  4. Once successful, toggle the workflow to Active to enable live automation.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • WhatsApp Business API credentials can expire or require specific webhook permissions. If things break, check your WhatsApp provider dashboard and the webhook delivery logs first.
  • If you’re using Wait nodes or external processing, response timing varies. Bump up the wait duration if downstream steps fail because the guest hasn’t replied yet.
  • Default AI prompts are generic. Add your booking rules (seating time limits, closed days, large party policy) early or you will be correcting the bot’s messages every shift.

Frequently Asked Questions

How long does it take to set up this WhatsApp Postgres bookings automation?

About 60–90 minutes once your WhatsApp API and Postgres are ready.

Do I need coding skills to automate WhatsApp Postgres bookings?

No. You’ll mostly connect accounts and map booking fields. A tiny bit of troubleshooting mindset helps, but you’re not writing an app.

Is n8n free to use for this WhatsApp Postgres bookings 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, which is usually a few cents a day for a typical restaurant inbox.

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 Postgres bookings workflow for collecting deposits?

Yes, but you’ll add one extra branch. Keep the same intent parsing, then extend the booking path to include a “deposit required?” check and a payment link message before you set the status to Confirmed. Many teams also add a “Pending” status in Postgres until payment is received, and only then send the final confirmation text.

Why is my WhatsApp connection failing in this workflow?

Usually it’s a webhook or token issue. Confirm your WhatsApp provider shows successful webhook deliveries, then re-check the credential used in n8n for sending replies. If inbound works but outbound fails, it can also be missing permissions for the send-message scope or a template requirement on certain WhatsApp setups.

How many reservations can this WhatsApp Postgres bookings automation handle?

A lot more than a person can.

Is this WhatsApp Postgres bookings automation better than using Zapier or Make?

Often, yes, if you need real conversational logic. n8n makes it easier to keep state (so the bot can ask for missing details), branch based on intent, and write clean records to Postgres without paying extra for every “path.” Zapier or Make can be fine for simple “message in, row added” flows, but they get awkward when you need memory, waits, and multiple back-and-forth messages. If you expect lots of weekend volume, self-hosting n8n also keeps execution costs predictable. Talk to an automation expert if you want help choosing.

Once this is running, reservations stop living in someone’s head (or a chat scroll). You get confirmed bookings, clean Postgres records, and a calmer service.

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