WhatsApp Business (Meta Cloud API)
Connect your WhatsApp Business account to Expedify to send and receive messages, automate conversations, and engage customers on their preferred messaging platform.
What is WhatsApp Business API?
The WhatsApp Business API (Cloud API) from Meta allows businesses to:
- Send automated messages to customers
- Receive and reply to customer messages
- Send message templates for notifications and marketing
- Share media files (images, documents, videos)
- Provide 24/7 customer support through automation
Why Use This Integration?
- Official Meta Integration: Direct integration with Meta's Cloud API - no third-party middleware
- High Deliverability: Messages sent through official WhatsApp Business API have high open rates
- Rich Media Support: Send images, documents, videos, and audio files
- Approved Templates: Use pre-approved message templates for proactive outreach
- Two-Way Conversations: Receive and respond to customer messages automatically
- Workflow Integration: Trigger workflows from incoming messages and send messages as workflow actions
Setup Methods
Expedify offers two ways to connect your WhatsApp Business account:
| Method | Best For | Difficulty | Time Required |
|---|---|---|---|
| Quick Setup with Facebook | New users, quick setup, existing WhatsApp Business app users | ⭐ Easy | 2-3 minutes |
| Manual Configuration | Advanced users, custom setups, technical teams | ⭐⭐⭐ Advanced | 5-10 minutes |
Method 1: Quick Setup with Facebook (Recommended)
Perfect for: Most users, especially those new to WhatsApp Business API
This method uses Facebook's embedded signup to automatically configure everything for you in just a few clicks.
Prerequisites
- A Facebook account with admin access to your business
- Your business verified on Meta (or ready to verify)
- A phone number for WhatsApp Business (can get one during setup)
Setup Steps
Step 1: Open WhatsApp Business Integration
- In Expedify, go to Settings → Integrations
- Find WhatsApp Business under Messaging category
- Click Configure
Step 2: Click "Connect with Facebook"
- In the integration modal, you'll see a blue "Connect with Facebook" button
- Click this button to start the embedded signup process
Step 3: Complete Facebook Authentication
A Facebook popup will open. Follow these steps:
- Log in to Facebook (if not already logged in)
- Select your Facebook Business or create a new one
- Choose phone number:
- Use existing phone number
- OR get a new phone number from Meta
- Grant permissions when asked
- Complete verification (if required for new businesses)
Step 4: Automatic Configuration
Once you complete the Facebook signup:
- ✅ Access token automatically generated
- ✅ Phone number ID automatically configured
- ✅ Business account ID automatically set
- ✅ Webhook automatically subscribed
- ✅ Integration ready to use!
You'll see a "Setup Complete!" message when done.
Special Case: Existing WhatsApp Business Users (Coexistence)
If you're already using WhatsApp Business app on your phone, Expedify will detect this and offer Coexistence mode:
What is Coexistence?
- Keep your WhatsApp Business app on your phone
- Use Expedify API at the same time
- Your message history is automatically synced
- No data loss or interruption
How it works:
- Click "Connect with Facebook" as usual
- Expedify detects your existing WhatsApp Business account
- You'll see: "Existing WhatsApp Business Detected"
- Choose "Continue with Existing Account"
- Keep your WhatsApp Business app open during synchronization
- Message history imports automatically (may take several minutes)
- You have 24 hours to complete synchronization
Important for Coexistence:
- 📱 Keep WhatsApp Business app open during setup
- ⏱️ Synchronization must complete within 24 hours
- 💬 Message history and contacts sync automatically
- ✅ No downtime - app keeps working during migration
Method 2: Manual Configuration (Advanced)
Perfect for: Technical teams, users who prefer manual control, existing Meta Business Account holders
This method requires you to manually obtain credentials from Meta Business Suite and enter them in Expedify.
Prerequisites
Before starting, you need:
- Meta Business Account: A verified business account on Meta
- WhatsApp Business App: Created in your Meta Business account
- Phone Number: A business phone number registered with WhatsApp Business
- API Access: Access to WhatsApp Business API (free tier available)
Step 1: Create Meta Business Account
- Go to Meta Business Suite
- Click Create Account and follow the prompts
- Enter your business details and verify your business
- Complete the account setup process
Step 2: Create WhatsApp Business App
- In Meta Business Suite, go to Business Settings
- Click Accounts → WhatsApp Business Accounts
- Click Add to create a new WhatsApp Business account
- Follow the setup wizard to:
- Choose your phone number (or get a new one)
- Verify your business information
- Accept WhatsApp Business terms
Step 3: Get Your API Credentials
You need to collect several pieces of information from Meta:
a) Phone Number ID
- In Meta Business Suite, go to WhatsApp → API Setup
- Under Phone Numbers, copy the Phone Number ID (looks like:
123456789012345)
b) Access Token (Permanent)
- In Meta Business Suite, go to Business Settings → System Users
- Click Add to create a new System User
- Name it (e.g., "Expedify API Access")
- Assign Admin role
- Click Add Assets → WhatsApp Accounts
- Select your WhatsApp Business Account and grant Full Control
- Click Generate New Token
- Select your app and choose permissions:
whatsapp_business_managementwhatsapp_business_messaging
- Copy the token immediately (you won't see it again!)
Important: Use a permanent System User token, NOT the temporary token from API Setup page.
c) Business Account ID (WABA ID)
- In Business Settings, go to WhatsApp Business Accounts
- Click on your WhatsApp Business account
- Copy the WhatsApp Business Account ID from the URL
- URL format:
https://business.facebook.com/wa/manage/phone-numbers/?waba_id=123456789012345 - The
waba_idis your Business Account ID
- URL format:
d) Meta Business Account ID
- In Business Settings, click on your business name at the top
- Copy the Business ID from the URL or account info
- URL format:
https://business.facebook.com/settings/accounts/987654321098765
- URL format:
Step 4: Add Integration in Expedify
- In Expedify, go to Settings → Integrations
- Find WhatsApp Business under Messaging category
- Click Configure
- Scroll down past the "Connect with Facebook" section
- You'll see: "Or enter your credentials manually below if you prefer."
- Fill in the manual configuration fields:
| Field | Description | Where to Find | Example |
|---|---|---|---|
| Integration Name | A name to identify this integration | Your choice | "My WhatsApp Business" |
| Access Token | Your permanent System User access token | Business Settings → System Users | EAAa1b2c3... (long string) |
| Phone Number ID | Your WhatsApp phone number ID | WhatsApp → API Setup | 123456789012345 |
| Business Account ID (WABA ID) | WhatsApp Business Account ID | WhatsApp Business Accounts URL | 987654321098765 |
| Meta Business Account ID | Meta Business Account ID | Business Settings URL | 456789012345678 |
| Webhook Verify Token | A custom secret token (create your own) | Your choice - any secure random string | my_secure_token_123 |
- Click Save
Step 5: Configure Webhook in Meta
After saving your integration, Expedify will show you a Webhook URL. You need to add this to Meta:
- Copy the Webhook URL from Expedify
- In Meta Business Suite, go to WhatsApp → Configuration
- Click Edit on Webhooks
- Enter:
- Callback URL: Paste the Expedify webhook URL
- Verify Token: The same token you entered in Expedify
- Click Verify and Save
- Subscribe to webhook fields:
messages(required)message_status(optional, for delivery updates)
Step 6: Sync Message Templates
- In Expedify, go back to your WhatsApp Business integration
- Click Sync Templates button
- This will import all your approved message templates from WhatsApp Business
What You Can Do
1. Send Template Messages
Use approved message templates for:
- Order notifications: "Your order #12345 has shipped"
- Appointment reminders: "Reminder: Appointment tomorrow at 2 PM"
- Marketing messages: Promotional offers and announcements
- OTP/Verification: One-time passwords and verification codes
Template Format Example:
Hello {{1}},
Your order #{{2}} has been confirmed!
Expected delivery: {{3}}
Thank you for shopping with us.
Variables: {{1}} = Customer name, {{2}} = Order number, {{3}} = Delivery date
2. Receive and Reply to Messages
- Customers can message your WhatsApp Business number
- Messages are automatically stored in Expedify
- Trigger workflows based on incoming messages
- Send automated replies or route to human agents
3. Send Media Files
- Images: Product photos, receipts, invoices
- Documents: PDFs, order confirmations, contracts
- Videos: Product demos, tutorials
- Audio: Voice messages, audio clips
4. Two-Way Conversations
- 24-Hour Window: Free-form messaging within 24 hours of customer's last message
- Template Messages: Required for proactive outreach outside 24-hour window
- Session Management: Automatically tracks conversation windows
Use Cases
Customer Support Automation
Scenario: Automate common customer inquiries
- Customer messages: "What's my order status?"
- Workflow triggers automatically
- Look up order in your CRM/database
- Reply with order status and tracking link
Order Confirmation & Updates
Scenario: Send order confirmations automatically
- Customer places order on website
- Workflow triggers on new order
- Send WhatsApp template message with order details
- Send updates as order progresses (packed, shipped, delivered)
Appointment Reminders
Scenario: Reduce no-shows with automated reminders
- Appointment scheduled in CRM
- Workflow scheduled 24 hours before
- Send WhatsApp reminder with appointment details
- Customer can confirm or reschedule via reply
Lead Qualification
Scenario: Engage and qualify leads via WhatsApp
- Lead submits form on website
- Send WhatsApp welcome message
- Ask qualifying questions
- Route qualified leads to sales team
Integration Features
| Feature | Description | Availability |
|---|---|---|
| Send Template Messages | Send pre-approved message templates | ✅ Always available |
| Send Text Messages | Send plain text messages | ✅ Within 24-hour window |
| Send Media | Share images, documents, videos | ✅ Within 24-hour window |
| Receive Messages | Get incoming messages from customers | ✅ Always active |
| Webhook Events | Real-time notifications for new messages | ✅ Always active |
| Template Sync | Import templates from WhatsApp Business | ✅ One-click sync |
| Delivery Status | Track message delivery and read status | ✅ Optional webhook |
Message Templates
Creating Templates
Templates must be created and approved through Meta Business Suite:
- Go to WhatsApp Manager → Message Templates
- Click Create Template
- Choose template category:
- Marketing: Promotional messages (requires opt-in)
- Utility: Account updates, order notifications
- Authentication: OTP and verification codes
- Design your template:
- Add header (optional): Text, image, video, or document
- Add body text with variables: Use
{{1}},{{2}}for dynamic content - Add footer (optional): Additional context or unsubscribe info
- Add buttons (optional): Call-to-action or quick reply buttons
- Submit for review (approval usually takes a few hours)
Template Best Practices
✅ Do:
- Keep messages clear and concise
- Use variables for personalization
- Provide value to the customer
- Include opt-out option for marketing messages
- Test templates with sample data
❌ Don't:
- Send spam or unsolicited marketing
- Use misleading or clickbait content
- Include sensitive information in templates
- Exceed character limits (1024 characters for body)
Template Example Structure
Template Name: order_confirmation
Category: Utility
Content:
Header: Image (product image)
Body:
Hi {{1}},
Thank you for your order!
Order Number: {{2}}
Total: ${{3}}
Estimated Delivery: {{4}}
We'll notify you once your order ships.
Footer: Questions? Reply to this message
Variables:
{{1}}: Customer first name{{2}}: Order number{{3}}: Order total{{4}}: Delivery date
Using in Workflows
Send WhatsApp Message Node
- In Workflow Builder, add Send WhatsApp Message node
- Select your WhatsApp Business integration
- Configure:
- To: Recipient phone number (with country code)
- Message Type: Template or Text
- Template Name: Select from synced templates
- Template Variables: Map dynamic values
Example Configuration:
To: {{contact.phone}}
Message Type: Template
Template: order_confirmation
Variables:
- {{contact.first_name}}
- {{order.order_number}}
- {{order.total}}
- {{order.delivery_date}}
Trigger Workflow from Incoming Messages
- Create a workflow with WhatsApp Message Received trigger
- Configure conditions:
- Message contains specific keywords
- From specific contacts
- First message from new contact
- Add response actions (send reply, create task, update CRM, etc.)
Example: Auto-reply to "HELP" messages
Trigger: WhatsApp Message Received
Condition: Message text contains "help" (case-insensitive)
Action: Send WhatsApp reply with support information
Phone Number Format
WhatsApp requires phone numbers in international format:
✅ Correct Format:
919876543210(India)14155552671(USA)442071234567(UK)
❌ Incorrect Format:
+91 9876543210(no + or spaces)09876543210(no leading 0)(415) 555-2671(no special characters)
Expedify automatically formats numbers, but ensure your contact phone numbers include country codes.
24-Hour Messaging Window
WhatsApp enforces a 24-hour messaging window policy:
Within 24 Hours (Customer-Initiated)
- Free-form messages allowed: Send any text, media, or reply
- No template required: Respond naturally
- No approval needed: Send immediately
Outside 24 Hours (Business-Initiated)
- Only template messages allowed: Must use approved templates
- Requires template approval: Templates reviewed by Meta
- Subject to pricing: May incur charges based on conversation type
Best Practice: Encourage customers to message first to open the 24-hour window for natural conversation.
Pricing & Limits
Message Pricing (Meta WhatsApp Cloud API)
| Conversation Type | First 1,000/month | After 1,000 |
|---|---|---|
| Utility (Account updates, order notifications) | Free | ~$0.005-0.01 per message |
| Authentication (OTP, verification) | Free | ~$0.004-0.009 per message |
| Marketing (Promotional messages) | Free | ~$0.01-0.03 per message |
Note: Pricing varies by country. Check Meta's pricing page for exact rates.
Rate Limits
- Initial Tier: 1,000 conversations per day
- Tier Upgrades: Automatically increases as you maintain quality ratings
- Maximum Tier: 100,000+ conversations per day (after approval)
Troubleshooting
Messages Not Sending
Issue: Template messages fail to send
Solutions:
- Check template status: Ensure template is approved in Meta Business Suite
- Verify credentials: Confirm Access Token and Phone Number ID are correct
- 24-hour window: For non-template messages, check if within customer's 24-hour window
- Phone number format: Ensure number is in international format without + or spaces
- Sync templates: Click Sync Templates to refresh template list
Not Receiving Messages
Issue: Incoming messages don't appear in Expedify
Solutions:
- Check webhook configuration: Verify webhook URL is correctly configured in Meta
- Verify token matches: Webhook verify token must match in both Expedify and Meta
- Subscribe to events: Ensure
messagesfield is subscribed in Meta webhooks - Test webhook: Send a test message and check Meta's webhook logs
- Check integration status: Ensure integration is active in Expedify
Webhook Verification Failed
Issue: Meta can't verify the webhook URL
Solutions:
- Match verify tokens: Webhook verify token must be identical in Expedify and Meta
- Check URL format: Webhook URL must be HTTPS (not HTTP)
- Integration saved: Ensure you saved the integration before configuring webhook in Meta
- Copy exact URL: Copy the webhook URL exactly as shown in Expedify (no extra spaces)
Template Not Found
Issue: Template doesn't appear in workflow node dropdown
Solutions:
- Sync templates: Click Sync Templates button in integration settings
- Template approved: Check Meta Business Suite - template must be approved
- Wait for approval: Template approval usually takes a few hours
- Refresh page: Reload Expedify after syncing templates
Quality Rating Low
Issue: Meta flagged account for low quality rating
Solutions:
- Send valuable content: Only send messages that provide value to customers
- Get opt-in: Ensure customers have opted in for marketing messages
- Monitor blocks: High block rates hurt quality rating
- Respond promptly: Reply to customer messages within 24 hours
- Follow policies: Review WhatsApp Business Policy
Best Practices
Maintain Quality Rating
- ✅ Only message customers who have opted in
- ✅ Provide clear opt-out instructions
- ✅ Send timely, relevant messages
- ✅ Respond to customer messages quickly
- ✅ Use approved templates for proactive outreach
Template Approval Tips
- ✅ Be specific and clear in template content
- ✅ Avoid promotional language in utility templates
- ✅ Include sample data when submitting templates
- ✅ Follow Meta's template guidelines
- ✅ Use appropriate template category
Security & Compliance
- ✅ Store Access Token securely (never share publicly)
- ✅ Use permanent System User tokens (not temporary tokens)
- ✅ Rotate tokens periodically
- ✅ Monitor webhook activity for anomalies
- ✅ Comply with WhatsApp Business policies
Customer Experience
- ✅ Personalize messages with customer name
- ✅ Provide value in every message
- ✅ Keep messages concise and scannable
- ✅ Include clear call-to-action
- ✅ Respect customer's time and preferences
Getting Help
- Meta WhatsApp Documentation: developers.facebook.com/docs/whatsapp
- Template Guidelines: WhatsApp Template Guidelines
- API Reference: WhatsApp Cloud API Reference
- Support: Contact Meta Business Support through Business Suite
Next Steps
After setting up WhatsApp Business integration:
- Create message templates for common notifications
- Set up automated workflows for customer engagement
- Connect to CRM to sync contacts and conversations
- Test thoroughly with sample messages before going live
- Monitor quality rating to maintain account health
Need help? Contact Expedify support or check the WhatsApp integration guide for more details.