FreeUpToHours
How I Build an AI Receptionist on WhatsApp With Node.js, LangGraph, and Google Sheets
Growth·By Oliver Valencia Sebastian·Published June 9, 2026·10 min read

How I Build an AI Receptionist on WhatsApp With Node.js, LangGraph, and Google Sheets

If you searched for an AI receptionist on WhatsApp built with Node.js, LangGraph, and Google Sheets, you are not looking for a toy. Most "AI chatbots" are exactly that — one prompt that answers a question and forgets everything the moment the next message arrives. A real receptionist is different. It remembers where the conversation is, checks whether the date is open, shows the right options, takes a booking, captures the lead, and knows the exact moment to hand the deal to a human. Here is how I actually build mine.

I build these with Claude Code and the Opus 4.8 model, running on Node.js with LangGraph as the brain and Google Sheets as the booking and lead record. I run one on my own Baguio property and build the same for other businesses. This is the architecture, the real flow, and — the part nobody talks about — the selling psychology baked into it.

What LangGraph Actually Does (the Brain)

LangGraph is a framework for building an AI agent as a graph — a set of steps, called nodes, connected by decisions, called edges, with memory of where the conversation currently is. That last part is the key word: state. Instead of one prompt that answers and forgets, LangGraph lets the agent move through a real multi-step task and choose the next move based on what has already happened. For a receptionist, that is everything. Booking is not one question — it is a sequence that branches, and the brain has to remember the date, the number of guests, and what the customer has already been shown. LangGraph is built for exactly that branching, stateful work.

The Flow My Receptionist Actually Runs

Here is the real sequence the graph runs when a customer messages my WhatsApp. Every step is a node, and Google Sheets is the live record underneath it all.

  1. It greets the customer first.
  2. It asks for the date and the number of guests (pax).
  3. It checks the Google Sheet for which rooms are actually open for that date.
  4. It shows only two options — even when more are available. This is deliberate, and I explain why below.
  5. It answers any follow-up question from a library of 200 ready FAQs the business owner answered honestly during setup.
  6. When the customer is ready to book, the AI requests the downpayment (DP).
  7. The moment the DP lands, a human takes over to close.
  8. The human uses shortcodes that automatically write the booking into Google Sheets and send the location and booking details back to the customer.
  9. After checkout, when a happy customer says thank you, a Google review link automatically fires.

Google Sheets is doing real work here, not decoration. It is the single source of truth for availability and the record every booking and lead is written to — readable by the owner, writable by the system, and cheap. If you want the broader why-WhatsApp picture behind this, I cover that separately; this post is about how the receptionist is built.

The Smartest Decision in the Flow: Show Only Two Rooms

This is the step a generic bot would never make, and it is pure selling. If you show a customer ten rooms, their decision slows to a crawl — too many options is paralysis, not service. Show them two, and the decision is fast, because two is easy to weigh. Two options also reads as limited slots, which adds a quiet urgency that moves people to decide now instead of later. A dumb bot dumps the entire list and calls it helpful. A receptionist built by an operator shows two and gets the booking. That is not a technical decision; it is a business one, and it is the kind of thing you only build in if you have actually sold rooms.

Where the Human Takes Over

The receptionist is not pretending to be a person, and it does not try to close the deal on its own. It handles everything up to the downpayment — the questions, the availability, the options, the booking details. The moment the DP arrives, a human steps in to close, because the final yes is built on trust and that is human work. To keep the human fast, there are shortcodes: short commands that instantly write the confirmed booking into Google Sheets and fire off the location and details. The AI carries the speed and the information; the human carries the relationship and the close. I never confuse the two.

The Review Loop That Feeds Your AI Visibility

The last step looks small and is actually strategic. We do not beg for reviews or spam everyone with a link. The review link only fires when a customer genuinely shows they are happy — the real thank-you at the end. That timing matters: you catch authentic satisfaction at its peak, so the reviews you get are real. And those Google reviews do more than sit on your profile. AI assistants lean heavily on Google Business Profile and reviews when they decide which local business to recommend. So every happy guest quietly strengthens the thing that gets you found and recommended by AI later. The receptionist closes a loop on purpose.

