A step-by-step guide to setting up the Meta WhatsApp Cloud API for your business — from your Meta Business account to a production access token and your first approved template. Prefer to skip it? Laabam sets it all up and you send through one simple API.
Keep these ready so the setup runs without interruptions.
Seven steps take you from a fresh Meta account to a production-ready WhatsApp Business API.
Go to business.facebook.com and create (or use) your company business account. Complete Business Verification when Meta asks — verification unlocks higher sending limits and builds recipient trust.
business.facebook.comAt developers.facebook.com/apps create a new app of type Business, connect your Meta Business account, then add the WhatsApp product. This is where the Cloud API setup begins.
developers.facebook.com/appsUnder WhatsApp → API Setup, Meta gives you a temporary access token, a test phone-number ID, your WhatsApp Business Account ID, and a test recipient. Use them to send a test message and confirm everything works.
In WhatsApp Manager → Phone Numbers → Add phone number, register the number your customers will see. It must not already be in use on the WhatsApp mobile app — if it is, delete that account first, then register it on the Cloud API.
The temporary token is for testing only. For production, create a System User in Business Settings → Users, assign your app and WhatsApp Business Account, and generate a token with the whatsapp_business_messaging, whatsapp_business_management and business_management permissions. Keep this token on your backend only — never in a browser or mobile app.
Add a webhook so you receive incoming messages, delivery/read status, failure reasons and template updates. You need a GET endpoint for Meta's verification and a POST endpoint to receive events.
Business-initiated messages must use an approved template. Submit templates under one of Meta's categories — Marketing, Utility, Authentication or Service — and wait for approval before sending your first campaign.
Once you have a phone-number ID and an access token, a text message is a single API call:
curl -X POST "https://graph.facebook.com/v20.0/PHONE_NUMBER_ID/messages" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messaging_product": "whatsapp",
"to": "9198XXXXXXXX",
"type": "text",
"text": { "body": "Hello from WhatsApp Business API" }
}'Replace PHONE_NUMBER_ID, ACCESS_TOKEN and the recipient number with your own values.
Laabam handles the WhatsApp Business API setup, tokens, webhooks and template approvals for you. You send through one clean API — no separate subscription, the same plan that powers your SMS.
Send a WhatsApp template with the Laabam One API:
curl -X POST https://api.laabam.one/v1/messaging/{company}/whatsapp \
-H "X-Client-Id: lk_id_..." \
-H "X-Client-Secret: lk_secret_..." \
-H "Content-Type: application/json" \
-d '{
"to": "919800000000",
"type": "template",
"template": { "name": "invoice_due", "language": "en", "variables": ["Acme", "3540.00"] }
}'No. You can connect your own WhatsApp Business Account, or let the Laabam team handle the Meta setup for you. Either way you send through one Laabam API instead of managing tokens and webhooks yourself.
Only if it is not active on the WhatsApp or WhatsApp Business mobile app. A number can live on the app or on the Cloud API — not both. If it is on the app, delete that account first, then register it.
Outside the 24-hour customer-service window, WhatsApp only delivers pre-approved template messages. Free text is delivered only when the customer messaged you within the last 24 hours and has opted in.
Meta usually reviews templates within minutes to a few hours, but it can take up to 24 hours. Utility and Authentication templates are typically approved faster than Marketing ones.