Join requests — the bot admits paying members for you
How to turn on join requests so Craft automatically admits people who paid to your private chat, and holds everyone else.
When a private chat or channel screens new members, an invite link no longer lets people straight in — it creates a join request that somebody has to approve. Craft does that for you: a request from someone who paid is approved automatically, usually within a second or two.
How it works#
- A person goes through your funnel and pays.
- They tap the link to the private chat and send a join request.
- Craft sees the request, finds their payment, and lets them in.
It also works the other way round — request first, payment later. That happens more often than you would expect: people tap the link right away and pay an hour later. Such a request simply waits, and the moment the payment arrives the person is admitted automatically. They do not need to apply again.
What to set up#
1. Turn on join requests in the chat itself. Chat or channel settings → "Chat type" → "Approve new members" (the wording varies between Telegram versions). Without this Telegram never creates a request: people join straight through the link and there is nothing to approve.
2. Add your funnel's bot as an administrator of that chat and keep the "Add members" permission enabled. That permission is exactly what the bot uses to admit people — without it the bot sees the request but cannot act on it.
3. Hand out the link inside the funnel. The "Channel invite" block is the better option: it issues a personal one-time link to each person. A shared link works too, but people forward it to friends — Craft will not reject those requests, they will just sit there unanswered.
⚠️ Miss any one of these steps and it all looks the same from the outside: "I paid but it won't let me in." When that happens, check first that the bot is an admin and still has "Add members".
Who the bot does NOT admit#
A request from someone with no payment is left pending — not approved, but not rejected either. This is deliberate: in Telegram a rejection closes the door for good, and that person cannot apply again through the same link. Wrongly rejecting someone who paid would mean refunding them, while a pending request breaks nothing — when they pay, they get in.
You can handle those requests by hand in Telegram: open the chat → "Join requests".
If someone paid but did not get in#
The funnel owner receives a message from the bot with the person's name and the reason. The most common one is that the bot is not an administrator, or lost the permission to add members. Restore the permission and approve the request by hand in Telegram — the pending request is still there.
⚠️ Payments are matched across all funnels of the same bot. If one bot sells access to two different paid chats, someone who paid for the first will also get into the second. While you have two paid chats, give each its own bot.