WhatsApp AI chatbot stops responding? Learn why Cloudflare tunnel URLs break Meta webhooks and how to fix it permanently with a named tunnel.


Why Your WhatsApp AI Assistant Stops Responding (And How to Fix It Permanently)

You set up a WhatsApp AI assistant for your business. It works perfectly on day one — responding to customer queries, capturing leads, answering FAQs around the clock. Then, a day or two later, the messages stop. Customers are texting your WhatsApp number but getting no reply. Your AI assistant has gone completely silent.

If this sounds familiar, you are not alone. This is one of the most common and frustrating problems small business owners face after deploying a WhatsApp AI chatbot. The good news: there is a permanent fix, and it does not require any advanced technical skills to understand or implement.

This post explains exactly why this happens, how we diagnosed and solved it for our own DigiMateAI WhatsApp assistant (Hermes), and what you need to do to prevent it from ever happening again.


The Symptom: Your WhatsApp Bot Just Stops Responding

Here is what the problem looks like from a business owner’s perspective:

  • WhatsApp messages arrive on your phone but the AI gives no reply
  • The chatbot worked fine initially but stopped after a server restart or power cut
  • No error message is visible — everything looks like it is running
  • Manually restarting the bot fixes it temporarily, but the problem comes back

This intermittent, self-repeating failure pattern is a strong signal that the issue is not with the AI itself — it is with the connection between Meta’s servers and your AI.


The Root Cause: Cloudflare Quick Tunnel URLs Change on Every Restart

Most WhatsApp AI assistants work like this:

  1. Your AI software runs on a server (local or cloud)
  2. Meta’s WhatsApp Business API sends incoming messages to a webhook URL you register
  3. Your AI receives the message, processes it, and sends a reply back

The webhook URL is the critical link. Meta’s servers need a permanent, stable HTTPS URL to send messages to.

Many developers use Cloudflare Quick Tunnels during setup because they are fast and free. You run one command and instantly get a public HTTPS URL for your local server. The problem is that Quick Tunnel URLs are randomly generated and change every single time the tunnel restarts.

So what happens? You register webhook URL https://random-abc-123.trycloudflare.com/whatsapp/webhook with Meta. The next time your server restarts — after a crash, a power cut, a software update, or even a routine reboot — Cloudflare assigns a completely different URL like https://random-xyz-789.trycloudflare.com/whatsapp/webhook.

Meta is still sending messages to the old URL. Nobody is listening there anymore. Your AI assistant goes silent. Every. Single. Time.


How We Diagnosed the Problem on Our Own System

When our Hermes WhatsApp assistant started going silent, we followed a structured diagnostic process.

Step 1: Check If the AI Service Is Actually Running

The first thing to rule out is whether the AI software itself has crashed. Log into your server and check whether the relevant service or process is active. In most setups using PM2 (a Node.js process manager), this means running a status check to see if the service shows as “online” or “stopped.”

In our case, the service was running fine. The AI was alive — it just was not receiving any messages.

Step 2: Check the Webhook URL Registered With Meta

Go to your Meta Developer Console → WhatsApp → Configuration → Webhook. Look at the Callback URL that is registered. Then compare it to the URL your tunnel is actually generating right now.

If they do not match, that is your problem confirmed.

Step 3: Check for Port Conflicts

While investigating, we also found that ports 8090 and 8091 on our server were already in use by other services. This was causing the webhook receiver to fail to start cleanly on those ports. We moved to port 8092, which was free, and the service started cleanly.

Port conflicts are a secondary issue but worth checking — especially on servers running multiple services.


The Permanent Fix: Cloudflare Named Tunnel With Your Own Domain

The solution is to replace the unreliable Quick Tunnel with a permanent Cloudflare Named Tunnel connected to your own domain. Once configured, this gives you a stable, permanent HTTPS webhook URL that never changes — even after server restarts, crashes, or updates.

Here is the step-by-step process we used.

Step 1: Move Your Domain to Cloudflare Nameservers

To use a Cloudflare Named Tunnel with your own subdomain, your domain must be managed through Cloudflare DNS. If your domain is registered elsewhere (GoDaddy, Namecheap, etc.), log into your registrar and update the nameservers to the ones Cloudflare provides when you add your site.

This typically takes a few minutes to a few hours to propagate. Cloudflare will notify you once your domain is active under their management.

This step is also beneficial for your site’s security and performance — Cloudflare provides free DDoS protection and SSL for any domain on their network.

Step 2: Create a Permanent Named Tunnel in Cloudflare

In your Cloudflare dashboard, navigate to Zero Trust → Networks → Tunnels and create a new tunnel. Give it a descriptive name — we named ours hermes-production so it is immediately clear which service it belongs to.

Cloudflare will provide you with an installation command that includes a unique tunnel token. Run this command on your server to install and authenticate the tunnel agent (cloudflared).

