Use the g.page/r/… link from your Google Business Profile ("Ask for reviews") — it opens the Maps app directly, bypassing WhatsApp's built-in browser. WhatsApp bakes the link into the approved thank-you message: after changing it here, also update the thank-you template's wording in Advanced (✏️ edit, or 📤 submit if it doesn't exist yet) — until the new wording is approved (usually minutes), thank-yous keep the previous link.
The emoji appears in bot messages next to your services (a clinic might use 🦷, a salon 💇). The customer label personalises the AI receptionist.
When on, messages the menu buttons can't handle get a natural-language reply (business hours, services, booking help). The AI never books or cancels anything without the customer tapping a confirm button. When off, unrecognised messages show the menu and alert your staff.
Owner-only plumbing. The WhatsApp fields connect this dashboard's project to your number (from Meta's WhatsApp Manager). The AI keys are stored in an owner-only document — staff can never read them. Clearing a key switches that AI provider off; clearing both turns the AI receptionist off entirely.
With a token saved, every customer added, edited, deleted or merged here is pushed to Business Analytics on its own, so its invoice form offers the same people with the same patient IDs. After pasting a new token: Save settings, then Sync all once.
Keep the {{1}}-style placeholders — the bot fills them automatically. Every edit goes back through WhatsApp review (usually minutes; the old wording keeps working meanwhile). WhatsApp allows one edit per template per day.
Automatic snapshots of everything — bookings, customers, chats, activity and all settings (including the API keys) — saved as one compressed file into a "your business WhatsApp bot backups" folder the bot creates in your own Google Drive. Daily backups keep the last 30 files, monthly the last 12; older ones are removed automatically. The same connection also stores patient photos & X-rays (📷 Photos on a customer card).
One-time setup (~3 min): in Google Cloud console → Clients (pick this bot's project), first configure the consent-screen branding if asked (External, add your email, then set it to In production under Audience — "Testing" mode disconnects after 7 days), then Create client → application type TVs and Limited Input devices. Paste the Client ID and secret below and press Connect.
Restoring writes every record from the chosen file back over the current data (records created after that backup are kept). The bot keeps running throughout. A backup taken before patient IDs were introduced restores the old phone-keyed customer records — run scripts/migrate-patient-ids.js afterwards to convert them again.
Tap a colour to preview it instantly. Press Save settings to keep it — it then applies for everyone who uses this dashboard.
The greeting proposes the earliest free slot with the "Book slot" / "Other times" / "Bookings" buttons. "Book" only appears when no slot is free to propose. Labels apply to English chats — Hindi buttons are built in.
"Fill" writes slots from–to (last slot starts one interval before closing) into Mon–Sat. Edit any day by hand after.
Switches each digest on/off for everyone (🔔 staff and the extra numbers below). New-booking alerts are not affected. Press Save settings to apply.
Billed cost of this number's messages, straight from Meta: broadcasts (marketing), confirmations and reminders (utility). Free service replies and undelivered messages are never charged.
📊 Daily cap, quality rating and messages used today: WhatsApp Manager → Phone numbers (log in as the business admin, then open the number's Insights).
Write a prescription from the ℞ button on any appointment card (or ℞ Prescriptions on a customer card): pick medicines from the clinic's list, adjust dose / frequency / duration, print it, save it as a PDF or send it on WhatsApp. Common dental medicines are pre-loaded; add your own and save standard prescriptions as templates.
Every photo case gets one of these types (picked when the case is created), so the 🖼 Photos & X-rays library can be filtered by type — e.g. all implant cases with before/after photos. One per line; the order here is the order shown.
Renaming a type here doesn't change cases that already use the old name — edit those from the case (✎ Edit). Leave empty to go back to the built-in list.
Sent to customers on WhatsApp as one message: your QR code on top, then the UPI id and bank details. Use the 💳 Send payment details button inside a customer's chat. It goes out as an approved template, so it works even when the customer hasn't messaged in 24 hours.
No image? Save with just the UPI id and a QR code is generated for you.
After saving (and after any later change), open Advanced below and tap 📤 Submit standard templates once — WhatsApp approves the payment message in a few minutes. Check with 🔍 Check status.
Staff sign in on this same page with their username and password. They can manage appointments and customers, but cannot change settings or this list. Add a WhatsApp number and tick 🔔 to send them the schedule digest and new-booking alerts; tick 💬 to let an account read customer chats and reply; tick ✎ to let an account edit customer names & numbers (deleting customers stays owner-only). Tap 🦷 to limit someone's digest & alerts to specific services — a dot on the button means a filter is active.
Changes apply immediately. Removing an account signs that person out for good.
Every number that has more than one patient record. A family sharing a number is fine — leave those alone. When two records are the same person, tick the duplicate(s), make sure the right record is marked keep, and press Merge. The duplicate is deleted; its appointments, prescriptions and notes move to the kept record, blank details are filled in from it, and the old spelling stays searchable.
Changes take effect on the bot's next message — no redeploy needed.
Every message customers exchange with the bot (kept for 90 days). Open a chat to reply directly — WhatsApp allows replies up to 24 hours after the customer's last message. Photos & files customers send are viewable for 24 hours, then deleted. Visible to owners and staff who've been granted chat access in Settings.
⏳ A broadcast is still pending. Let it finish or cancel it in History below before queuing a new one.
Search and tick customers here, or tap 📢 on any card in the Customers tab. Then choose “Selected customers” under Send to.
A CSV with name and mobile columns (any order; a header row is detected automatically). Every number is checked against your customer list: new ones are added, existing ones are listed so you can choose which name to keep. After importing, the whole list is available under Send to → “Last CSV import”.
One tip and one festival wish every month, queued automatically on the chosen day at the first batch hour. Lunar festival dates (Holi, Diwali, Eid, Ganesh Chaturthi…) move every year, so check the days each January. Days closer together than the minimum gap in Broadcast settings are flagged.
Every day at the first batch hour, customers who haven't visited in the chosen period (imported customers with no recorded visit count too), have no upcoming appointment, haven't opted out and weren't reminded recently get a visit reminder. This runs on top of the yearly plan's monthly tip and festival wish; the minimum gap between messages still applies (a reminder is delayed, never dropped).
Keeps a large backlog (e.g. right after a CSV import) draining gradually so the yearly plan's messages aren't held up.
Everything in the Compose dropdown and the yearly plan comes from here. Edit any text (saves when you click away), delete what you don't need, or add your own.
Pacing for every broadcast, manual or scheduled. Slow and steady protects your WhatsApp number's quality rating; Meta may also cap marketing deliveries on its side.
Keeps the monthly tip and festival wish from landing on the same person within a few days of each other.
Promotional offers reach any one customer at most once per this many days, no matter how many offers you queue.
Meta's policy: bulk marketing messages may only go to people who agreed to hear from your business (your patients shared their numbers with the clinic, which is why broadcasts only target your own customer list, never bought lists). Every message must offer a way out; ours carries the STOP line and the bot honors it instantly. Meta also limits how many marketing messages any one person receives from all businesses combined, so a delivery can be dropped even when everything on your side is correct (that shows as error 131049 in the Activity log and is not charged).
Your quality rating (WhatsApp Manager → phone number: Green, Yellow, Red) is scored from how recipients react in the last 7 days. Blocks and "report spam" taps hurt the most; a falling rating cuts your daily messaging limit and can pause templates. To keep it Green:
• Send genuinely useful content, like the tips, not pure promotion.
• Keep frequency low. The gaps above are your main protection.
• Message people who know you. Recent visitors react far better than a cold list, so prefer the "no visit" audiences over "all customers" for recall nudges.
• Stay in daytime hours (the batch window above) so messages never land at odd times.
• Watch the first day of a big broadcast in the Activity log; if failures or blocks spike, stop it from History below and let things cool down.
Everything that happened in the last 30 days, newest first. Pick a category or search a name, number, service or staff login. Undelivered-message reports sit under their own chip so they don't bury the rest. Only owner accounts can see this.