The moment it happens
Take table or appointment bookings in WhatsApp
Customers pick a free slot in the chat, it's marked as taken, and you get the reservation by email.
- Runs
- The moment it happens
- Apps
- WhatsApp Business
- AI
- Not needed
- Access
- whatsapp_business_messaging
Send this to your assistant
Create a ClickRuntime automation: when a customer asks to book on WhatsApp, offer the free slots from this list for Friday and Saturday evening, confirm the one they pick, and email me the name, party size and time.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Small restaurants, barbers and tutors take bookings through WhatsApp because customers prefer it to phone calls and web forms. The owner then spends evenings replying to messages like 'is 7 pm free on Friday?', checking a paper diary, and writing the answer back. Double bookings happen when two people ask for the same slot within minutes, and a customer who gets no reply until morning books somewhere else.
The automation runs the booking conversation itself. It tracks where each customer is in the conversation, offers the free slots it has stored, confirms the one they pick and marks it as taken, so the next person does not see it. When a booking is confirmed, it emails you the details.
It is built for businesses with a limited number of slots, such as tables, chairs or lesson times.
What you get out of it
Bookings come in while you are busy
Customers book at midnight or during a rush, and the conversation completes without you. Evenings stop being spent answering availability questions one message at a time. Replying in seconds is also a better first impression of a small business than a voicemail greeting.
No double bookings
Once a slot is confirmed it is marked as taken, so the next person only sees what remains. That protects you from the awkward apology call and the lost goodwill of an overbooked evening. A customer deciding where to eat tonight picks whoever answers first, and an instant reply makes you that place.
Customers get answers immediately
People who ask for a table and get free times in a few seconds usually book on the spot. Delay is what sends them to a competitor who replied first.
You receive every booking by email
Each confirmed reservation is mailed to you with the name, time and contact, giving you a clean list for the day and a record that does not depend on a chat you must scroll.
Fits how customers already communicate
Nobody installs an app or fills in a web form. The conversation happens in WhatsApp, where they already are, which raises the share of enquiries that end in a booking.
How it works
What happens, step by step
When a customer messages your WhatsApp Business number, ClickRuntime replies with a list of free times to choose from.
When they pick one, the slot is marked as taken so nobody else can book it.
The customer gets a WhatsApp confirmation of their booking.
You get an email with the reservation time and the customer's name and number.
Before it runs live
- Connect WhatsApp Business
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other WhatsApp Business steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, state, notify
PHONE_NUMBER_ID = "123456789012345"
def send(to, body, rows=None):
msg = {"type": "text", "text": {"body": body}} if not rows else {"type": "interactive", "interactive": {
"type": "list", "body": {"text": body}, "action": {"button": "Pick a time",
"sections": [{"title": "Free slots", "rows": [{"id": r, "title": r} for r in rows[:10]]}]}}}
http.post(f"https://graph.facebook.com/v21.0/{PHONE_NUMBER_ID}/messages",
headers={"Authorization": f"Bearer {credentials.secret('WHATSAPP_TOKEN')}"},
json={"messaging_product": "whatsapp", "to": to, **msg})
@on_event
def handle(event):
value = event.json["entry"][0]["changes"][0]["value"]
if "messages" not in value:
return {"skipped": True}
m = value["messages"][0]
slots = state.get("free_slots") or [] # e.g. ["Fri 19:00", "Fri 19:30", ...]
picked = m.get("interactive", {}).get("list_reply", {}).get("id")
if picked in slots:
slots.remove(picked)
state.set("free_slots", slots)
send(m["from"], f"Booked for {picked}. See you then!")
notify.email_me(f"Reservation: {picked}", f"From +{m['from']} ({value['contacts'][0]['profile']['name']})")
return {"booked": picked}
send(m["from"], "Hi! Which time would you like?", slots) if slots else send(m["from"], "Sorry, we're fully booked.")
return {"offered": len(slots)}FAQ
Common questions
How does it know which slots are free?
What happens if a customer wants to cancel?
Can it handle party sizes or different services?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Reply to common WhatsApp questions with set answers
People who type 'hours', 'price' or 'menu' get your fixed answer at once, and everyone else gets your welcome menu.
See how it worksSend a WhatsApp confirmation when someone books
Each new booking or sign-up gets your approved template on WhatsApp with their name and details filled in.
See how it worksRun a survey one question at a time on WhatsApp
People answer your questions in the chat, and each finished response lands in your inbox.
See how it worksKeep exploring
Set up “Take table or appointment bookings in WhatsApp” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.