How I Build It — Claude Code and Opus 4.8

The build is not a template I copy. It is custom every time, and here is the real process. First I interview the business — a transient house, a dentist, a repair shop, whatever it is — to understand how it actually works. Then the owner answers at least 200 FAQs, honestly, because that honesty is what makes the receptionist sound like their business and not a generic bot. Claude Code turns all of that into a strategy file that maps exactly what to build. Then I build it with Claude Code in Node.js, with LangGraph orchestrating the flow and Google Sheets wired in as the record, running on a Node.js backend.

The honest part most people skip: it is not done in a day. It runs early, but it takes roughly 30 days of fixing errors one by one until the receptionist is fully customized to that one business — its rooms, its prices, its escalation rules, its voice. That refinement is the difference between a demo and a system you can trust with real customers.

Why This Beats ManyChat and the Old No-Code Tools

A no-code, rule-based tool like ManyChat is fine for simple, fixed flows. But it has a ceiling, and a receptionist lives above that ceiling. It cannot truly hold state across a branching booking conversation, it cannot apply the two-room selling psychology, and it cannot be molded to a single business over 30 days. With Claude Code and the Opus 4.8 model behind me, any custom integration a business needs, I can add — there is no template wall to hit. That is the real line: ManyChat gives you its boxes; a custom LangGraph build gives you whatever the business actually requires. I wrote a full breakdown of that tool-versus-tool comparison separately, so I will not repeat it here.

The difference bites hardest the day you want a new capability added. With a no-code tool, you are limited to the boxes it ships — if the feature is not on their menu, you cannot have it. With a custom build, if the business wants it, it gets built. That extensibility is the real test, and here is how the two compare on what actually decides whether you capture the booking.

What matters for a receptionistCustom AI Receptionist (Claude Code + LangGraph)No-code chatbots (ManyChat, Chatfuel, Botpress, etc.)
Adding a new capability laterAnything the business wants can be added — a new integration, a new flow, a new featureLimited to the platform menu and paid add-ons; if it is not supported, you cannot have it
Memory across a bookingStateful — remembers the date, the pax, and what was already shownLimited — breaks the moment the conversation branches
Selling psychology (show only 2 rooms)Built into the flowShows whatever you pre-set, with no real logic
Custom integrations (Sheets, DP, shortcodes, review link)Whatever the business actually needsOnly what the platform offers, often behind higher paid tiers
Tailored to one business200 real FAQs plus ~30 days of refinement — fully yoursGeneric templates, shallow customization
Who owns itYou own the systemYou rent the platform — leave and it is gone
Knows when to hand off to a humanYes — at the downpayment, by designCrude at best
Setup speedSlower (~30 days to full)Fast, in hours — this is their one real edge
What a custom AI receptionist does that a no-code chatbot cannot — especially when a business owner wants new capabilities added later.

No-code wins on speed to set up and simplicity. The custom receptionist wins on everything that decides whether you actually capture the booking — memory, psychology, integrations, ownership, the human handoff, and above all the freedom to add whatever capability the business asks for next. One honest builder note: Claude Code with Opus 4.8 is what I use because it is strong at this complex, multi-step agentic code, but it is not the only tool that can build one, and LangGraph itself is model-agnostic — it runs on Claude, GPT, Gemini, or a cost-effective model like DeepSeek. The tool is replaceable. The business judgment baked into the flow is not.

Who Needs an AI Receptionist Like This

Transient houses, dentists, clinics, repair shops, contractors, real estate agents — and many more. Honestly, any business that cannot afford to miss inquiries, because missing inquiries is missing money. If customers message you with questions you answer the same way every time, and a slow reply costs you the booking, a receptionist pays for itself. The honest requirement on your side is the 200 FAQs answered truthfully and about 30 days for the system to become fully yours. If you want it built right, message me the word WEBSITE and I will build you the same kind of receptionist I run on my own business.

Frequently asked questions

