WhatsApp Business Setup — Detailed Guide
Prerequisites
Before connecting WhatsApp to ZenTraq, you need:
- Meta Business Manager Account — business.facebook.com
- WhatsApp Business Account (WABA) — Created in Meta Business Manager
- Verified Business — Meta must verify your business identity
- Phone Number — A number registered with WhatsApp Business API (not personal WhatsApp)
- Payment Method — Credit card on Meta for message charges
Step-by-Step Setup
Step 1: Create Meta Business Account
- Go to business.facebook.com
- Create a Business Manager account (or use existing)
- Complete business verification (takes 1-3 business days)
- Upload business documents if requested
Step 2: Set Up WhatsApp Business Account
- In Meta Business Manager → All Tools → WhatsApp Manager
- Click Get Started or Add WhatsApp Account
- Add a phone number (must not be on personal WhatsApp)
- Verify the number via SMS or Voice call
- Note down your Phone Number ID and WABA ID
Step 3: Generate Access Token
- Go to developers.facebook.com
- Create an App (Business type)
- Add WhatsApp product to your app
- Go to WhatsApp → API Setup
- Generate a Permanent Access Token:
- Under "System Users" in Business Settings
- Create a system user with "Admin" role
- Generate token with
whatsapp_business_messagingpermission
- Copy this token (you'll need it for ZenTraq)
Step 4: Configure in ZenTraq
- Go to Settings → WhatsApp Configuration
- 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")
- Click Save & Test Connection
- If test succeeds ✅ → proceed to webhook setup
Step 5: Configure Webhook (for receiving messages)
- In Meta's App Dashboard → WhatsApp → Configuration
- Click Edit on the Webhook section
- Enter:
- Callback URL:
https://api.zentraq.in/api/whatsapp/webhook(your API domain) - Verify Token: Same token you entered in ZenTraq (Step 4)
- Callback URL:
- Click Verify and Save
- Subscribe to these webhook fields:
- ✅
messages - ✅
message_delivery_updates(delivery receipts) - ✅
message_reads(read receipts)
- ✅
Step 6: Create Message Templates
- In Meta Business Manager → WhatsApp Manager → Message Templates
- Click Create Template
- 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
- Name: e.g.,
- Submit for review (approved within 24-48 hours)
Step 7: Add Templates to ZenTraq
- Settings → WhatsApp → Templates
- Click Sync Templates to pull from Meta
- Or manually add: Name, Body, Variables
- Templates appear in the chat when sending
Webhook URL Configuration
Your webhook URL depends on your deployment:
| Setup | Webhook URL |
|---|---|
| Direct API | https://your-api-domain.com/api/whatsapp/webhook |
| Via API Gateway | https://your-gateway.com/api/whatsapp/webhook |
| Local Testing | Use 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/ServiceAppointment 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}} = TimeInvoice 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 DateFollow-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/InterestMessaging 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):
- Settings → WhatsApp → Add Configuration
- Enter credentials for the second number
- Name it (e.g., "Sales WhatsApp", "Support WhatsApp")
- 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
