Flow Preview
Overview
Charge for access to a private Telegram group or channel, send paying members a personal invite the moment they pay, and — with Stripe — automatically remove anyone whose subscription lapses. This bot is the paywall at the door; your actual group or channel content lives separately.
Who It's For
Perfect if you run a paid community, mastermind, or private channel and want the joining process — pay, get invited, stay a member only while you're paying — handled without doing it by hand. Pick Stripe if you want subscriptions that renew and get checked automatically; Telegram Payments or YooKassa work too, but only Stripe can verify on its own whether someone's still paying, so with those two you'll handle renewals and removals yourself.
Setup Requirements
- Decide which payment provider to use: Telegram Payments, Stripe, or YooKassa — this affects whether renewals are checked automatically.
- If using Stripe, decide the recurring Price ID for your membership plan.
- Decide which private Telegram group, supergroup, or channel paying members should access.
- If using Stripe, decide how often you want the membership audit to run (it ships weekly).
- Connect your Telegram bot: Settings → Bots → paste the token from @BotFather.
- Add this bot as an admin of your private group or channel, with permission to invite and manage members.
- Open Variables and set telegramAccessChatId to that group or channel (a t.me link, @username, or numeric -100 ID).
- Stripe: keep the Stripe module installed, set STRIPE_SECRET_KEY in its own module setup, set stripePriceId to your real recurring Price ID, then open the "Payment Fulfillment" flow, copy the Full Webhook URL from its Start block, and paste it into Stripe Dashboard → Developers → Webhooks. Stripe keys: https://docs.stripe.com/keys.
- Telegram Payments instead: connect a provider in @BotFather → Payments and paste the provider token in FlowCastle under Bot Settings → Card payments. Note this variant does not install the automatic weekly audit — you'll handle renewals and removals by hand, or switch to Stripe.
- YooKassa instead: install the YooKassa module and add your shopId and secretKey in its own module setup. This variant is also manual-renewal only, without the automatic audit.
- Press Deploy, then run one real test subscription or payment before inviting real members.
- To get alerted on every new paid member, tag your team's contacts "owner" on the Contacts page — the bot already notifies everyone carrying that tag.
Node Breakdown
- Someone opens your bot and sees your paid membership pitch
- The bot asks for a receipt email, then sends them to pay — a Telegram invoice, a Stripe checkout link, or a YooKassa payment link, depending on the provider you picked during setup
- The moment payment is confirmed, they get a personal, one-time invite link to your private Telegram group or channel
- (Stripe only) Every week, the bot quietly re-checks every paying member's subscription status
- (Stripe only) If someone's subscription has lapsed, the bot removes them from the group or channel and lets them know — with an easy way to rejoin by paying again
Details
Good to know
- The payment provider you pick during setup — Telegram Payments, Stripe, YooKassa, or another provider — decides how the whole payment step is built; it's not just a config switch.
- Only the Stripe variant can check on its own whether a subscription is still active — that's what powers the weekly automatic audit and removal. With Telegram Payments or YooKassa, you'll need to track renewals and remove lapsed members yourself.
- Every invite is personal and single-use, not one shared link everyone reuses — so access can be traced and revoked per member.
- The bot never adds anyone to your group or channel before their payment is actually confirmed.
- Non-payment webhook events (a cancelled or still-pending checkout, for instance) are logged quietly — nobody gets a false "you're in" message.
- This bot is only the paywall and access gate — your actual community, channel content, and conversations live in the separate Telegram group or channel it grants access to.
- Everything — the pitch, the price, the emails, and the messages — is editable afterwards in the visual editor.
Keep in mind
- Don't invite anyone before their payment is actually confirmed — the bot already waits for that, don't route around it.
- Don't hand out a single reusable invite link — each paying member should get their own, so you can revoke it individually.
- If you're not on Stripe, remember renewals and removals are on you — nothing checks subscription status automatically on the other rails.
- This bot is the paywall, not the community — keep your actual content, chats, and events in the group or channel itself.
