Skip to main content

WhatsApp

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​

  1. Open Dashboard → Channel → Add.
  2. Choose WhatsApp; its default entry uses Business Cloud API webhook.
  3. Enter the App ID, Business Account ID, and Phone Number ID.
  4. Add the access token, webhook verify token, and app secret.
  5. Save the credentials; policy changes use the interactive CLI wizard, not this credential form.
  6. 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.

Do not treat WhatsApp as an unrestricted outbound target

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​

ProblemCheck
Webhook challenge failsPublic HTTPS route and webhook verify token
Events receive 401Meta app secret and X-Hub-Signature-256 routing
Inbound works but send failsAccess token, Phone Number ID, permissions, and eligibility
Sender is ignoredDM policy, pairing state, or allowlist
Reply is rejected laterUser-initiated response window and current Meta rules