How to create a WhatsApp Web hook

Published on May 30, 2026

How to Create a WhatsApp Web Hook: Step-by-Step Guide 2026 (Full Tutorial)


Introduction: What is a WhatsApp Web Hook?

Agar aap ek developer ya business owner hain aur chahte hain ki WhatsApp messages automatically aapke server par receive ho, toh WhatsApp Web Hook aapke liye game-changer hai।

WhatsApp Web Hook ek HTTP callback hai jo Meta (Facebook) ke WhatsApp Cloud API ke through real-time mein events (jaise nayi message aana, message deliver hona, read hona) aapke server par bhejta hai। Iska use karke aap:

  • Auto-reply chatbot bana sakte hain
  • Customer support automate kar sakte hain
  • Order updates automatically send kar sakte hain
  • Messages ko database mein save kar sakte hain

Is blog mein, main aapko step-by-step sikhaunga ki how to create a WhatsApp Web hook officially Meta Cloud API ke through, bina kisi third-party paid service ke।


Prerequisites: Setup Se Pehle Kya Chahiye?

Webhook setup karne se pehle ye cheezein ready rakhein:

RequirementDescription
Meta Developer Accountdevelopers.facebook.com par free account
WhatsApp Business AccountMeta Cloud API ke through (test number milta hai)
HTTPS Webhook URLAapka server URL (localhost nahi chalega, ngrok ya live domain chahiye)
Verify TokenEk custom string jo aap khud define karenge (jaise: my_secret_token_123)
Access TokenMeta App se generate hoga

⚠️ Important: WhatsApp Webhook ke liye HTTPS mandatory hai। HTTP accept nahi होगा।


Step 1: Create a Meta Developer App

  1. Meta for Developers par jaayein aur login karein।
  2. My AppsCreate App par click karein।
  3. App type mein Other select karein aur Next karein।
  4. App Name dalein (jaise: WhatsApp Webhook Demo) aur Contact Email Dalein।
  5. Create App button par click karein।

[image: Meta Developer App Creation Dashboard]


Step 2: Enable WhatsApp Cloud API

  1. Apne App Dashboard par left sidebar mein neeche scroll karein।
  2. WhatsAppAPI par click karein।
  3. Aapko ek Test WhatsApp Number aur Access Token milega।
  4. Set Up WhatsApp Account par click karke onboarding complete karein।
  5. Phone Number ID aur WhatsApp Business Account ID copy kar lein।

Step 3: Create Your Webhook Endpoint (Server Code)

Sabse pehle, aapko ek webhook endpoint banana hoga jo Meta se HTTP GET aur POST requests receive karega।

Option A: Node.js (Express) Example

const express = require('express');
const app = express();
app.use(express.json());

const VERIFY_TOKEN = 'my_secret_token_123'; // Apna token yahan dalein

// GET request for webhook verification
app.get('/webhook', (req, res) => {
  const mode = req.query['hub.mode'];
  const token = req.query['hub.verify_token'];
  const challenge = req.query['hub.challenge'];

  if (mode === 'subscribe' && token === VERIFY_TOKEN) {
    console.log('Webhook verified!');
    res.status(200).send(challenge);
  } else {
    res.status(403).send('Verification failed');
  }
});

// POST request for incoming messages
app.post('/webhook', (req, res) => {
  const body = req.body;

  if (body.object) {
    if (body.entry && body.entry[0].changes && body.entry[0].changes[0].value.messages) {
      const message = body.entry[0].changes[0].value.messages[0];
      console.log('Received message:', message);

      // Yahan aap apna logic likh sakte hain (database save, auto-reply, etc.)
    }
    res.status(200).send('EVENT_RECEIVED');
  } else {
    res.status(404).send('Not Found');
  }
});

app.listen(3000, () => {
  console.log('Webhook server running on port 3000');
});

Option B: PHP Example (Aapke Stack Ke Liye)

<?php
$VERIFY_TOKEN = 'my_secret_token_123';

// GET request for verification
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    $mode = $_GET['hub_mode'] ?? '';
    $token = $_GET['hub_verify_token'] ?? '';
    $challenge = $_GET['hub_challenge'] ?? '';

    if ($mode === 'subscribe' && $token === $VERIFY_TOKEN) {
        echo $challenge;
        exit;
    }
    http_response_code(403);
    exit;
}

// POST request for messages
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $body = json_decode(file_get_contents('php://input'), true);

    if (isset($body['object']) && isset($body['entry'][0]['changes'][0]['value']['messages'])) {
        $message = $body['entry'][0]['changes'][0]['value']['messages'][0];
        error_log('Received message: ' . print_r($message, true));

        // Yahan apna logic likhein
    }

    http_response_code(200);
    echo 'EVENT_RECEIVED';
}
?>

💡 Tip: Agar aap locally test kar rahe hain, toh ngrok use karein jo localhost ko public HTTPS URL bana deta hai।