What is an AI receptionist, and how is it different from a chatbot?
A chatbot usually answers one question and forgets the context. An AI receptionist is stateful and multi-step: it remembers where the conversation is, checks availability, shows options, takes a booking, captures the lead, and knows when to hand the deal to a human. The difference comes from using a framework like LangGraph to manage a real multi-step workflow rather than a single prompt.
What does LangGraph do in an AI receptionist?
LangGraph models the agent as a graph — steps (nodes) connected by decisions (edges), with memory of where the conversation is (state). That state is the key: it lets the receptionist move through a branching booking conversation, remember the date and number of guests, and decide the next step based on what already happened. A basic bot or a rule-based no-code tool cannot truly hold that state.
How does Google Sheets fit into the booking and lead capture?
Google Sheets is the live source of truth. The receptionist reads it to check which rooms are open for a given date, and writes every confirmed booking and captured lead back to it. It is cheap, readable by the owner, and writable by the system, which makes it ideal as the record layer for a small business booking flow.
Why show the customer only two room options instead of all of them?
Selling psychology. Showing ten options slows the decision to a crawl — too much choice is paralysis. Two options are easy to weigh, so the customer decides fast, and two also reads as limited slots, which adds urgency. It is a deliberate business decision built into the flow, the kind a generic bot never makes and an operator always does.
How long does it take to build a custom AI receptionist?
It runs early, but it takes roughly 30 days to become fully customized. The process is: interview the business, have the owner answer at least 200 FAQs honestly, turn that into a strategy with Claude Code, build it in Node.js with LangGraph and Google Sheets, then fix errors one by one until it matches that one business — its rooms, prices, escalation rules, and voice.
Why build a custom receptionist instead of using ManyChat?
ManyChat and similar no-code tools are fine for simple fixed flows, but they hit a ceiling: they cannot truly hold state across a branching booking conversation, apply selling psychology, or be molded to one business over 30 days. A custom build with Claude Code and Opus 4.8 has no template wall — any integration the business needs can be added. ManyChat gives you its boxes; a custom LangGraph build gives you whatever the business actually requires.

Want the same system for your business?

I'll set up AI automation for your business — just like I did for mine.

Related Posts

Can AI Make a Whole Game? My Honest Answer After 16 Hours Building a Filipino JRPG
AI Tools

Can AI Make a Whole Game? My Honest Answer After 16 Hours Building a Filipino JRPG

No — AI cannot make a whole game, and two days of building The Thirteenth Tide with ChatGPT Astra 6 and DeepSeek V4.1 Flash proved it. One-shot prompts give you a gorgeous demo with thin gameplay. This is the honest pattern from an AI-literate business owner, not a game studio: 16 hours, Chapter 1 of 21 done, and the orchestrator-plus-worker routine I will run for the remaining twenty.

Your Ads Are Fine. Walang Growth Pa Rin: The Real Growth Stack for Small Business
Growth

Your Ads Are Fine. Walang Growth Pa Rin: The Real Growth Stack for Small Business

Ads are one layer lang — hindi sila ang sistema. Real growth is four layers working as one: a website for trust, SEO for search, Meta ads for reach, and AI automation for the replies you cannot answer at 2 AM. Mine took the same rooms, same prices, same staff from 40 to 100 percent occupancy. And here is the honest part: kung tatlo lang ang tanong mo kada araw, hindi mo pa kailangan ang buong stack. Sasabihin ko sa iyo kung alin ang kailangan mo — minsan mas mura pa sa inaasahan mo.

Should You Put Your Prices on Your Website? Why "PM for Price" Is Costing You Sales
Growth

Should You Put Your Prices on Your Website? Why "PM for Price" Is Costing You Sales

Ang totoo: oo, ilagay mo ang presyo mo — at may tatlong pagkakataon lang na hindi. Hiding your price feels safe, pero hindi mo minamahal ang margin mo; inililipat mo lang ang negosasyon sa inbox mo, kung saan sinasagot mo ang parehong tanong trenta beses sa isang araw at tahimik na nawawala ang lahat ng nahihiyang magtanong. Here are my own published numbers, the three industries where a public price is genuinely wrong, and the middle path.