Join Requests Not Approved: Fixing a Webhook 403 Error

If your customers’ join requests are never automatically approved — the invite link opens, they request to join, but nothing happens — the most common cause is your host’s firewall blocking Telegram from reaching your site. This article explains how to confirm it and fix it.

The Symptom #

Customers click a valid invite link and request to join your channel or group, but the request is never approved automatically. Approvals work if you approve them by hand in Telegram, but the plugin never does it on its own.

This happens because auto-approval depends on Telegram delivering a chat_join_request event to your site’s webhook. If Telegram cannot reach your webhook, the plugin never sees the request and cannot approve it.

How to Confirm It’s a Webhook Problem #

Ask Telegram directly what it sees when it tries to deliver events. Open this URL in your browser, replacing <YOUR_BOT_TOKEN> with your bot token:

https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getWebhookInfo

Look at the last_error_message field in the response. If it shows a 403 Forbidden (for example, "Wrong response from the webhook: 403 Forbidden"), Telegram’s requests are being blocked before they reach the plugin.

The Cause: Your Host Is Blocking Telegram #

A 403 here almost always means your hosting provider’s firewall or Web Application Firewall (WAF) is blocking incoming requests from Telegram’s servers by their source IP address. Telegram posts to your site from its own IP ranges, and some hosts treat that unfamiliar traffic as suspicious and reject it.

This is a server-level block. It is not caused by the plugin, and it is not fixed by changing plugin settings.

The Fix: Whitelist Telegram’s IP Ranges #

Ask your host (or edit your firewall/WAF rules) to allow incoming POST requests from Telegram’s IP ranges to your webhook endpoint:

  • Telegram IP ranges: 149.154.160.0/20 and 91.108.4.0/22
  • Endpoint to allow: POST /wp-json/wctlgm/v1/telegram-bot/

A helpful message to your host: “Please whitelist Telegram’s IP ranges 149.154.160.0/20 and 91.108.4.0/22 for POST requests to /wp-json/wctlgm/v1/telegram-bot/. My site’s firewall is returning 403 to Telegram’s webhook.”

After the host applies the change, re-run the getWebhookInfo check. The last_error_message should clear, and new join requests will be approved automatically.

What Does Not Fix It #

Because the block is at the server/firewall layer, deactivating a WordPress security or login-limiting plugin will not help. The request is rejected before WordPress runs. The fix has to happen at the host or firewall level.

Related Articles #

Was this guide helpful?