Skip to main content
Version: Latest

What are Webhooks

Webhooks are how Hub Chatt2.me notifies you about events in real time. Without a configured webhook, you can only send messages — but not receive your users' replies or know whether messages were delivered.

How it works

User sends a message on WhatsApp


Hub Chatt2.me receives and processes


Hub makes a POST to your endpoint
{ event type, content, metadata }


Your server responds with 200 OK

The Hub sends a POST request to the URL you register. Your server must respond with HTTP 200 to confirm receipt. If the response is not 200, the Hub records the error in the webhook log.

Event types

eventTypeWhen it fires
MessageA message was received from a user on your channel
MessageStatusThe delivery status of a message you sent has changed

Message event

Fired when a user sends any type of message to one of your channels: text, image, audio, location, interactive button reply, etc.

MessageStatus event

Fired when the delivery status of a message you sent changes — for example: sent → delivered → read (when available in the channel).

Why configure it now?

If you are building a chatbot, customer service system, or any flow that reacts to user messages, the webhook is required. Without it:

  • You don't know when the user replied
  • You cannot identify the to (chat_id, PSID, IGSID) to respond
  • You cannot implement conversational flows
  • You don't know if your messages were delivered

Your endpoint requirements

  • Must be accessible via HTTPS at a public URL
  • Must respond with HTTP 200 within a reasonable time
  • Must accept POST requests with a JSON body
  • Does not need special authentication by default (but you can add custom headers)
  • Must pass endpoint verification when you create or change the webhook so Hub can set isVerified — see Endpoint verification
  • If Require signature is enabled, validate X-hub-Signature using your signing secret — see Verifying webhook signatures
Testing locally?

To test webhooks during local development, use tools like ngrok, localtunnel, or Cloudflare Tunnel to expose your local server via HTTPS.

Next steps