On this page
WhatsApp Cloud API Integration
Connect your WhatsApp Business number to Bookoraa so bookings, reminders and the AI receptionist run on your own Meta app. Setup takes about 5 minutes — most of it is copying two values into Meta for Developers.
Good to know: Bookoraa works with both a one-click Meta connect and a manual setup. This guide covers the manual path — it's the one you need if your Meta app isn't yet approved, or if you prefer to paste values yourself.
Overview
Bookoraa talks to WhatsApp through Meta's official WhatsApp Cloud API. When a customer messages your WhatsApp number, Meta forwards the message to Bookoraa's webhook; Bookoraa answers (AI receptionist, booking links, reminders) and sends outgoing messages back through the same API.
Three values make this work — two live in Meta, one in Bookoraa:
The URL Meta calls whenever something happens on your WhatsApp number. Bookoraa shows you the exact value — it's your domain plus /api/whatsapp/cloud/webhook.
A shared secret Meta sends back when you first save the webhook, to prove both sides agree. Bookoraa generates one for your business — copy it as-is.
From your Meta app's settings. Bookoraa uses it to verify that incoming webhooks genuinely come from Meta (X-Hub-Signature-256 check).
What Bookoraa does over WhatsApp
Once the number is connected, Bookoraa runs your WhatsApp front desk end to end:
- AI receptionist — answers customer questions 24/7, grounded in your services, prices, staff and opening hours. No canned bots.
- Human handoff with AI pause — when a conversation needs a person, your team takes over from the inbox and the AI steps back automatically.
- 24-hour appointment reminders — customers get a reminder with signed one-tap cancel and reschedule links, cutting no-shows.
- Deposit payments — send a payment link in the chat and confirm bookings only when the deposit lands.
- Waitlist auto-fill — when a cancellation frees a slot, the waitlist is offered the slot over WhatsApp automatically.
- Connection health alerts — Bookoraa watches template status and webhook delivery and warns you in the dashboard before customers notice.
What you need
- A Meta for Developers account.
- A Meta app with the WhatsApp product added (type Business).
- A WhatsApp Business Account (WABA) with a phone number — Meta provides a free test number if you don't have one yet.
- Owner or admin access to your Bookoraa business.
1Get your credentials from Bookoraa
Open Bookoraa and go to WhatsApp in the sidebar. The hub page is your WhatsApp control centre — connection status, active sessions and the AI auto-reply switch all live here:
Then go to WhatsApp → Cloud API. The Install Instructions card shows the two values you'll paste into Meta:
- Callback Endpoint — click
Copy. - Verify Token — click
Showto reveal it, thenCopy.
Use the token Bookoraa shows you — don't invent your own. Meta only needs to send back exactly what Bookoraa expects. If you already saved a custom token earlier, enter that value here instead; both must match.
2Create or open your Meta app
- Go to Meta for Developers → My Apps.
- If you don't have an app yet, click Create App, choose type Business, and give it a name.
- On the app dashboard, find Add products and click Set up on the WhatsApp card.
- If you plan to verify webhook payloads with an App Secret, open App settings → Basic and copy the App Secret now.
Paste the App Secret into the manual form at the bottom of Bookoraa's Cloud API page and save — you'll do the rest of the Bookoraa fields in step 5.
3Configure the webhook in Meta
- In your Meta app, open WhatsApp → Configuration in the left sidebar.
- Under Webhook, click Edit (or Add webhook callback URL).
- Paste the Callback Endpoint URL from Bookoraa into Callback URL.
- Paste the Verify Token from Bookoraa into Verify token.
- Click Verify and save. Meta immediately calls Bookoraa's webhook; if the tokens match, the dialog closes without errors.
What happens on verify: Meta sends GET /api/whatsapp/cloud/webhook?hub.mode=subscribe&hub.verify_token=…&hub.challenge=…. Bookoraa looks up your business by the verify token and echoes the challenge back. If you see Verification failed, the token in Meta doesn't match the one in Bookoraa — see Troubleshooting.
4Subscribe to webhook events
Still under WhatsApp → Configuration, click Manage next to Webhook fields and subscribe to:
| Field | Why Bookoraa needs it |
|---|---|
messages | Required. Every inbound customer message — bookings, questions, AI conversation. |
message_template_status_update | Recommended. Tracks approval/rejection of your message templates used for reminders and broadcasts. |
5Finish in Bookoraa
Scroll to the manual configuration form on the Cloud API page and fill in:
- Phone Number ID — Meta app → WhatsApp → API Setup.
- WABA ID — shown right below the Phone Number ID on the same page.
- Access Token — click Generate access token in Meta's API Setup (a permanent system-user token is best).
- Webhook Verify Token — pre-filled with the same token from step 1.
- App Secret — from step 2.
Save, then switch the connection mode to Cloud API.
6Verify the connection
Back at the top of the Cloud API page, the status badge turns green once credentials are stored and the mode is active. Send a WhatsApp message from your phone to the connected number — it should appear in Bookoraa's WhatsApp inbox within seconds, and the AI receptionist (if enabled) will reply.
Meta test numbers can only message the recipient numbers you whitelist in API Setup. Add your phone as a recipient to test, or move a real number into the WABA for production.
Test your integration
Before pointing your production number at Bookoraa, run a quick end-to-end test with Meta's free test number:
- In your Meta app, open WhatsApp → API Setup. Under To, click Manage phone number list and add up to 5 recipient numbers (the free tier allows 5) — verify each with the code Meta sends.
- From one of those phones, send Hi to the test number shown in API Setup.
- Within a few seconds the message should land in Bookoraa's WhatsApp inbox, and the AI receptionist (if enabled) replies with a greeting grounded in your business data.
- Ask it something real — "How much is a haircut?" or "Can I book tomorrow at 3?" — and check the answer matches your services and prices.
- Watch the WhatsApp hub while you chat: the status badge stays green, session counters tick up, and any webhook or template problem raises a health banner instead of failing silently.
Test replies come from Meta's test number, so customers can't message it and it can't send templates. Once you've verified booking, reminders and handoff behave the way you want, connect your real business number — the webhook and verify token carry over unchanged.
Webhook events reference
| Event | Bookoraa behaviour |
|---|---|
Inbound messages | Routed to the business's WhatsApp conversation — AI receptionist or human handoff, keyword menus, booking links. |
Status updates (sent, delivered, read, failed) | Logged on the outgoing message so the team sees delivery state. |
| Template status | Template approval state is refreshed for reminders and broadcasts. |
Bookoraa validates every POST with X-Hub-Signature-256 using your App Secret, and the endpoint is rate-limited to 120 requests/minute per IP.
Troubleshooting
"Verification failed" or "Couldn't validate callback"
The Verify Token in Meta doesn't match what Bookoraa expects. Re-copy the token from the Install Instructions card and paste it again, then Verify and save.
Webhook saves but no messages arrive
- Check the
messagesfield is subscribed (step 4). - Confirm Bookoraa's mode is switched to Cloud API, not Embedded Signup or simulation.
- Make sure the Phone Number ID and WABA ID in Bookoraa belong to the same Meta app that received the message.
Messages arrive but Bookoraa rejects them (401/403)
The App Secret stored in Bookoraa doesn't match your Meta app, so signature checks fail. Re-copy it from App settings → Basic and save the form again. Leaving the App Secret empty disables signature verification — fine for testing, not for production.
Outgoing messages fail with token errors
Access tokens expire. Generate a permanent system-user token in Meta's Business Settings and update it in Bookoraa.
One-click alternative: if your Meta app is approved, you can skip this whole guide — click Connect with Meta at the top of Bookoraa's Cloud API page and Bookoraa discovers your numbers automatically.