n8n workflow · Chapter 1 of 5

Customer & Order/Reservation Capture

Updated · Tested on n8n 1.x · Part of the n8n Restaurant ebook

Captures every booking, order and enquiry from your website or ads, sorts it with AI and saves it to your CRM — with an instant Telegram alert to the manager.

Customer & Order/Reservation Capture n8n workflow screenshot — n8n Restaurant ebook
Real screenshot of the Customer & Order/Reservation Capture workflow running in n8n, from the n8n Restaurant ebook.

How this n8n workflow works

  1. 1An enquiry arrives from your website or lead ad
  2. 2Details are cleaned and checked for duplicates
  3. 3AI sets the intent and priority
  4. 4The enquiry is saved to your CRM
  5. 5The manager gets a Telegram summary

Who this workflow is for

  • Restaurants, cafés & cloud kitchens — capture every table booking, order and enquiry, already sorted by type, without a person reading each one.
  • Bars, banquet halls & catering — funnel event/booking enquiries straight into a triaged CRM.
  • Any hospitality business — the same pattern classifies and routes reservations, orders, complaints and feedback.

Why it matters: A missed reservation is an empty table; a missed complaint is a bad review. When enquiries pile up in a shared inbox, the urgent ones get buried. A machine that captures, de-duplicates, and classifies every enquiry in seconds means your team sees "3 reservations, 1 order, 1 complaint (High priority)" instead of a messy inbox — and acts on the right ones first. Even one recovered booking a day pays for the few cents of AI this uses per enquiry.

Inside the workflow: node by node

Every one of these nodes is explained in the ebook, with each setting, prompt and expression printed so you can copy it.

  1. 1. Lead Webhook — The Front Door
  2. 2. Manual Test Trigger + Sample Lead — Build & Test Without a Real Form
  3. 3. Normalize Lead — One Clean Shape for Every Source
  4. 4. Read Existing Customers — Load the Sheet to Compare Against
  5. 5. Check Duplicate — Have We Seen This Person Before?
  6. 6. Is New Lead? — The Fork
  7. 7. Send Duplicate Notice — "Heads up, a repeat came in"
  8. 8. Classify Enquiry — The AI Triage
  9. 9. Attach Score — Merge the Triage Back Onto the Enquiry
  10. 10. Prepare Customer Row — Shape the Exact Sheet Row
  11. 11. Save Customer — Write (or Update) the CRM Row
  12. 12. Save Failed Alert — Tell Me If the Save Breaks
  13. 13. Prepare Activity Row — Build the Audit-Log Entry
  14. 14. Log Activity — Append to the Audit Trail
  15. 15. Build Lead Confirm — Write the Manager-Friendly Ping
  16. 16. Send Lead Confirm — The "New Enquiry!" Telegram Alert
  17. 17. On Workflow Error → Send Workflow Error Alert — The Global Safety Net

Before you start

  • An n8n account (Cloud or self-hosted) — hosts this workflow and its webhook URL.
  • A Google Sheets credential — your restaurant CRM lives in a Google Sheet.
  • An OpenAI (or OpenRouter) API key — powers the AI intent-triage.
  • A Telegram bot + your chat ID — the instant new-enquiry / duplicate / error alerts.
  • A lead source to connect to the webhook — your website forms ("book a table" / "order" / "contact") or a Facebook/Instagram Lead Ad (optional while testing; the workflow has a built-in test trigger).
  • Restaurant Customers — one row per customer/enquiry. Suggested column headers (the workflow writes these): Customer ID, Date Added, Name, Phone, WhatsApp, Email, Source, Type, Segment, Last Channel, Last Contact, Next Action, Next Action Date, Conversation Log, Notes, Status.
  • Rest Activity — your audit log. Headers: Timestamp, Customer ID, Channel, Action, Detail, Outcome, Agent.

Quick setup guide

  1. 1Credentials: Add Google Sheets, OpenAI/OpenRouter, and Telegram (see the video table). Do these once.
  2. 2Make your CRM Google Sheet: With two tabs, Restaurant Customers and Rest Activity, using the headers listed in Prerequisites. Copy the spreadsheet's Sheet ID (the long code in its URL).
  3. 3Import the workflow: (see the JSON link below) and reconnect every red credential node. Put your Sheet ID into all three Google Sheets nodes (Read, Save, Log), and your Telegram chat ID into all four Telegram nodes.
  4. 4Test with the sample: Click Test workflow — the Manual Test Trigger → Sample Lead runs the whole chain. Check that a triaged row appears in Restaurant Customers, an entry in Rest Activity, and a "🍽️ new lead" Telegram arrives.
  5. 5Connect your real forms: Activate the workflow, copy the Production webhook URL, and paste it into your website form's POST action / Facebook Lead Ads form (see the video).

What success looks like: A messy incoming enquiry becomes a clean, AI-triaged CRM row (with the right next action), an audit entry, and an instant manager alert — completely hands-free.

Common problems and fixes

No row appears in the sheet

Why: Wrong Sheet ID, or tab not named Restaurant Customers

Fix: Use the exact Sheet ID; name the tab Restaurant Customers; check the Save node's error alert

Every run makes a new row

Why: "Column to match on" not set to Phone

Fix: Keep match = Phone; the Normalize/Check code already strips formatting

Intent is always "Enquiry"

Why: AI credential missing, or output parser not attached

Fix: Reconnect the OpenAI credential; ensure the Output Parser is wired to the agent

Duplicates not caught

Why: Existing rows have differently-formatted phones/emails

Fix: The code keeps the last 10 digits + lowercases email — make sure the sheet columns are Phone, WhatsApp, Email

No Telegram messages

Why: Bot token / chat ID wrong

Fix: Re-check the Telegram credential and that YOURCHATID is your real chat ID

Phone shows as an error in Sheets

Why: A +-leading number read as a formula

Fix: Keep the Prepare Customer Row phone expression that prefixes a '

Setup time

  • With Claude Code30–45 minutes

    Give the ebook to Claude Code and it builds the workflow for you.

  • Import the JSON yourselfAbout 2 hours

    Import the ready workflow JSON and connect your accounts.

  • Build it by reading the ebookAbout 1 day

    Follow every node and setting step by step to learn it fully.

Get this workflow

  • Ready-to-import n8n workflow JSON
  • Step-by-step PDF: every node and setting explained
  • Copy-paste prompts and expressions — no coding

Frequently asked questions

Will this work on free n8n?

Yes. n8n itself can be free (the self-hosted Community edition) or you can use n8n Cloud. The workflow runs on both. You only pay for the outside services it uses, such as AI tokens, and many of them have free tiers to start.

How do I get the API keys (WhatsApp, OpenAI and others)?

The ebook includes a setup video for every API and account this workflow needs, so you can get each key step by step without any coding.

Do I need to know coding?

No. Every node, setting, prompt and expression is printed in the ebook, ready to copy-paste, and the workflow JSON can be imported in one click.

Can I use this Restaurants workflow for my clients?

Yes. Once it works for you, you can set it up for your own business or for clients and charge for the setup.

No row appears in the sheet: how do I fix it?

Wrong Sheet ID, or tab not named Restaurant Customers. Fix: Use the exact Sheet ID; name the tab Restaurant Customers; check the Save node's error alert.

Every run makes a new row: how do I fix it?

"Column to match on" not set to Phone. Fix: Keep match = Phone; the Normalize/Check code already strips formatting.

Intent is always "Enquiry": how do I fix it?

AI credential missing, or output parser not attached. Fix: Reconnect the OpenAI credential; ensure the Output Parser is wired to the agent.

More workflows in “Restaurants”