Connect WhatsApp (Meta or Twilio) for campaigns
Step-by-step guide to connect your WhatsApp number via Meta Cloud API or Twilio and send campaigns and handle conversations from Xtarly.
Xtarly WhatsApp campaigns use your own WhatsApp Business number. You can connect it in two ways:
- Meta Cloud API — direct with Meta. Recommended if you want your own brand and the lowest cost per message.
- Twilio — if you already use Twilio or prefer its console.
Pick one of the two. Everything is configured in WhatsApp Campaigns → Connection tab.
Prerequisite: WhatsApp must be available on your plan. It's included in Branded and Premium, and available as an add-on (+$19/mo) on Shared. If it's not active, the panel will show a button to activate it.
Option A — Meta Cloud API (recommended)
What you'll need
- A Meta for Developers account.
- A phone number for your WhatsApp Business (one that is not already registered in the regular WhatsApp app).
Step by step
Create an app in Meta for Developers
Go to developers.facebook.com → My Apps → Create App → type Business.
Add the WhatsApp product
Inside your app, add the WhatsApp product. In WhatsApp → API Setup you'll see two values to copy:
- Phone Number ID — your number's identifier.
- WhatsApp Business Account ID (WABA ID) — the business account.
There you also register and verify your business phone number.
Generate a permanent token (System User Access Token)
The token Meta shows in "API Setup" is temporary (lasts 24h). For production you need a permanent one:
- Go to Business Settings → Users → System Users.
- Create a System User (Admin role).
- Generate a token with the
whatsapp_business_messagingandwhatsapp_business_managementpermissions. - Copy that token (starts with
EAAB...).
Connect it in Xtarly
In WhatsApp Campaigns → Connection, choose the Meta provider and fill in:
- System User Access Token — the
EAAB...token. - Phone Number ID — from Step 2.
- WhatsApp Business Account ID — from Step 2.
Click Connect.
Set up the webhook (recommended)
The webhook lets you receive delivery statuses and inbound messages (for the conversations Inbox).
- In Xtarly (same tab) make up a text for the Webhook Verify Token (any string, e.g.
xtarly-my-business-2026) and enter it in that field. - From Meta → App Settings → Basic, copy the App Secret and paste it into Xtarly's App Secret field. Save.
- In Xtarly, copy the webhook URL shown (ends in
/api/webhooks/whatsapp/meta/...). - In Meta → WhatsApp → Configuration → Webhooks, paste that URL, paste the same Verify Token from point 1, and subscribe to the
messagesfield.
Test the connection
Click Test connection. Xtarly queries Meta and shows your number's quality (green/yellow/red) and your messaging tier. If it's green, you can send.
Option B — Twilio
What you'll need
- A Twilio account.
- A WhatsApp sender: Twilio's Sandbox for testing, or an approved WhatsApp number for production.
Step by step
Copy your Twilio credentials
In the Twilio console home page, copy:
- Account SID — starts with
AC.... - Auth Token — the authentication token.
Identify your sender number
Note your WhatsApp number in international format, with the country code. For example: +5213321017080. (Twilio's Sandbox number works for testing.)
Connect it in Xtarly
In WhatsApp Campaigns → Connection, choose the Twilio provider and fill in:
- Account SID — the
AC.... - Auth Token — your token.
- WhatsApp number — just the number, e.g.
+5213321017080(from Step 2).
Click Connect.
Set up the webhook
In Xtarly copy the webhook URL (ends in /api/webhooks/whatsapp/twilio/...) and paste it into the messaging configuration of your WhatsApp sender in Twilio. Twilio verifies the signature automatically with your Auth Token, so there's no extra secret to paste.
Test the connection
Click Test connection in Xtarly to confirm the credentials work.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Token stops working after 24h | You used the temporary "API Setup" token | Generate a permanent System User Access Token (Meta, Option A · Step 3). |
| "Number not registered" | The number didn't finish registration in Meta | Finish the number registration/verification in WhatsApp → API Setup. |
| Quality is yellow or red | Too many user blocks/reports | Send only to people who opted in, with useful templates; quality recovers over time. |
| Can't send campaigns | Templates aren't approved | Create templates in the Templates tab and wait for Meta's approval. |