What you’ll build
By the end of this guide, Marcus will be able to send WhatsApp messages on behalf of your company, with:- A Meta-approved number (not your personal one)
- Meta’s 24-hour messaging window respected automatically
- Reply tracking arriving in the chat
- A complete audit trail for every message
Prerequisites
Twilio account
Pay-as-you-go is enough. twilio.com
A new phone number
Preferably NOT a personal or team number. Use a number dedicated to the
company.
Company documents
Company registration (CNPJ), legal name, and address. Meta verifies these
before approving.
Verified domain (recommended)
Speeds up Meta approval. Not required, but helps avoid rejection.
Step 1: Create a Twilio account
Go to twilio.com and sign up. The standard process includes email and phone verification — nothing unusual here.New account vs. sub-account. If you’re already running other things on
Twilio (OTP SMS, voice flows), consider creating a dedicated sub-account
for Apollo Space. Billing isolation and permissions stay cleaner that way.
Step 2: Get your WhatsApp number approved
In the Twilio dashboard: Develop → Messaging → Senders → WhatsApp senders → Get started. Twilio walks you through a wizard:- Confirm company details (CNPJ, legal name, address)
- Register the number (ideally a new, dedicated number)
- Submit for Meta approval
- Wait
Step 3: Create a Messaging Service
Still in Twilio: Develop → Messaging → Services → Create new.| Field | Suggested value |
|---|---|
| Friendly name | ”Apollo Space Outbound” (or something identifiable) |
| Use case | Notifications / Marketing / Mixed (whichever fits) |
| Sender pool | Add the approved number from Step 2 |
| Inbound webhook | Leave blank — Apollo Space fills this in when you connect |
| Status callback | Same — Apollo Space fills it in |
MGxxxx...). You’ll paste
it into Apollo Space in Step 5.
Step 4: Get your Account SID and Auth Token
In the Twilio dashboard, go to Account Dashboard → Account Info:Step 5: Connect to Apollo Space
In Apollo Space: Settings → Integrations → WhatsApp → Connect Twilio. Paste the three values:| Field | Where to find it |
|---|---|
| Account SID | Step 4 (starts with AC) |
| Auth Token | Step 4 (click to reveal) |
| Messaging Service SID | Step 3 (starts with MG) |
- Validates the credentials against the Twilio API
- Updates the inbound webhook and status callback on the Messaging Service to point at Apollo Space (you don’t need to do this manually)
- Marks the integration as active
Step 6: Send a test message
In Settings → Integrations → WhatsApp → Send test message:- Enter your own WhatsApp number as the recipient
- Choose a Meta-approved template (or free-form text if you’ve recently exchanged messages with this number)
- Click Send
Troubleshooting — common errors
| Error | Likely cause | How to fix |
|---|---|---|
| ”Number not approved” | Meta hasn’t approved yet, or approval expired | Go to Twilio → check sender status. Re-submit if needed |
| ”Authentication failed” | Wrong Auth Token or token was rotated | Check the Twilio dashboard; paste it again in Apollo Space |
| ”Messaging Service not found” | Wrong SID or service was deleted | Confirm the MGxxx... value in the Twilio dashboard |
| ”Out of window — template required” | Tried free-form text outside the 24-hour window | Use an approved template, or wait for a reply from the recipient to open the window |
| ”Number not in sender pool” | The number isn’t in the Messaging Service pool | Add the number to the pool in the Twilio dashboard |
| System | Where to look |
|---|---|
| Apollo Space | Settings → Integrations → WhatsApp → Send history |
| Twilio | Develop → Messaging → Logs (shows Meta’s response line by line) |
| Meta Business | business.facebook.com → Quality Rating (number health over time) |
Production tips
Before operating at real scale, it’s worth reviewing these:Credential rotation
Credential rotation
Rotate the Twilio Auth Token:
- Always when someone with access leaves the team
- Periodically (every 6 months is a reasonable cadence) for hygiene
- Immediately if there’s any suspicion of a leak
Quality Rating in Meta Business
Quality Rating in Meta Business
Meta assigns a Quality Rating to your number (green / yellow / red). If
it drops to red:
- You lose the right to initiate marketing conversations
- You may receive a temporary number suspension
- In extreme cases, a permanent ban
Multiple numbers (scaling)
Multiple numbers (scaling)
As volume grows, consider adding multiple numbers to the same Messaging
Service. Twilio automatically distributes load and isolates the impact if
one number is penalized.Cost: each approved number carries a monthly Twilio hosting fee, regardless
of volume.
Approved templates
Approved templates
Create templates in your Twilio account, not in Apollo Space. Why:
- Twilio submits them to Meta and manages the approval cycle
- Templates are available to any tool using the same Messaging Service (not just Apollo Space)
- Apollo Space reads your approved templates automatically
Disconnect
In Settings → Integrations → WhatsApp → Disconnect:- Apollo Space removes the credentials from storage
- Apollo Space reverts the webhooks in Twilio (you’ll need to point them at another endpoint afterward — Twilio does not allow an empty webhook)
- Active campaigns using WhatsApp pause until you reconnect
Next steps
Marcus in action
How the outbound agent operates the channel you just connected.
Outbound — feature
Campaign types, cadence, and metrics.
Costs
How WhatsApp usage factors into your org’s billing.