Demo Guide
One complete workflow — WhatsApp → AI → Calendar → Booking → Reminder. This is what you show prospects.
⚡ View Live Demo →/api/demo/dashboard before the prospect joins. The bookings table and activity feed should show demo data already — makes the demo feel "alive" from the first second.
Create a WhatsApp Business account at business.whatsapp.com. Get your Phone Number ID from Meta Business Suite → WhatsApp → API Setup. Set the webhook URL to https://localflow-23-176418.polsia.app/api/webhook/whatsapp and verify token to localflow-demo-token.
Get a key at platform.openai.com. Set OPENAI_API_KEY env var in Render dashboard. The AI uses GPT-4 to understand patient intent and generate natural responses.
Create a Google Cloud project, enable Calendar API, create a service account, share your calendar with the service account email. Set GOOGLE_CALENDAR_ID and GOOGLE_SERVICE_ACCOUNT_KEY. Without this, demo uses realistic mock slots.
In your Render dashboard → Environment → add these secrets:
| Variable | Status | Where to get it |
|---|---|---|
WHATSAPP_PHONE_NUMBER_ID |
⚠ Demo mode if missing | Meta Business Suite → WhatsApp → API Setup |
WHATSAPP_ACCESS_TOKEN |
⚠ Demo mode if missing | Meta Business Suite → WhatsApp → API Setup |
WHATSAPP_VERIFY_TOKEN |
✓ localflow-demo-token | Set to localflow-demo-token (or your choice) |
OPENAI_API_KEY |
⚠ Required for AI responses | platform.openai.com/api-keys |
GOOGLE_CALENDAR_ID |
⚠ Uses mock slots if missing | Your Google Calendar ID (email address) |
GOOGLE_SERVICE_ACCOUNT_KEY |
⚠ Uses mock slots if missing | Google Cloud → IAM → Service Accounts → Keys |
Top to bottom in n8n canvas:
Alternative path (steps 8→ false): Generate Slot/Info Response → Send Slots Response WhatsApp
Go to n8n Settings → Variables and add these:
| Variable | Where to get it |
|---|---|
WHATSAPP_PHONE_NUMBER_ID | Meta Business Suite → WhatsApp → API Setup → Phone Number ID |
WHATSAPP_ACCESS_TOKEN | Meta Business Suite → WhatsApp → API Setup → Temporary Access Token |
GOOGLE_CALENDAR_ID | Your Google Calendar email address (e.g. clinic@gmail.com) |
GOOGLE_ACCESS_TOKEN | Google Cloud → IAM → Service Account → Create key → OAuth2 flow |
OPENAI_API_KEY | platform.openai.com/api-keys — use GPT-4o model |
Custom logic, highest performance, no dependency on n8n cloud, full code control, white-label ready.
Teams already on n8n self-hosted, want visual debugging, or need to mix with 50+ other integrations.
Dental clinics typically see 30-40% reduction in no-shows after 3 months. Most recoup the cost in saved staff time within the first month.
Check: 1) Your webhook URL is publicly accessible, 2) Verify token matches, 3) Phone number is verified in Meta Business Suite, 4) The app is in "live" mode (not development/test).
Check that OPENAI_API_KEY is set and has quota remaining. The API is called once per inbound message with a 5-second timeout. Falls back to a static response if API is down.
Use /api/demo/dashboard — it shows the full workflow with mock chat bubbles. Use POST /api/demo/simulate-message with any phone/message to trigger the full AI flow and see results in the bookings panel. No WhatsApp credentials needed for demo mode.