Docs/
Integrations

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_messaging and whatsapp_business_management scopes

1. Create a WABA

  • Go to Meta Business Suite → WhatsApp AccountsCreate
  • 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 UsersAdd
  • 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.