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:

Callback Endpoint *

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.

Verify Token *

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.

App Secret

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:

What you need

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:

Bookoraa WhatsApp hub page with connection status cards, sessions and the Connect with Facebook button
The WhatsApp hub in Bookoraa. Cloud API setup lives under the connection card.

Then go to WhatsApp → Cloud API. The Install Instructions card shows the two values you'll paste into Meta:

Bookoraa Install Instructions card with Callback Endpoint and Verify Token fields and copy buttons
The Install Instructions card on WhatsApp → Cloud API. The verify token is pre-generated for your business.

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

  1. Go to Meta for Developers → My Apps.
  2. If you don't have an app yet, click Create App, choose type Business, and give it a name.
  3. On the app dashboard, find Add products and click Set up on the WhatsApp card.
  4. 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

  1. In your Meta app, open WhatsApp → Configuration in the left sidebar.
  2. Under Webhook, click Edit (or Add webhook callback URL).
  3. Paste the Callback Endpoint URL from Bookoraa into Callback URL.
  4. Paste the Verify Token from Bookoraa into Verify token.
  5. 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:

FieldWhy Bookoraa needs it
messagesRequired. Every inbound customer message — bookings, questions, AI conversation.
message_template_status_updateRecommended. 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:

Bookoraa manual Cloud API form with Phone Number ID, WABA ID, Access Token, pre-filled Webhook Verify Token and App Secret fields
The manual setup form. Only the Webhook Verify Token comes from Bookoraa — the rest come from your Meta app.

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:

  1. 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.
  2. From one of those phones, send Hi to the test number shown in API Setup.
  3. 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.
  4. 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.
  5. 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

EventBookoraa behaviour
Inbound messagesRouted 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 statusTemplate 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

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.