Listen in sandbox
Runhookmyapp sandbox listen to tell HookMyApp where to send sandbox Instagram DMs while you test.
If you are using the starter kit, it serves per-channel routes.Use
--path to choose the Instagram route in your local receiver:
hookmyapp sandbox status.
Listen to account locally
Runhookmyapp channels listen <channel> to tell HookMyApp to send DMs from your connected Instagram account to your computer or server while the command is running.
Use this to test with your real Instagram account before you deploy.Use
--path to choose the Instagram route in your local receiver:
Deployed webhook URL
When your receiver is deployed, set its public URL withhookmyapp channels webhook set.
HookMyApp sends new Instagram DMs to that URL.
Verify delivery end-to-end
- Check the current webhook URL.
hookmyapp channels webhook show <channel>prints the URL and its verified status. If the status is notverified, your server failed the verification request. - Check channel health.
hookmyapp channels health <channel>shows webhook state and channel health. Anything nothealthymeans Meta cannot deliver. - Send yourself a test DM. From another account, message your Instagram account. 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/instagram.
Add the verification route that echoes the verify 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 is unhealthy, delivery is blocked at Meta. - 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 DMs on your laptop.
Next steps
- Receive webhooks: Re-check the verify-and-acknowledge contract.
- Send text: Send a reply after your webhook receives a DM.