✦ You asked for this

Free pack · $0

Give Claude its own WhatsApp number. It is free.

A WhatsApp receptionist that answers your clients and books appointments, even at midnight. You build it with Claude Code on WhatsApp's official API. No third-party WhatsApp tool.

Take me to itfree · on this page
No sign-upFree Meta test numberBuilt with Claude Code

✦ Get it

The WhatsApp receptionist folder

Free, from Joe Che's AI class. The finished receptionist code, the START-HERE prompt, and a 6-page PDF guide with every click. The code passes its 19 tests. It is yours to keep and change.

Needs a computer. See the 10 steps. You set it up in Claude Code on a Mac or Windows computer. Your phone is only for texting the receptionist.

It answers. It never starts the chat.

It does not

  • Message anyone first. It only replies to people who text you
  • Use your personal WhatsApp number
  • Use a third-party WhatsApp tool. It talks straight to Meta's official API
  • Book a time you did not open
  • Ask you to paste your keys into a chat

It does

  • Answer questions about your business, even at midnight
  • Offer your open times and book one
  • Let you add and remove times from your own WhatsApp
  • Ask people to type when they send a voice note or photo
  • Stop replying to anyone who sends STOP

✦ How it works

Set it up in about an hour

Someone texts your WhatsApp number. Meta passes the message to a tiny free program on Cloudflare. That program asks Claude what to say and sends the answer back on WhatsApp. Claude Code sets it all up for you.

What you need

  • A computer with Claude Code. The Claude Pro plan is enough.
  • A Facebook login, for your free Meta developer account.
  • Your phone with WhatsApp, to test it.
  • A card for 5 USD of Claude API credit.

The 10 steps

About 45 to 60 minutes the first time. The PDF guide has every click.

  1. Open a blank note. You copy 4 things into it along the way. (2 min)
  2. Become a Meta developer at developers.facebook.com. (5 min)
  3. Create an app with the use case "Connect with customers through WhatsApp". (5 min)
  4. Get the free test number: add your own mobile to its list, reply "hi" to the Hello World message, copy the Phone number ID. (5 min)
  5. Copy your App secret from App settings, then Basic. (2 min)
  6. Make a permanent token in Meta Business settings, under System users. (8 min)
  7. Get a Claude API key at platform.claude.com and add 5 USD of credit. It is billed apart from your Claude plan. (5 min)
  8. Paste the prompt below into Claude Code. It tests the code, asks about your business and puts it online on Cloudflare. Your keys go into a private file, never the chat. (15 min)
  9. Connect Meta: paste the Callback URL and Verify token into WhatsApp, Configuration, then subscribe to "messages". (6 min)
  10. Text the test number from your phone: "Hi, can I book a session?" (3 min)

What it costs

The test number only chats with up to 5 phones you add yourself. To open it to everyone, you add a real number (see "Going live" below).

WhatCost
Meta app and test numberFree, no card
Cloudflare, where it runsFree plan, about 400 to 500 client messages a day
Claude API (Haiku)About a tenth of a cent per reply. 5 USD of credit lasts for thousands of replies
WhatsApp replies on a real numberSince 1 October 2026 Meta gives each number 1,000 free replies a month, then charges a small fee per reply that depends on the client's country

The rules that protect your number

  • Opt-in first. It only replies to people who text you first. Never load a contact list and message people out of the blue.
  • The 24 hour window. After someone texts you, it can reply freely for 24 hours. After that WhatsApp only allows paid, pre-approved templates. The receptionist follows this rule for you.
  • Keep it a receptionist. Meta does not allow general "chat with an AI about anything" bots. Yours answers questions about your business and books appointments.
  • Never put your personal WhatsApp number on the API. A number connected to the API is removed from the normal WhatsApp app, and its chat history is lost.
  • Keep your keys private. If one leaks, make a new one and tell Claude Code to update it.

Going live with real clients

  1. Get a new phone number that is not on WhatsApp. A cheap second SIM works.
  2. In your Meta app, go to WhatsApp, API Setup, open the From list and click Add phone number. Meta reviews your business display name.
  3. Add a payment method in Meta Business settings, so replies keep going after the free 1,000 a month.
  4. Tell Claude Code your new Phone number ID. It updates and redeploys.
  5. Share your number as a wa.me link on your website, Instagram bio or email signature.

