WhatsApp Business Cloud API Setup
Complete end-to-end guide for connecting Meta WhatsApp Business Cloud API to your CRM. Send messages, manage templates, configure webhooks, and go live.
Overview
This module connects your CRM to the WhatsApp Business Cloud API hosted by Meta.
What You Can Do Once Connected
- Send and receive WhatsApp messages from the CRM dashboard
- Use pre-approved message templates for outbound campaigns
- Automate replies with chatbots and auto-responders
- Broadcast messages to large contact lists
- Track delivery, read receipts, and conversation status
- Manage multiple WhatsApp numbers across tenants
Key Terms
| Term | Meaning |
|---|---|
| Meta Business Account | Your business identity on Meta, created at business.facebook.com |
| WABA (WhatsApp Business Account) | Container inside Meta Business Manager for WhatsApp phone numbers, templates, and billing |
| Phone Number ID | A unique ID assigned by Meta to each registered phone number (not your actual phone number) |
| Access Token | A secret key for API calls — can be temporary (24hr) or permanent (System User token) |
| Developer App | Application at developers.facebook.com providing App ID and App Secret |
Requirements
Create Meta Business Account
Go to Meta Business Suite
Open business.facebook.com and login with your personal Facebook account.
Create Business Portfolio
Click "Create an account" or "Create a Business Portfolio". Enter your business name, your name, and business email. Submit.
Add People & Website
Go to Business Settings → People to add team members. Then go to Business Info to add your website URL and find your Business ID.
Add Payment Method
Go to Business Settings → Payments/Billing and add a credit card for WhatsApp conversation billing.
Business Verification
Required for production access and advanced permissions.
Open Security Center
Go to Business Settings → Security Center (or Business Info). Find "Start Verification".
Fill in Business Details
Enter your Legal Business Name (must match documents exactly), full address, phone number, and website.
Upload Documents
Upload one of: business registration certificate, tax certificate, utility bill, bank statement, or articles of incorporation. Must be clear and complete.
Verify & Submit
Complete any domain/email/phone verification Meta requests. Click Submit. Review takes 1–5 business days.
Common Rejection Reasons
| Reason | How to Fix |
|---|---|
| Name doesn't match documents | Use exact legal name, no abbreviations |
| Documents unclear | Upload high-quality, full-page scans |
| Website doesn't match | Ensure website shows business name and contact info |
| Domain verification failed | Add DNS TXT record and wait for propagation |
Create Developer App
Go to Developer Console
Open developers.facebook.com → My Apps → Create App
Choose App Type
Select "Other" or "Business" → Choose "Business" type → Enter app name and contact email → Link to your Meta Business Account → Create App
Get App ID & App Secret
Go to App Settings → Basic. Copy App ID. Click "Show" next to App Secret, enter password, copy it. Store both securely.
Add WhatsApp Product
Add WhatsApp to Your App
In your Developer App dashboard, find "Add a Product" → Locate "WhatsApp" → Click "Set Up". Connect or create a WhatsApp Business Account.
Add & Verify Phone Number
Go to WhatsApp → API Setup → "Add phone number". Enter number with country code. Verify via SMS or voice call OTP.
Find Your IDs
After setup, find these on the API Setup page:
| Field | Where to Find |
|---|---|
| WABA ID | Near top of API Setup page |
| Phone Number ID | After selecting your phone number |
| Business ID | Business Settings → Business Info |
| Temp Access Token | API Setup page (expires in ~24hrs) |
Webhook Setup
Webhooks allow Meta to notify your CRM about incoming messages, delivery statuses, and account changes. This is critical for the integration to work.
Get Webhook URL from CRM Admin Dashboard
First, you need to find the unique Webhook URL generated by your CRM system:
- Log in to your CRM as an Administrator.
- In the left sidebar, navigate to Meta Cloud API → Settings.
- Scroll down to the Webhook Configuration section.
- Copy the Webhook Callback URL (it usually looks like
https://yourdomain.com/meta_api/webhook). - Also, copy or note down the Verify Token (this is a secret string used for verification).
Paste in Meta Developer App
Now, tell Meta where to send the webhook data:
- Go to your Meta Developer App at developers.facebook.com.
- In the left menu, expand WhatsApp and click on Configuration.
- Under the Webhooks section, click the Edit button.
- Paste the Callback URL you copied from the CRM dashboard into the "Callback URL" field.
- Paste the Verify Token into the "Verify Token" field.
- Click Verify and Save.
Subscribe to Webhook Fields
After successful verification, you must subscribe to the events you want to receive:
- Find the Webhook fields section just below where you entered the URL.
- Click Manage next to Webhook fields.
- Click Subscribe next to
messages(for incoming messages from customers). - Click Subscribe next to
message_template_status_update(for template approval status changes).
CRM Admin Settings
Configure the credentials in your CRM dashboard to complete the connection.
Navigate to Settings
In your CRM, go to Meta Cloud API → Settings (admin panel).
Enter Credentials
Fill in the following fields:
| Field | Value |
|---|---|
| App ID | From Developer App → App Settings → Basic |
| App Secret | From Developer App → App Settings → Basic |
| Webhook Verify Token | A custom string you define (must match Meta config) |
| Webhook Callback URL | Auto-generated by CRM — copy to Meta |
Connect Tenant Account
Each CRM tenant can connect their own WhatsApp number via Embedded Signup (one-click Facebook login) or Manual Connection (entering WABA ID, Phone Number ID, and Access Token manually).
Message Templates
WhatsApp requires pre-approved templates for outbound messages sent outside the 24-hour customer service window.
How Templates Work
- Create templates in CRM → Meta Cloud API → Templates
- Templates are submitted to Meta for approval
- Approval usually takes a few minutes to 24 hours
- Once approved, templates can be used for broadcast campaigns
- Templates support text, media, buttons, and dynamic variables
Go-Live Checklist
Meta Tech Provider / BSP Setup
If you are a SaaS provider and want to offer WhatsApp integration to your clients without them having to create their own Meta Developer Apps, you can become a Meta Tech Provider (Business Solution Provider).
Register as a Tech Provider
- Go to your Meta Business Suite → Business Settings.
- In the left menu, scroll down to Business Info.
- Ensure your business is fully verified (see the Business Verification step).
- Once verified, look for the option to register as a Tech Provider or join the Partner Program. Follow Meta's prompts to sign the terms and conditions.
Enable Embedded Signup
Embedded Signup allows your CRM clients (tenants) to connect their WhatsApp numbers with a simple "Continue with Facebook" button.
- Go to your Meta Developer App at developers.facebook.com.
- Go to WhatsApp → Embedded Signup.
- Follow the setup guide to enable Embedded Signup. You will need to provide your business's Privacy Policy, Terms of Service, and a logo.
Configure Facebook Login for Business
- In your Developer App, add the product Facebook Login for Business.
- Go to Facebook Login for Business → Settings.
- In the Valid OAuth Redirect URIs field, enter the OAuth callback URL provided in your CRM Admin Dashboard (under Meta Cloud API Settings).
- Ensure Login with the JavaScript SDK is enabled and add your CRM domain to Allowed Domains for the JavaScript SDK.
System User Access Token
As a Tech Provider, you need a permanent System User Token to perform actions on behalf of your clients.
- Go to Meta Business Settings → Users → System Users.
- Add a new System User with the role of Admin.
- Assign assets to this user: Select your Developer App and grant full control.
- Click Generate New Token. Select your app and check the following permissions:
whatsapp_business_managementandwhatsapp_business_messaging. - Copy this token and paste it into your CRM's Meta Cloud API Settings as the System Access Token.
App Review Process
Before you can go live with Embedded Signup for external clients, your app must pass Meta's App Review.
- Go to your Developer App → App Review → Permissions and Features.
- Request advanced access for
whatsapp_business_managementandwhatsapp_business_messaging. - You will need to submit a screencast video showing how a client logs into your CRM, clicks "Continue with Facebook", and sends a message.
- Once approved, you can switch your app from Development to Live mode.