WhatsApp Business
WhatsApp runs through Twilio as our Business Solution Provider (BSP). Each org gets a dedicated business number — your personal WhatsApp stays untouched. Setup is BSP-managed and takes 1–3 business days.
Why Twilio (not direct Cloud API)
The direct WhatsApp Cloud API requires a Meta Business Manager with a verified business and a sender number registered through Meta's own UI — a 4–6 week onboarding for first-time senders. Twilio's BSP shortcuts that to 1–3 days because Twilio is already a verified sender. We migrate to direct Cloud API once volume justifies the longer onboarding (50+ active senders).
Provisioning
- Choose your display name in /dashboard/settings → Integrări → WhatsApp. This is what your customers see (e.g. Neofir).
- Submit. The platform provisions a Twilio sender on your behalf and submits to Meta for display-name approval (1–3 days).
- When approved, the number goes live. Your customers can message it directly.
Webhook
Twilio sends inbound WhatsApp messages to POST /v1/webhooks/whatsapp-twilio with a Twilio-signed body. The route verifies the signature, looks up the org by recipient phone, and dispatches into processInboundMessage().
Sending
Outbound is the Twilio Messages API with the org's WhatsApp sender as From. The conversation pipeline is identical to other channels — the wire format is the only difference.
Reply window & templates
WhatsApp's policy gives you 24 hours after the user's last message to send a free-form reply. Outside that window, you must use a pre-approved Message Template.
Required env vars
| Variable | Purpose |
|---|---|
TWILIO_ACCOUNT_SID | Twilio API auth. |
TWILIO_AUTH_TOKEN | Twilio API auth + webhook signature verification. |
TWILIO_WHATSAPP_SENDER | Default sender (per-org overrides stored in DB). |
Costs
Twilio charges per conversation session (24-hour window per user per sender). Pricing varies by destination country. Estimate ~$0.005–0.05 per conversation for Romania-anchored numbers; see Twilio's pricing for your region.
Display name
The user sees the display name (e.g. Neofir) only after Meta approves it (typically 1–3 days). Before approval, they see the raw phone number. Display name changes go through the same approval cycle.
Bringing your own number
Meta forbids running the WhatsApp app and the API on the same number simultaneously. If you bring an existing number, you lose the consumer app on that handset. We recommend a separate business line.