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 connect

What You Get Back

  • WHATSAPP_WABA_ID: your WhatsApp Business Account ID. Also passed as the positional argument to hookmyapp env <waba-id>, hookmyapp webhook set <waba-id>, and hookmyapp health <waba-id>.
  • WHATSAPP_ACCESS_TOKEN: a long-lived Meta access token, with about 60-day rotation. Pull with hookmyapp env <waba-id> or hookmyapp 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