Connect WABA
Connect a production WABA via Meta embedded signup. What you need, what happens during the popup, and the duplicate-workspace rejection.
Prerequisites
- A HookMyApp account. Sign in with
hookmyapp login. - A Facebook Business Manager you control. Meta embedded signup runs through it.
- A phone number not already on the WhatsApp Business app. Meta rejects migrations from the consumer WhatsApp Business app in the embedded-signup popup.
Run The Connect Command
Start the embedded-signup flow with the CLI.
The CLI opens a browser tab running Meta's embedded-signup flow. You sign into Facebook, pick a Business Manager, create or select a WhatsApp Business Account, pick a phone number, and verify it.
For the underlying mechanism see Meta's embedded-signup docs.
hookmyapp channels connectWhat You Get Back
WHATSAPP_WABA_ID: your WhatsApp Business Account ID. Also passed as the positional argument tohookmyapp env <waba-id>,hookmyapp webhook set <waba-id>, andhookmyapp health <waba-id>.WHATSAPP_ACCESS_TOKEN: a long-lived Meta access token, with about 60-day rotation. Pull withhookmyapp env <waba-id>orhookmyapp token <waba-id>.WHATSAPP_PHONE_NUMBER_ID: the ID Meta assigns to your verified phone. Used in the send URL.
The Duplicate-Workspace Rejection
A WABA can only live in one workspace.
If you try to connect a WABA that another workspace already owns, HookMyApp rejects the connection with: "This WhatsApp account is already connected to another workspace. Disconnect it there first to use it here." This prevents cross-workspace hijacks. Disconnect the account from its current workspace, then retry.
60-day Token Refresh
Access tokens refresh automatically in the background. You should never have to manually rotate. If a refresh ever fails, re-run hookmyapp channels connect to mint a new token.
If a token leaks, rotate it immediately through the Meta App Dashboard under WhatsApp then API Setup. hookmyapp env <waba-id> will reflect the new token on next call.
Next Steps
- Webhook Routing: Find and set your production webhook URL.
- Send Messages: Start sending with the credentials you just pulled.