Step 3: Configure a Permanent Subdomain for the Tunnel

Inside the tunnel configuration in Cloudflare dashboard, add a public hostname. This is where you create your permanent webhook URL. We set ours up as:

hermes1947.digimateai.com

Point this hostname to your local service — for example, localhost:8092 where your webhook receiver is listening. Cloudflare automatically handles HTTPS for this subdomain. You do not need to set up Certbot or manage SSL certificates manually — Cloudflare does it for you.

Step 4: Start the Tunnel as a System Service

To make the tunnel permanent and auto-restarting, install it as a system service so it starts automatically on every server boot. Cloudflare provides a simple command to do this. Once installed as a service, the tunnel will reconnect automatically after any restart — maintaining the same URL every time.

Step 5: Update Your Meta Webhook URL

Go back to your Meta Developer Console → WhatsApp → Configuration → Webhook. Update the Callback URL to your new permanent URL:

https://hermes1947.digimateai.com/whatsapp/webhook

Verify the webhook using your verification token. Once Meta confirms the webhook is active, your AI assistant will start receiving messages again — and will continue to do so reliably, regardless of server restarts.


Why This Fix Is Permanent (And What Makes It Different)

The key difference between a Quick Tunnel and a Named Tunnel is ownership and persistence.

  • Quick Tunnel: Temporary, random URL, disappears on restart, designed for development testing only
  • Named Tunnel: Permanent, tied to your domain, survives restarts, designed for production use

Because the Named Tunnel runs as a system service, it automatically reconnects to Cloudflare’s network when your server restarts. The subdomain you configured stays the same. Meta’s webhook URL stays valid. Your AI assistant keeps working.

Additionally, Cloudflare manages SSL automatically — so you get HTTPS on your webhook URL without any manual certificate renewal. No Certbot, no Let’s Encrypt expiry surprises, no manual updates needed.


Prevention Tips: How to Keep Your WhatsApp AI Running 24/7

Beyond the tunnel fix, here are additional measures to ensure maximum uptime for your WhatsApp AI assistant.

Use a Process Manager for Your AI Service

Tools like PM2 (for Node.js) or Supervisor (for Python) automatically restart your AI service if it crashes. Without a process manager, a single software error can take your bot offline until someone manually restarts it.

Monitor Your Webhook Health Regularly

Set up a simple uptime monitoring tool — many free options exist — to ping your webhook URL every few minutes. If it goes down, you receive an alert immediately instead of finding out hours later from a frustrated customer.

Never Use Quick Tunnels in Production

Quick Tunnels are excellent for development and testing on your local machine. They should never be used for a live, customer-facing WhatsApp bot. The moment you go live, switch to a Named Tunnel or a proper server with a static IP.

Document Your Webhook URL and Keep It in One Place

Keep a simple record of your active webhook URL, which Meta app it is registered on, and which server it points to. When something breaks, having this reference saves significant debugging time.

Test After Every Server Restart

After any planned maintenance, update, or restart, send a test message to your WhatsApp number and confirm the AI responds before declaring the maintenance complete. Catching a broken webhook immediately after a restart is far easier than discovering it hours later.


Need Help Setting This Up for Your Business?

If you are facing any issue with your WhatsApp AI assistant or webhook setup, feel free to reach out. Our paid setup service covers full webhook configuration, permanent tunnel setup, and ongoing support — so you never have to deal with this yourself.

Setting up a permanent WhatsApp AI assistant with reliable infrastructure is what we do at DigiMateAI. We build WhatsApp AI agents for businesses in UAE, Saudi Arabia, Qatar, and Pakistan — fully configured with permanent webhooks, automated responses, and lead capture built in.

If your WhatsApp bot keeps going silent and you want it fixed properly — not just patched temporarily — chat with us on WhatsApp or book a free 30-minute consultation. We will audit your current setup and tell you exactly what needs to change.


Key Takeaways

  • Root cause: Cloudflare Quick Tunnel URLs change on every restart, breaking the Meta webhook connection
  • The fix: Replace Quick Tunnel with a Cloudflare Named Tunnel connected to your own domain subdomain
  • Named Tunnels are permanent: They survive server restarts and maintain the same HTTPS URL automatically
  • No Certbot needed: Cloudflare handles SSL automatically for your subdomain — one less thing to manage
  • Port conflicts matter: Check that your webhook receiver port is not in use by another service
  • Run as a system service: Install the tunnel agent as a service so it auto-starts on every reboot
  • Never use Quick Tunnels in production: They are for local testing only

Published by Shakeel Ahmed, Founder of DigiMateAI — AI Automation Agency serving UAE, Saudi Arabia, Qatar, and Pakistan. We build WhatsApp AI agents and n8n automation workflows for businesses ready to scale.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top