Listen in sandbox
Runhookmyapp 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:
hookmyapp sandbox status.
Listen to number locally
Runhookmyapp 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:
Deployed webhook URL
When your receiver is deployed, set its public URL withhookmyapp channels webhook set.
HookMyApp sends new WhatsApp messages to that URL.
Verify delivery end-to-end
- 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. - 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. - 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.
- If signature fails, refresh env. A signature-mismatch 401 means your local
WEBHOOK_HMAC_SECRETis stale. Re-runhookmyapp sandbox env --write .env(sandbox) orhookmyapp 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 echoesVERIFY_TOKEN. - Signature mismatch on POST: your
.envis 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.
Ifchannels disablewas run, HookMyApp stopped forwarding for that channel. Runchannels enableto resume. - Local listening stopped:
hookmyapp sandbox listenexited.
Re-run it. - Local listening changed: another webhook URL was set on the channel.
Re-runchannels listenif 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.