Skip to main content

Listen in sandbox

Run hookmyapp sandbox listen to tell HookMyApp where to send sandbox WhatsApp messages while you test. If you are using the starter kit, it serves per-channel routes.
Use --path to choose the route in your local receiver:
View the current sandbox session with hookmyapp sandbox status.

Listen to number locally

Run hookmyapp channels listen <channel> to tell HookMyApp to send messages from your connected WhatsApp number to your computer or server while the command is running. Use this to test with your real WhatsApp number before you deploy.
Use --path to choose the route in your local receiver:
If you set a webhook URL while local listening is running, local listening stops. Use one message destination per channel.

Deployed webhook URL

When your receiver is deployed, set its public URL with hookmyapp channels webhook set. HookMyApp sends new WhatsApp messages to that URL.

Verify delivery end-to-end

  1. Check the current webhook URL. hookmyapp channels webhook show <channel> prints the webhook URL and verify token. Confirm the URL is the receiver you deployed.
  2. Check channel health. hookmyapp channels health <channel> shows whether the channel is connected to Meta, whether forwarding is on, the WhatsApp quality rating, and recent delivery failures to your webhook.
  3. Send yourself a test message. From another WhatsApp account, message your WhatsApp number. Watch your server logs for the inbound POST and a 200 response.
  4. If signature fails, refresh env. A signature-mismatch 401 means your local WEBHOOK_HMAC_SECRET is stale. Re-run hookmyapp sandbox env --write .env (sandbox) or hookmyapp channels env <channel> (your own channel) and restart your server.

When things break

  • Webhook verify GET returns 404: your server is not handling GET /webhook/whatsapp.
    Add the verification route that echoes VERIFY_TOKEN.
  • Signature mismatch on POST: your .env is stale.
    Re-pull env values and restart.
  • No delivery at all: run hookmyapp channels health <channel>.
    If it shows the channel is not connected to Meta, fix the connection first.
    If channels disable was run, HookMyApp stopped forwarding for that channel. Run channels enable to resume.
  • Local listening stopped: hookmyapp sandbox listen exited.
    Re-run it.
  • Local listening changed: another webhook URL was set on the channel.
    Re-run channels listen if you still want messages on your laptop.

Next steps

  • Receive webhooks: Re-check the verify-and-acknowledge contract.
  • Send text: Send a reply after your webhook receives a message.