✦ What it looks like

A text at 11:58 pm. A booking by midnight.

Commands you send from your own WhatsApp

/slotsSee your open and booked times
/addOpen a new time, like /add 2026-10-20 10:00. Add several with commas
/removeRemove a time, like /remove 2026-10-20 10:00
/bookingsSee who booked what
/helpThe list of commands
STOPWhat a client sends to stop all replies. START turns them on again
What is in the folder
  • START-HERE.mdThe prompt to paste into Claude Code. The same one is on this page.
  • README.mdHow it works, the settings, and its honest limits.
  • wrangler.tomlYour business info, hours and time zone. Claude Code fills it in with you.
  • src/The receptionist: Meta messages in, Claude replies, bookings and owner commands.
  • scripts/make-slots.mjsMakes your open times for the next 14 days from your hours.
  • test/19 tests with a fake Meta and a fake Claude, so nothing real is touched.

✦ Use it now

Paste one prompt into Claude Code

This is the prompt from START-HERE.md in the folder. Download the folder first, then paste this into Claude Code as one message. It walks you through the rest, one question at a time.

Start here · the whole setup in one prompt

Build my WhatsApp receptionist

Claude Code finds the folder, tests the code, asks about your business, then guides you through Meta and Cloudflare. About 45 to 60 minutes the first time.

You are going to build and launch a WhatsApp receptionist for my business, and walk me through every click. I am not technical. Explain things in plain, short sentences. Ask me one question at a time and wait for my answer. Never assume I know a term; say it simply.

WHAT WE ARE BUILDING
A small program on Cloudflare Workers (free plan) that gives Claude its own WhatsApp number. The code is already written and tested in the folder I downloaded; your job is to set it up for my business and put it online. Clients text the number, Claude answers questions about my business and books appointments into a list of open times that I control. It talks directly to Meta's official WhatsApp Cloud API. Do NOT use any third-party WhatsApp service or SDK (no Kapso, Twilio, Wassenger, 360dialog, Zapier, Make, ManyChat or similar). The only outside services are Meta's Graph API, the Claude API, and Cloudflare.

HARD RULES FOR YOU
- Never message anyone on WhatsApp yourself. The program only replies to people who text first.
- Never ask me to paste a secret (token, App secret, API key) into this chat. Secrets go into a local file I fill in (see Phase 5). Never print secret values back to me or into logs.
- Do not put secrets in code or in wrangler.toml. Use Cloudflare secrets.
- If a step in Meta looks different from what you describe, ask me for a screenshot and adapt.
- Before each phase, tell me in one sentence what happens next and roughly how long it takes.

PHASE 0: CHECK MY COMPUTER AND FIND THE DOWNLOAD (3 min)
Check that Node.js 20 or newer is installed (node --version). If not, tell me exactly how to install it from nodejs.org for my system, then check again.
I downloaded a file called whatsapp-receptionist.zip (usually in my Downloads folder). Find it, unzip it into my home folder so I have a folder called whatsapp-receptionist, and work inside that folder from now on. If you can't find the zip, ask me where it is. If there is no zip at all, stop and tell me to download it again from the link I was sent.

