When to use
Use this skill to stand up and maintain the WhatsApp sender infrastructure:
linking a Meta WhatsApp Business Account (WABA) through Twilio's self-sign-up,
registering a phone number as a WhatsApp sender, setting the display name and
completing business verification, and monitoring quality rating and messaging
tier limits. Use the sandbox to prototype before a real sender exists.
Not for: actually sending messages, templates, or handling the 24h window
(use twilio-whatsapp-send-message), or non-WhatsApp channel setup. For general
send routing see twilio-send-message.
Method
- Decision point — sandbox vs production. For prototyping, use the shared
sandbox sender
whatsapp:+14155238886; recipients join with the sandbox
keyword. No WABA required, but no custom display name and limited features.
- For production, create/link a Meta WABA. Twilio's embedded self-sign-up
(Tech Provider flow) connects your Meta Business, WABA, and phone number in
one flow, or you register programmatically via the Senders API.
- Register the phone number as a WhatsApp sender. The number must not already be
active on the WhatsApp app; you supply it and verify ownership (SMS/voice
OTP) during registration.
- Set the display name and profile. Meta reviews the display name for policy
compliance; complete Meta Business Verification to lift limits and unlock
higher tiers.
- Decision point — messaging tier. New senders start at the 1K tier (1,000
unique business-initiated recipients per rolling 24h). Tiers scale to 10K,
100K, and unlimited as sustained quality and volume warrant.
- Monitor quality rating (Green/Yellow/Red). A sustained Red rating can flag
the number for downgrade or restriction; Green with volume advances the tier.
- Manage the sender lifecycle via the Senders API: create, fetch status
(
CREATING → ONLINE, or OFFLINE/error states), update profile, and
delete/deregister when decommissioning.
Example
# Create a WhatsApp sender (Senders API v2). Auth: AccountSid:AuthToken.
curl -X POST "https://messaging.twilio.com/v2/Channels/Senders" \
--data-urlencode "sender_id=whatsapp:+15558675310" \
--data-urlencode "profile[name]=Ada Robotics" \
--data-urlencode "webhook[callback_url]=https://example.com/wa/inbound" \
-u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"
# Fetch sender status
curl -X GET "https://messaging.twilio.com/v2/Channels/Senders/XExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"
Pitfalls
- A phone number already registered in the consumer WhatsApp app cannot be
onboarded until it is deleted from that app first.
- Skipping Meta Business Verification caps you at low tiers and restricts the
number of registered senders.
- Display names that read as generic, misleading, or trademark-infringing get
rejected by Meta review; align the name with the verified business.
- Quality rating is recipient-feedback driven (blocks/reports); high-friction
marketing can push a Green number to Red and trigger tier downgrade.
- Sender creation is asynchronous — status transitions through
CREATING; do
not attempt to send until it reaches ONLINE.
- Sandbox behavior (opt-in keyword, shared number, no custom name) does not
reflect production; validate flows again after real onboarding.
Output format
The Senders API returns a Sender resource: sid (XE...), sender_id
(whatsapp:+E164), status (CREATING/ONLINE/OFFLINE/error),
profile (name, about, address, logos), webhook, quality/tier metadata, and
timestamps. Status polling reflects onboarding progress and current tier.
Reference
- Senders API base:
https://messaging.twilio.com/v2/Channels/Senders
POST /v2/Channels/Senders — create/register a sender.
GET /v2/Channels/Senders/{Sid} — fetch status.
GET /v2/Channels/Senders — list senders.
POST /v2/Channels/Senders/{Sid} — update profile/webhook.
DELETE /v2/Channels/Senders/{Sid} — deregister.
- Auth: HTTP Basic (AccountSid:AuthToken or API Key).
- Sandbox sender:
whatsapp:+14155238886 (join keyword required per recipient).
- Messaging tiers (unique business-initiated recipients / rolling 24h): 1K →
10K → 100K → unlimited; advancement gated on quality rating and Meta Business
Verification.
- Quality rating states: Green (high), Yellow (medium), Red (low); sustained Red
risks flagged status and tier downgrade.
- Prerequisites: Meta Business Manager account, a WABA, a phone number not
active on the consumer WhatsApp app, and a reachable OTP method for
verification.
- Related send-time errors surfaced once live: 63007 (channel/sender not found)
indicates an unregistered or not-yet-ONLINE sender.
1---2name: twilio-whatsapp-manage-senders3description: Onboard and manage Twilio WhatsApp senders — WABA linkage, phone registration, display name, quality rating, and messaging-tier limits.4---56## When to use78Use this skill to stand up and maintain the WhatsApp sender infrastructure:9linking a Meta WhatsApp Business Account (WABA) through Twilio's self-sign-up,10registering a phone number as a WhatsApp sender, setting the display name and11completing business verification, and monitoring quality rating and messaging12tier limits. Use the sandbox to prototype before a real sender exists.1314**Not for:** actually sending messages, templates, or handling the 24h window15(use twilio-whatsapp-send-message), or non-WhatsApp channel setup. For general16send routing see twilio-send-message.1718## Method19201. Decision point — sandbox vs production. For prototyping, use the shared21 sandbox sender `whatsapp:+14155238886`; recipients join with the sandbox22 keyword. No WABA required, but no custom display name and limited features.232. For production, create/link a Meta WABA. Twilio's embedded self-sign-up24 (Tech Provider flow) connects your Meta Business, WABA, and phone number in25 one flow, or you register programmatically via the Senders API.263. Register the phone number as a WhatsApp sender. The number must not already be27 active on the WhatsApp app; you supply it and verify ownership (SMS/voice28 OTP) during registration.294. Set the display name and profile. Meta reviews the display name for policy30 compliance; complete Meta Business Verification to lift limits and unlock31 higher tiers.325. Decision point — messaging tier. New senders start at the 1K tier (1,00033 unique business-initiated recipients per rolling 24h). Tiers scale to 10K,34 100K, and unlimited as sustained quality and volume warrant.356. Monitor quality rating (Green/Yellow/Red). A sustained Red rating can flag36 the number for downgrade or restriction; Green with volume advances the tier.377. Manage the sender lifecycle via the Senders API: create, fetch status38 (`CREATING` → `ONLINE`, or `OFFLINE`/error states), update profile, and39 delete/deregister when decommissioning.4041## Example4243```bash44# Create a WhatsApp sender (Senders API v2). Auth: AccountSid:AuthToken.45curl -X POST "https://messaging.twilio.com/v2/Channels/Senders" \46 --data-urlencode "sender_id=whatsapp:+15558675310" \47 --data-urlencode "profile[name]=Ada Robotics" \48 --data-urlencode "webhook[callback_url]=https://example.com/wa/inbound" \49 -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"5051# Fetch sender status52curl -X GET "https://messaging.twilio.com/v2/Channels/Senders/XExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \53 -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"54```5556## Pitfalls5758- A phone number already registered in the consumer WhatsApp app cannot be59 onboarded until it is deleted from that app first.60- Skipping Meta Business Verification caps you at low tiers and restricts the61 number of registered senders.62- Display names that read as generic, misleading, or trademark-infringing get63 rejected by Meta review; align the name with the verified business.64- Quality rating is recipient-feedback driven (blocks/reports); high-friction65 marketing can push a Green number to Red and trigger tier downgrade.66- Sender creation is asynchronous — status transitions through `CREATING`; do67 not attempt to send until it reaches `ONLINE`.68- Sandbox behavior (opt-in keyword, shared number, no custom name) does not69 reflect production; validate flows again after real onboarding.7071## Output format7273The Senders API returns a Sender resource: `sid` (`XE...`), `sender_id`74(`whatsapp:+E164`), `status` (`CREATING`/`ONLINE`/`OFFLINE`/error),75`profile` (name, about, address, logos), `webhook`, quality/tier metadata, and76timestamps. Status polling reflects onboarding progress and current tier.7778## Reference7980- Senders API base: `https://messaging.twilio.com/v2/Channels/Senders`81 - `POST /v2/Channels/Senders` — create/register a sender.82 - `GET /v2/Channels/Senders/{Sid}` — fetch status.83 - `GET /v2/Channels/Senders` — list senders.84 - `POST /v2/Channels/Senders/{Sid}` — update profile/webhook.85 - `DELETE /v2/Channels/Senders/{Sid}` — deregister.86- Auth: HTTP Basic (AccountSid:AuthToken or API Key).87- Sandbox sender: `whatsapp:+14155238886` (join keyword required per recipient).88- Messaging tiers (unique business-initiated recipients / rolling 24h): 1K →89 10K → 100K → unlimited; advancement gated on quality rating and Meta Business90 Verification.91- Quality rating states: Green (high), Yellow (medium), Red (low); sustained Red92 risks flagged status and tier downgrade.93- Prerequisites: Meta Business Manager account, a WABA, a phone number not94 active on the consumer WhatsApp app, and a reachable OTP method for95 verification.96- Related send-time errors surfaced once live: 63007 (channel/sender not found)97 indicates an unregistered or not-yet-ONLINE sender.