Step 4: Configure Webhook in Meta Dashboard

  1. Meta Developer App ke dashboard par jaayein।
  2. Left sidebar mein WhatsAppConfiguration par click karein।
  3. Webhook section mein Edit button par click karein।
  4. Ye details bharein:
FieldValue
Callback URLhttps://your-domain.com/webhook (ya ngrok URL)
Verify Tokenmy_secret_token_123 (wahi jo code mein use kiya)
  1. Verify and Save par click karein।
  2. Agar URL sahi hai aur endpoint GET request handle kar raha hai, toh “Webhook verified” message dikhega।

[image: Meta Webhook Configuration Screen]


Step 5: Subscribe to Webhook Fields

Webhook verify hone ke baad, aapko batana hoga ki kin events ko receive karna hai:

  1. Webhook section mein neeche scroll karein।
  2. Manage button par click karein।
  3. messages checkbox ko select karein (new messages receive karne ke liye)।
  4. messaging_postbacks, message_deliveries, message_reads bhi subscribe kar sakte hain।
  5. Done par click karein।

Step 6: Test Your WhatsApp Webhook

Ab asli test ka time hai:

  1. Meta dashboard mein WhatsAppAPITest Number par jaayein।
  2. Kisi bhi phone number par test message bhejein।
  3. Apne server logs check karein (console ya PHP error log)।
  4. Agar aapko message dikhta hai, toh webhook successfully working hai! 🎉

Testing Checklist

Test CaseExpected Result
Webhook URL verify karna“Webhook verified” message
Test message bhejnaServer par message log dikhe
Auto-reply karnaWhatsApp par reply reach ho
Media message (image)Media URL properly receive ho

Common Errors aur Solutions

❌ Error 1: “Webhook Not Verified”

Cause: Verify token mismatch ya GET request handle nahi ho raha।

Solution:

  • Code mein VERIFY_TOKEN aur Meta dashboard mein same token use karein।
  • Ensure karein ki GET request hub.challenge return kar raha ho।

❌ Error 2: “Webhook Not Receiving Events”

Cause: HTTPS nahi hai ya firewall block kar raha hai।

Solution:

  • URL HTTPS hona chahiye (HTTP chalega nahi)।
  • SSL certificate valid hona chahiye।
  • ngrok use karein local testing ke liye।

❌ Error 3: “Access Token Expired”

Cause: Temporary token expire ho gaya।

Solution:

  • Permanent Access Token generate karein Meta dashboard se।
  • Environment variable mein store karein।

Best Practices for WhatsApp Webhook

🔒 Security

  • Verify token ko environment variable mein store karein (process.env.VERIFY_TOKEN)
  • Webhook signature verification implement karein
  • Rate limiting lagayein (DDoS se bachne ke liye)

⚡ Performance

  • Webhook ko asynchronously process karein (immediately 200 OK return karein)
  • Message queue use karein (Redis, RabbitMQ)
  • Logs maintain karein monitoring ke liye

📈 Scalability

  • Horizontal scaling ke liye design karein
  • Caching use karein repeated requests ke liye
  • Load testing launch se pehle karein

Use Cases: WhatsApp Webhook Kya Kar Sakta Hai?

Use CaseDescription
ChatbotAuto-reply with Google Gemini API (jaise aapne pehle banaya)
Customer SupportTicket automatically create karein CRM mein
Order UpdatesE-commerce order status automatically send karein
Lead CaptureWebsite form se WhatsApp par lead forward karein
Notification SystemAppointment reminders, payment alerts
Database SyncMessages ko MongoDB/MySQL mein save karein

FAQ: Frequently Asked Questions

Q1: Kya WhatsApp Webhook free hai?

A: Haan! Meta Cloud API free tier offer karata hai (pehle 1000 conversations/month free)। [1][2]

Q2: Kya main localhost par test kar sakta hoon?

A: Haan, ngrok use karke localhost ko public HTTPS URL bana sakte hain testing ke liye। [3]

Q3: Kitne events subscribe kar sakte hain?

A: Messages, deliveries, reads, postbacks, reactions, aur aur bhi bahut saare events subscribe kar sakte hain। [4]

Q4: Kya main PHP mein webhook bana sakta hoon?

A: Haan! PHP mein bhi webhook banaya ja sakta hai (jaise upar example diya gaya)। Aapke stack (HTML, CSS, JS, PHP) ke liye perfect hai।

Q5: Kya Twilio ki zaroorat hai?

A: Nahi! Meta Cloud API directly use kar sakte hain bina Twilio ke (Twilio paid hai)। [1]


Conclusion

Ab aap jaante hain ki how to create a WhatsApp Web hook step-by-step Meta Cloud API ke through। Ye official method hai, free hai, aur production-ready hai


Useful Resources


Turn website visitors into paying customers.

Deploy a custom AI assistant on your business data and start capturing leads 24/7 while you sleep.

Try Guks AI Assistant