PHASE 1: CHECK THE CODE WORKS BEFORE WE TOUCH ANY ACCOUNT (you do this, about 3 min)
The folder already contains the finished, tested receptionist (Meta's official WhatsApp Cloud API + the Claude API on a free Cloudflare Worker, no third-party WhatsApp tool). Do NOT rewrite it and do NOT add any third-party WhatsApp service. Read README.md first so you know how it works.
Run "npm install", then "npm test". Show me a one-line summary like "19 of 19 tests pass". If anything fails, read the error and fix only what is broken, then run the tests again. Do not continue until every test passes. Then run "npx wrangler deploy --dry-run" to make sure it bundles.

PHASE 2: MY BUSINESS (5 min)
Ask me, one at a time: my business name; what I offer, with prices and session length; my working days and hours; my time zone (suggest one from my city); my own WhatsApp number with country code (this becomes OWNER_NUMBER, digits only); an optional booking page link. Put the answers into wrangler.toml. Show me the BUSINESS_INFO text and ask if it is right.

PHASE 3: META SETUP (I click, you guide me, about 25 min)
Ask me if I already have, from Meta: a Phone number ID, an App secret, and a permanent System User token. If yes, skip to the Phone number ID question. If not, walk me through these one step at a time, waiting for "done" after each:
  a) developers.facebook.com: log in with Facebook, click Get Started, finish developer registration.
  b) developers.facebook.com/apps: Create App, name and email, use case "Connect with customers through WhatsApp", pick or create a business portfolio, Next, Create app.
  c) On Quickstart click "Start using the API" (API Setup page). Connect or create a WhatsApp Business account if asked. Click "Generate access token" (temporary, only for this test). From: the free +1 555 test number. To: "Manage phone number list", add my mobile, enter the WhatsApp code. Click "Send message". Reply "hi" to the Hello World message on my phone. Copy the "Phone number ID" (not the phone number itself) into a note.
  d) App settings > Basic > App secret > Show (Facebook password) > copy into the note.
  e) business.facebook.com/settings > Users > System users > + Add > name "receptionist", role Admin > Create. Assign assets > Apps > my app > Manage app (Full control) > Assign. Reload (may take minutes). Generate token > my app > expiration Never if offered > permissions business_management, whatsapp_business_management, whatsapp_business_messaging > Generate token > copy into the note (shown once).
  f) platform.claude.com > Settings > Billing: add 5 USD credit. Settings > API keys > Create key > copy into the note (shown once). Remind me this is billed separately from my Claude plan.
Then ask me for the Phone number ID only (it is not secret) and put it in wrangler.toml.

PHASE 4: PUT IT ONLINE (you do this, 5 min)
Run "npx wrangler login". Tell me a browser window will open: I should sign up for a free Cloudflare account (or log in) and click Allow. Then create the KV store ("npx wrangler kv namespace create STORE"), put its id in wrangler.toml, and run "npx wrangler deploy". Note the workers.dev URL.

PHASE 5: SECRETS, WITHOUT THE CHAT (5 min)
Generate a long random verify token yourself (for example 24 random bytes as hex). Create a file secrets.env in the project with exactly these lines:
WHATSAPP_APP_SECRET=PASTE_HERE
WHATSAPP_TOKEN=PASTE_HERE
ANTHROPIC_API_KEY=PASTE_HERE
WHATSAPP_VERIFY_TOKEN=<the token you generated>
Open it for me in a plain text editor (Mac: open -e secrets.env, Windows: notepad secrets.env). Tell me to replace each PASTE_HERE with the value from my note, with no spaces or quotes, save, close, and type "done". Then check the file WITHOUT showing me any values: print only "ok" or which line is still empty or looks wrong (the Claude key starts with sk-ant-, the Meta token usually starts with EA). When ok, run "npx wrangler secret bulk secrets.env", then delete secrets.env. Then open https://<my worker>/health and confirm ok is true.

PHASE 6: OPEN TIMES (2 min)
Use scripts/make-slots.mjs with my working days and hours to create open times for the next 14 days, and upload them with "npx wrangler kv key put --binding STORE --remote slots '<json>'". Tell me how many times you opened.

