WhatsApp Integration Guide
Meta Cloud API onboarding, template approval, webhooks, and media handling.
25 min read Updated 2026-07-18
WhatsApp Integration Guide
SwiftChat uses the official Meta WhatsApp Cloud API. This guide walks through onboarding and everyday operations.
Prerequisites
- A verified Meta Business account
- A WhatsApp Business Account (WABA)
- A phone number that is NOT already used on any WhatsApp app
- A System User with
whatsapp_business_messagingandwhatsapp_business_managementscopes
1. Create a WABA
- Go to Meta Business Suite → WhatsApp Accounts → Create
- Add your phone number and complete OTP verification
- Note the WABA ID and Phone Number ID
2. Generate a System User token
- Business Settings → System Users → Add
- Grant asset access to your WABA
- Generate a permanent access token — copy it once, it's not shown again
3. Connect to SwiftChat
- Settings → WhatsApp → Add Number
- Paste WABA ID, Phone Number ID, and the System User token
- Click Test connection — SwiftChat pulls your templates and phone numbers
4. Configure the webhook
SwiftChat auto-registers its webhook, but if you use a custom domain:
- Callback URL:
https://<your-domain>/api/public/whatsapp/webhook - Verify token: copied from the connection screen
- Subscribe to:
messages,message_status,message_template_status_update,account_update
5. Message templates (HSM)
- Templates → Create — write the copy, add variables, pick a category
- Submit for approval — Meta reviews in minutes to 24 hours
- Approved templates appear instantly in the composer
Media
- Inbound media is downloaded, virus-scanned, and stored in encrypted storage
- Outbound media is uploaded to Meta's media API and cached for reuse
- Max sizes follow Meta's limits: 16 MB video, 5 MB image, 100 MB doc
Rate limits
SwiftChat enforces Meta's tier automatically (1K → 10K → 100K → unlimited). Watch the tier under Monitoring Center → WhatsApp Provider Health.