Building
Telegram Mini Apps: what they are and when a bot needs one
By the Botable team
A Telegram Mini App is a web page that opens inside Telegram, launched from a bot. It suits interfaces a chat cannot express well, catalogues, calendars, dashboards, and is unnecessary for anything a few buttons already handle.
Watch it
Asking the builder for a Mini App, previewing it in the phone frame inside Botable, and watching the events it fires while you click through it.
Read the transcript
Everything said in the video, in order.
Most of what a bot does fits into a message with a row of buttons under it. A few things never will: twenty products with photos, a calendar, a cart, a form with ten fields.
Telegram's answer is a Mini App, a real web page that opens inside Telegram already knowing who is looking at it. Here is when a bot needs one, and how you ask.
Every screen this support bot has is a message with buttons underneath it. The Flow tab draws all of them at once.
Zoom in and the pattern repeats. One message, a few taps, and every branch is another message. That is the right shape for a menu and the wrong shape for a catalogue.
A mini app is a web page Telegram opens inside itself — one more screen in this map, except the screen is a page. Botable hosts it, so there is no server to rent and no domain to point anywhere.
It is not a separate product bolted on the side. The app reads and writes the same database the bot already uses, through handlers that live in the bot's own code.
And it knows who is asking without being told. Telegram signs the user's identity and the platform verifies it before your handler runs, so a copied link cannot read somebody else's rows.
A mini app never replaces the bot. Everything already in the chat goes on working, and every message on this dashboard came from somebody who only ever typed at it.
You ask for a screen the same way you ask for anything else. Same chat, same plain sentence.
Detail pays more here than almost anywhere else. A screen has a layout, a loading state and an empty state, and everything you name is something nobody has to guess.
A Mini App tab appears here, between Flow and Database, but only once the bot actually has a page of its own. This one has none yet, so nothing sits there.
Send that sentence and the page gets written into the bot's own files, beside the handlers it talks to, and the tab turns up here by itself.
Ask for a screen when a message cannot carry it. Start free at botable dot I O.
The short version
A Telegram Mini App is a web page rendered inside the Telegram client, launched from a bot's button or menu. It shares the bot's identity and receives signed information about the user who opened it, so it can be personalised without a separate login. The judgement call is when to use one. Chat plus inline buttons handles linear flows well, a question, a choice, a confirmation, and a Mini App adds loading time and a context switch for no gain there. Where it earns its place is in interfaces a message cannot express: a browsable catalogue with images and filters, a calendar, a chart-heavy dashboard, a form with interdependent fields. The security detail that matters is validation. The launch data is signed with your bot token, and any server accepting it must verify that signature; treating the user id as trustworthy because it arrived from the client is the standard vulnerability in Mini App backends.
Step by step
When is a Mini App the right choice?
When the interface genuinely needs more than a message can hold: a product grid with filters, a date picker, a dashboard with charts, a multi-field form where fields depend on each other. If your flow is a sequence of single choices, buttons are faster for the user and simpler for you.
How does the app know who opened it?
Telegram passes launch data including the user, signed with your bot token. Your backend must verify that signature before trusting any of it. Skipping the check means anyone can call your endpoints claiming to be any user, which is the most common Mini App security failure.
How is a Mini App launched?
From an inline keyboard button, from the bot's menu button, or from a direct link. Register the app with @BotFather using /newapp. A bot can have more than one, which suits a customer-facing catalogue and a separate internal admin view.
What makes a Mini App feel native?
Using Telegram's theme parameters so it matches the user's light or dark setting, using the platform's own main button rather than drawing your own at the bottom, and handling the back gesture. A Mini App that ignores the theme reads as a website in a frame, which is exactly the impression to avoid.
What catches people out
- Never trust launch data without verifying its signature server-side
- Ignoring Telegram's theme parameters makes the app look pasted in rather than part of the client
- A Mini App adds a load step; for linear flows it is slower than the buttons it replaced
Questions
Can a Mini App take payments?
Yes, it can trigger a Stars invoice through the bot, so browsing happens in the app and the payment confirmation happens in Telegram's own interface. That is the usual pattern for a catalogue.
Does a Mini App replace the bot?
No. The bot is still the identity, the notification channel and the entry point. Most products end up using both: the app for browsing and configuration, the chat for alerts and quick actions.
Want a bot that does this?
Describe it in plain language and Botable writes the code, gives the bot its own database, deploys it and keeps it running. Everything on this page is handled for you, the token, the webhook, the storage, the hosting.
Keep reading
- Telegram Stars paymentstelegram stars payments
- Buttons and keyboardstelegram inline keyboard vs reply keyboard
- Bot securitytelegram bot security