PHASE 7: CONNECT META (I click, 6 min)
Show me, clearly, on separate lines: the Callback URL (https://<my worker>/webhook) and the Verify token. Then guide me: my app > left menu WhatsApp > Configuration (or Use cases > Customize > Configuration) > Webhook > Edit > paste both > Verify and save. Then Webhook fields > Manage > "messages" > Subscribe on > Done. Wait for my "done".

PHASE 8: TEST IT TOGETHER (3 min)
Start "npx wrangler tail" so you can see the live log. Ask me to text the +1 555 test number from my phone: "Hi, can I book a session?". Watch the log. If no request arrives within a minute, guide me to publish the app (left menu Publish, or App Mode Development to Live; add a Privacy Policy URL in App settings > Basic if Meta asks) and try again. If a request arrives but there is an error, read it and fix it (wrong secret, expired token, phone not on the allowed list, no Claude credit). When it works, ask me to try /slots and /bookings from my phone. Stop the tail when done.

PHASE 9: HANDOVER
Give me a short summary in plain words:
- my Worker URL and that /health shows if anything is missing,
- the owner commands,
- the rules: it only replies to people who text first; free replies only within 24 hours of their last message; never connect my personal WhatsApp number to the API (it gets removed from the WhatsApp app); keep it a receptionist for my business,
- the costs: Cloudflare free plan (about 400-500 client messages a day), Claude Haiku about a tenth of a cent per reply, and once on a real number Meta gives 1,000 free replies a month per number since 1 October 2026 and then charges a small per-reply fee by country,
- that the test number only talks to the up to 5 phones I added, and the 5 steps to go live with a new number (add phone number in API Setup, display name review, payment method in Meta Business settings, tell you the new Phone number ID to redeploy, share a wa.me link),
- how to change my business info later (tell you, you edit wrangler.toml and redeploy).

✦ Get unstuck

Stuck? Find your line.

I am on my phone

Setting it up needs a computer with Claude Code. Send yourself this page and open it there. Your phone is only for texting the receptionist once it runs.

Error 131030, "not in allowed list"

That phone is not on the test number's list. In Meta go to WhatsApp, API Setup, open the To list, click Manage phone number list and add it. The test number only talks to up to 5 phones you add.

It says "token expired" or error 190

It got the temporary token from API Setup, which stops working within hours. Make the permanent one in Meta Business settings, Users, System users (step 6 in the PDF) and tell Claude Code to update it.

I text it and nothing comes back

Tell Claude Code "no reply came" so it reads the live log. Then check two things in Meta. Under WhatsApp, Configuration, Webhook fields, "messages" must be subscribed. And your app may still be in Development mode: click Publish, or switch App Mode to Live. If Meta asks for a Privacy Policy URL, add your website's privacy page under App settings, Basic.

"Verify and save" fails in Meta

The Verify token must match exactly, with no space at the end, and the Callback URL must end in /webhook. Ask Claude Code to show both again.

It replies that it has "a small technical problem"

Usually there is no Claude credit left. The Claude API is billed apart from your Claude plan. Add credit at platform.claude.com, Settings, Billing.

Replies stopped after a day of silence

That is the 24 hour rule. It starts again as soon as the client texts.

A Meta button looks different

Meta renames buttons often. Pick the closest match, or take a screenshot, drag it into Claude Code and ask "what do I click?"

None of these fixed it

Email joe@mastermindshq.business. Say which step you were on and paste what Claude Code or Meta said. Never send your keys or tokens.

✦ What next · paid · optional

Want the next step? Get Found on Google and ChatGPT.

$47one payment, no monthly fee
0API keys or paid services
1prompt per step, run by your Claude Code
14day found check: day 1, 7 and 14
Joe Che

You came for one piece of my Claude Code setup. If you have your own website, the next useful job for that setup is getting the site found.

Get your website listed on Google and Bing so people (and ChatGPT) can find you by your name and your service. ChatGPT finds websites mostly through Bing, so we tell Bing about you too. Your own Claude Code does the work on your computer, one prompt at a time.

  • What it does: sets up Google and Bing, your Google Business Profile, posts that answer real customer questions, and a monthly check.
  • What usually happens: your site shows up when people search your name or business name within a few weeks.
  • What it cannot promise: ranking for competitive searches like "best X near me". That takes months of steady posts.
  • You need a website in a folder Claude Code can open, Node.js 20 or newer, and a free Google account. It is not for Squarespace or Wix sites.
$47One payment. No monthly fee. Your own Claude Code runs it, so nobody else needs access to your accounts.
Get the kit$47 · one payment · secure checkout

Not for you? Close this page. Everything above stays free.

Created by Joe Che.

ChatGPT is a trademark of OpenAI. Claude is a trademark of Anthropic. This page is not affiliated with either.