Browse guides

Subscribe WABA Webhook

How to subscribe to webhook fields on a WhatsApp Business Account so Meta starts delivering inbound messages to your endpoint.

On this page

Verifying your webhook URL is not enough on its own — you also have to tell Meta which events to send you. This is called subscribing to webhook fields. The most important field is messages, which delivers all inbound customer messages. Without subscribing, Meta stays silent even after verification passes.

Where to subscribe#

Meta Dashboard → Your App → WhatsApp → Configuration → scroll to Webhook Fields → find messages → click Subscribe. The toggle turns blue and shows Subscribed.

What the fields do#

FieldWhat it notifies you about
messagesAll inbound messages + delivery/read statuses
message_template_status_updateWhen a template is approved or rejected
message_template_quality_updateTemplate quality score changes
message_template_components_updateTemplate component changes

For a basic bot, you only need messages.

What happens after subscribing — full flow#

Code
Customer sends "Hi" from their phone
         ↓
Meta receives it on their servers
         ↓
Meta POST to your webhook URL
         ↓
Your server receives the JSON payload
         ↓
Terminal: [INBOUND] Text from 919959623255: Hi
         ↓
Your code sends an auto-reply
         ↓
Terminal: [AUTO-REPLY] Sent to 919959623255
         ↓
Customer's phone receives: "You said: Hi"

Reference images#

Webhook fields subscribed
The webhook fields list — the messages field toggled to Subscribed (blue).
Terminal inbound received
Terminal output showing the server receiving INBOUND messages and sending AUTO-REPLYs.
Phone auto-reply
WhatsApp on a phone showing the bot's auto-reply messages reaching the customer.

Frequently asked#

My webhook passed verification but I'm not receiving messages. Why?

You need to also subscribe to the messages webhook field. Verification just proves you own the URL — subscription tells Meta to actually send events to it.

Do I need to subscribe to all webhook fields?

No. For a basic bot that receives and replies to messages, only messages is required.

How do I know if my subscription is working?

Send a WhatsApp message to your test number from a registered test recipient. Your terminal should show [INBOUND] Text from .... If it doesn't, check that the messages field shows "Subscribed" in Meta Dashboard.

Gotchas & common mistakes#

Still stuck? Open a support ticket and our team will help.