Meta Cloud API Guide
Meta Cloud API

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

TermMeaning
Meta Business AccountYour 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 IDA unique ID assigned by Meta to each registered phone number (not your actual phone number)
Access TokenA secret key for API calls — can be temporary (24hr) or permanent (System User token)
Developer AppApplication at developers.facebook.com providing App ID and App Secret

Requirements

  • Facebook Personal Account — With admin access to your business
  • Meta Business Manager Account — Created at business.facebook.com
  • Business Website (HTTPS) — Live website for verification and app review
  • Business Email / Domain — Professional email on your domain
  • Legal Business Documents — Registration certificate, tax ID, utility bill, etc.
  • Phone Number — Can receive SMS/voice calls for OTP verification
  • Admin Access — To both Meta Business portfolio and Developer App
Important: Your phone number must NOT already be active in regular WhatsApp or WhatsApp Business App — unless you are using Meta's coexistence/migration flow.

Create Meta Business Account

1

Go to Meta Business Suite

Open business.facebook.com and login with your personal Facebook account.

2

Create Business Portfolio

Click "Create an account" or "Create a Business Portfolio". Enter your business name, your name, and business email. Submit.

3

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.

4

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.

1

Open Security Center

Go to Business SettingsSecurity Center (or Business Info). Find "Start Verification".

2

Fill in Business Details

Enter your Legal Business Name (must match documents exactly), full address, phone number, and website.

3

Upload Documents

Upload one of: business registration certificate, tax certificate, utility bill, bank statement, or articles of incorporation. Must be clear and complete.

4

Verify & Submit

Complete any domain/email/phone verification Meta requests. Click Submit. Review takes 1–5 business days.

Common Rejection Reasons
ReasonHow to Fix
Name doesn't match documentsUse exact legal name, no abbreviations
Documents unclearUpload high-quality, full-page scans
Website doesn't matchEnsure website shows business name and contact info
Domain verification failedAdd DNS TXT record and wait for propagation

Create Developer App

1

Go to Developer Console

Open developers.facebook.comMy Apps → Create App

2

Choose App Type

Select "Other" or "Business" → Choose "Business" type → Enter app name and contact email → Link to your Meta Business Account → Create App

3

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.

Never share your App Secret publicly. Use only in server-side code.

Add WhatsApp Product

1

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.

2

Add & Verify Phone Number

Go to WhatsApp → API Setup"Add phone number". Enter number with country code. Verify via SMS or voice call OTP.

3

Find Your IDs

After setup, find these on the API Setup page:

FieldWhere to Find
WABA IDNear top of API Setup page
Phone Number IDAfter selecting your phone number
Business IDBusiness Settings → Business Info
Temp Access TokenAPI 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.

1

Get Webhook URL from CRM Admin Dashboard

First, you need to find the unique Webhook URL generated by your CRM system:

  1. Log in to your CRM as an Administrator.
  2. In the left sidebar, navigate to Meta Cloud API → Settings.
  3. Scroll down to the Webhook Configuration section.
  4. Copy the Webhook Callback URL (it usually looks like https://yourdomain.com/meta_api/webhook).
  5. Also, copy or note down the Verify Token (this is a secret string used for verification).
2

Paste in Meta Developer App

Now, tell Meta where to send the webhook data:

  1. Go to your Meta Developer App at developers.facebook.com.
  2. In the left menu, expand WhatsApp and click on Configuration.
  3. Under the Webhooks section, click the Edit button.
  4. Paste the Callback URL you copied from the CRM dashboard into the "Callback URL" field.
  5. Paste the Verify Token into the "Verify Token" field.
  6. Click Verify and Save.
3

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).
Note: Your CRM must be publicly accessible via HTTPS for webhooks to work. Localhost will NOT receive webhook events from Meta.

CRM Admin Settings

Configure the credentials in your CRM dashboard to complete the connection.

1

Navigate to Settings

In your CRM, go to Meta Cloud API → Settings (admin panel).

2

Enter Credentials

Fill in the following fields:

FieldValue
App IDFrom Developer App → App Settings → Basic
App SecretFrom Developer App → App Settings → Basic
Webhook Verify TokenA custom string you define (must match Meta config)
Webhook Callback URLAuto-generated by CRM — copy to Meta
3

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

  1. Create templates in CRM → Meta Cloud API → Templates
  2. Templates are submitted to Meta for approval
  3. Approval usually takes a few minutes to 24 hours
  4. Once approved, templates can be used for broadcast campaigns
  5. Templates support text, media, buttons, and dynamic variables
Best Practice: Avoid promotional language, all-caps, or excessive formatting. Meta rejects templates that feel spammy. Keep messages professional and useful.

Go-Live Checklist

  • Meta Business Account created
  • Business Verification approved
  • Developer App created with App ID & Secret saved in CRM
  • WhatsApp product added to Developer App
  • Phone number registered and verified
  • Display Name approved
  • Webhook configured and verified
  • Permanent Access Token created (System User)
  • CRM Settings saved with all credentials
  • Message template approved
  • Test message sent successfully
  • App switched to Live Mode
  • Payment method added for billing

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).

1

Register as a Tech Provider

  1. Go to your Meta Business Suite → Business Settings.
  2. In the left menu, scroll down to Business Info.
  3. Ensure your business is fully verified (see the Business Verification step).
  4. 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.
2

Enable Embedded Signup

Embedded Signup allows your CRM clients (tenants) to connect their WhatsApp numbers with a simple "Continue with Facebook" button.

  1. Go to your Meta Developer App at developers.facebook.com.
  2. Go to WhatsApp → Embedded Signup.
  3. Follow the setup guide to enable Embedded Signup. You will need to provide your business's Privacy Policy, Terms of Service, and a logo.
3

Configure Facebook Login for Business

  1. In your Developer App, add the product Facebook Login for Business.
  2. Go to Facebook Login for Business → Settings.
  3. In the Valid OAuth Redirect URIs field, enter the OAuth callback URL provided in your CRM Admin Dashboard (under Meta Cloud API Settings).
  4. Ensure Login with the JavaScript SDK is enabled and add your CRM domain to Allowed Domains for the JavaScript SDK.
4

System User Access Token

As a Tech Provider, you need a permanent System User Token to perform actions on behalf of your clients.

  1. Go to Meta Business Settings → Users → System Users.
  2. Add a new System User with the role of Admin.
  3. Assign assets to this user: Select your Developer App and grant full control.
  4. Click Generate New Token. Select your app and check the following permissions: whatsapp_business_management and whatsapp_business_messaging.
  5. Copy this token and paste it into your CRM's Meta Cloud API Settings as the System Access Token.
5

App Review Process

Before you can go live with Embedded Signup for external clients, your app must pass Meta's App Review.

  1. Go to your Developer App → App Review → Permissions and Features.
  2. Request advanced access for whatsapp_business_management and whatsapp_business_messaging.
  3. You will need to submit a screencast video showing how a client logs into your CRM, clicks "Continue with Facebook", and sends a message.
  4. Once approved, you can switch your app from Development to Live mode.