Skip to content

WhatsApp Business Setup — Detailed Guide ​

Prerequisites ​

Before connecting WhatsApp to ZenTraq, you need:

  1. Meta Business Manager Account — business.facebook.com
  2. WhatsApp Business Account (WABA) — Created in Meta Business Manager
  3. Verified Business — Meta must verify your business identity
  4. Phone Number — A number registered with WhatsApp Business API (not personal WhatsApp)
  5. Payment Method — Credit card on Meta for message charges

Step-by-Step Setup ​

Step 1: Create Meta Business Account ​

  1. Go to business.facebook.com
  2. Create a Business Manager account (or use existing)
  3. Complete business verification (takes 1-3 business days)
  4. Upload business documents if requested

Step 2: Set Up WhatsApp Business Account ​

  1. In Meta Business Manager → All Tools → WhatsApp Manager
  2. Click Get Started or Add WhatsApp Account
  3. Add a phone number (must not be on personal WhatsApp)
  4. Verify the number via SMS or Voice call
  5. Note down your Phone Number ID and WABA ID

Step 3: Generate Access Token ​

  1. Go to developers.facebook.com
  2. Create an App (Business type)
  3. Add WhatsApp product to your app
  4. Go to WhatsApp → API Setup
  5. Generate a Permanent Access Token:
    • Under "System Users" in Business Settings
    • Create a system user with "Admin" role
    • Generate token with whatsapp_business_messaging permission
  6. Copy this token (you'll need it for ZenTraq)

Step 4: Configure in ZenTraq ​

  1. Go to Settings → WhatsApp Configuration
  2. Enter:
    • Phone Number ID: (from Step 2)
    • WhatsApp Business Account ID: (from Step 2)
    • Access Token: (from Step 3)
    • Business Display Name: Your business name
    • Webhook Verify Token: Create any random string (e.g., "zentraq_verify_2026")
  3. Click Save & Test Connection
  4. If test succeeds ✅ → proceed to webhook setup

Step 5: Configure Webhook (for receiving messages) ​

  1. In Meta's App Dashboard → WhatsApp → Configuration
  2. Click Edit on the Webhook section
  3. Enter:
    • Callback URL: https://api.zentraq.in/api/whatsapp/webhook (your API domain)
    • Verify Token: Same token you entered in ZenTraq (Step 4)
  4. Click Verify and Save
  5. Subscribe to these webhook fields:
    • ✅ messages
    • ✅ message_delivery_updates (delivery receipts)
    • ✅ message_reads (read receipts)

Step 6: Create Message Templates ​

  1. In Meta Business Manager → WhatsApp Manager → Message Templates
  2. Click Create Template
  3. Fill in:
    • Name: e.g., welcome_message (lowercase, underscores)
    • Category: Utility, Marketing, or Authentication
    • Language: English (or your language)
    • Body: Your message with variables 1, 2
  4. Submit for review (approved within 24-48 hours)

Step 7: Add Templates to ZenTraq ​

  1. Settings → WhatsApp → Templates
  2. Click Sync Templates to pull from Meta
  3. Or manually add: Name, Body, Variables
  4. Templates appear in the chat when sending

Webhook URL Configuration ​

Your webhook URL depends on your deployment:

SetupWebhook URL
Direct APIhttps://your-api-domain.com/api/whatsapp/webhook
Via API Gatewayhttps://your-gateway.com/api/whatsapp/webhook
Local TestingUse ngrok: https://xxxx.ngrok.io/api/whatsapp/webhook

Template Examples ​

Welcome Message ​

Name: welcome_message
Category: Marketing
Body: Hello {{1}}! 👋 Thank you for your interest in {{2}}. 
Our team will connect with you shortly. 
Reply STOP to opt out.
Variables: {{1}} = Customer Name, {{2}} = Product/Service

Appointment Reminder ​

Name: appointment_reminder
Category: Utility
Body: Hi {{1}}, this is a reminder about your appointment 
on {{2}} at {{3}}. 
Reply YES to confirm or RESCHEDULE to change the time.
Variables: {{1}} = Name, {{2}} = Date, {{3}} = Time

Invoice Notification ​

Name: invoice_sent
Category: Utility
Body: Hi {{1}}, your invoice {{2}} for ₹{{3}} has been generated. 
Due date: {{4}}. 
Pay online or contact us for details.
Variables: {{1}} = Name, {{2}} = Invoice#, {{3}} = Amount, {{4}} = Due Date

Follow-Up ​

Name: follow_up
Category: Marketing
Body: Hi {{1}}, we noticed you were interested in {{2}}. 
Would you like to schedule a call to discuss further? 
Reply YES to connect with our team.
Variables: {{1}} = Name, {{2}} = Product/Interest

Messaging Rules ​

24-Hour Window ​

  • Customer messages you → Window opens for 24 hours
  • During window → Send any free-form text
  • Window expires → Only templates can be sent
  • Template sent → Customer replies → Window re-opens

Message Pricing (Meta) ​

  • Business-initiated (templates): Charged per conversation
  • User-initiated (replies within window): Charged per conversation
  • First 1,000 conversations/month: FREE
  • Pricing varies by country

Quality Rating ​

Meta monitors your messaging quality:

  • Green: Good quality, high limits
  • Yellow: Warning, limits may decrease
  • Red: Low quality, sending restricted

Maintain quality by:

  • Only messaging opted-in contacts
  • Using relevant, valuable content
  • Responding quickly to replies
  • Avoiding spam-like behavior

Multi-Number Setup ​

If you have multiple WhatsApp numbers (Sales, Support):

  1. Settings → WhatsApp → Add Configuration
  2. Enter credentials for the second number
  3. Name it (e.g., "Sales WhatsApp", "Support WhatsApp")
  4. When sending, select which number to use

Troubleshooting ​

"Access Token Invalid" ​

  • Token may have expired → Regenerate in Meta Business Manager
  • Token permissions insufficient → Add whatsapp_business_messaging
  • System user deactivated → Reactivate in Business Settings

"Phone Number Not Registered" ​

  • Number not verified with WhatsApp Business API
  • Number is still on personal WhatsApp → Deregister first
  • Number registered under a different WABA

"Template Not Found" ​

  • Template not yet approved by Meta → Check status in WhatsApp Manager
  • Template name mismatch → Use exact lowercase name with underscores
  • Template in wrong language → Match the language code

"Webhook Not Receiving Messages" ​

  • Callback URL not accessible from internet
  • Verify token mismatch between Meta and ZenTraq
  • SSL certificate issue on your server
  • Webhook subscription fields not checked (messages must be checked)

Tips ​

  • Use permanent tokens — Temporary tokens expire in 24 hours
  • Test with your own number first — Before messaging customers
  • Start with Utility templates — Higher approval rate than Marketing
  • Keep templates short — Under 1024 characters
  • Include opt-out — "Reply STOP to unsubscribe" in marketing messages
  • Monitor quality rating — Check weekly in Meta dashboard
  • Respond to replies — Don't just broadcast, have conversations

ZenTraq CRM — Built for every industry.