Anyy's WhatsApp Channel uses Meta's official Business Cloud API. It receives direct messages through a signed webhook and sends replies with the configured business phone identity.
What You Need
- a Meta app with WhatsApp enabled;
- the App ID, WhatsApp Business Account ID, and Phone Number ID;
- an access token allowed to use the Cloud API;
- an owner-chosen webhook verify token;
- the Meta app secret; and
- a public HTTPS route to the Anyy Gateway.
Follow Meta's Cloud API documentation for current platform-side setup.
Connect in Dashboard
- Open Dashboard → Channel → Add.
- Choose WhatsApp; its default entry uses Business Cloud API webhook.
- Enter the App ID, Business Account ID, and Phone Number ID.
- Add the access token, webhook verify token, and app secret.
- Save the credentials; policy changes use the interactive CLI wizard, not this credential form.
- Save the account and complete the reported Meta prerequisites and permissions.
Enable the listener and HTTPS proxy in Messaging Platforms before registering the callback. The inbound callback path is:
/channels/whatsapp/ACCOUNT_ID/webhook
For the default account, ACCOUNT_ID is personal. Publish that path through HTTPS, then subscribe the Meta app to WhatsApp message events using the same verify token.
Access Policy
WhatsApp supports direct-message access with pairing, open, allowlist, or disabled; the default is pairing. Choose WhatsApp in the interactive anyy setup channel wizard to change policy. Current setup actions have no allowlist-entry editor; see the shared setup limits. This profile does not provide groups or native media admission.
Approve a pending sender only after verifying the phone identity:
anyy channel pairing list
anyy channel pairing approve --request REQUEST_ID
Platform Constraints
In v0.1.107, Anyy accepts and sends only to recipient identities matching its built-in EEA/Brazil country-code list. An open DM policy cannot bypass that implementation limit. Check Meta's current eligibility and regional rules separately; the fixed Anyy list is not a complete statement of current platform policy.
Free-form replies require the original user-initiated message context and the platform's permitted response window. The current route includes the inbound message ID, so successive messages from one contact do not necessarily share a single Anyy Session.
Anyy will not invent a recipient or bypass Meta's conversation rules. Start from an authorized inbound conversation and keep platform policy in mind when scheduling or retrying delivery.
Verify the Connection
anyy channel doctor whatsapp
anyy channel reload
Send a direct message to the business number, complete pairing, and confirm that Anyy can reply.
Troubleshooting
| Problem | Check |
|---|---|
| Webhook challenge fails | Public HTTPS route and webhook verify token |
| Events receive 401 | Meta app secret and X-Hub-Signature-256 routing |
| Inbound works but send fails | Access token, Phone Number ID, permissions, and eligibility |
| Sender is ignored | DM policy, pairing state, or allowlist |
| Reply is rejected later | User-initiated response window and current Meta rules |