Syntra Systems
Cases Services Products About Blog IT Caravan
+998 70 010 68 44 +7 999 900 22 12
RusEngUzb
X-ray view of a smartphone on a white background as a metaphor for a client portal that lives inside Telegram with no separate app
Bots and Telegram

A client portal in Telegram instead of a mobile app

By Daniil Belyaev · · 8 min read

A client portal in Telegram can be built in two ways: as a bot dialogue or as a Mini App — a web interface that opens right inside the messenger. The client sees orders, bookings, loyalty points and documents with no app to install and no separate password, while the data comes from your CRM or accounting system. A bot that takes requests and bookings starts at $1,200.

Key takeaways

  • A Telegram portal combines a bot and a Mini App: the bot runs short scenarios with buttons, the Mini App shows screens with lists, forms and filters.
  • Portal data lives in your CRM and accounting system: Mini App cloud storage is meant for interface settings, not for order history.
  • Your server verifies the user: the initData signature and its timestamp, while money operations get a second confirmation on top.
  • Digital goods and subscriptions inside Telegram can only be sold for Telegram Stars; physical goods and services are paid by card through a provider.
  • A Telegram portal is the wrong choice when you need offline mode, constant access to the camera and sensors, or your own push notifications.

Bot or Mini App: what is the difference

The difference is in the interface, not in the data: a bot runs a dialogue of messages and buttons, a Mini App opens a full screen with forms, lists and filters. The logic and the database behind them are the same — it is one project on one server.

A Mini App can be opened in seven ways: a keyboard button, a button inside a message, the chat menu button, the bot profile, inline mode, the attachment menu and a direct link of the form t.me/botusername/appname. The direct link is convenient for ads and printed QR codes: the person lands on the right screen without going through a menu.

What belongs in a Telegram portal

Telegram takes the scenarios a client repeats often and finishes in two or three taps. Everything that needs long work with tables and documents stays on the web.

The full set of portal sections — with filters by year, reconciliations and exports — is covered in the article on the client portal on your website. Telegram takes the top of that list: what people open weekly, not quarterly.

Where the portal gets its data

Portal data lives in your systems, not in Telegram. The bot and the Mini App request it over an API from the CRM, 1C or ERP at the moment the client opens a screen.

A Mini App does have its own cloud storage, but it is not a database: Telegram allows up to 1,024 values per user, with keys up to 128 characters and values up to 4,096. That is enough for an interface language and a draft form, but not for order history or account balances.

So the portal is designed together with the exchange scheme: what it asks the CRM, what it writes back and which event triggers a notification. How that exchange works and what the Bot API limits are is covered in the article on connecting a Telegram bot to a CRM.

How the server checks that data really came from Telegram

Telegram passes user details to the Mini App in an initData string, and it cannot be trusted as is: the signature is verified on your server. The documentation describes the check like this: fields are sorted alphabetically into a data-check string, and its HMAC-SHA-256 signature, computed with a key derived from the bot token, is compared with the hash you received.

The second half of the check is time. initData carries an auth_date timestamp: anything older than a reasonable window is rejected by the server. Third-party services that do not hold the bot token get a separate Ed25519 signature, verified with Telegram's public key.

Important Telegram only confirms that you are dealing with the account owner. Whoever gets into someone else's Telegram gets into the portal too. That is why money and contract operations are protected by a second confirmation: a code, a PIN or device biometrics — BiometricManager has been available since Bot API 7.2.

How payments work inside the portal

The payment method is chosen by the type of goods, not by the developer. Physical goods and services delivered outside the messenger are paid by card through a payment provider: it is connected to the bot via @BotFather, it handles the card data, and Telegram charges no commission for the Payments API. In Uzbekistan that means Payme, Click or Uzum, under the company's own contract.

Important Digital goods and services inside Telegram — content access, subscriptions, in-app currency — can only be sold for Telegram Stars. That is what App Store and Play Store rules require, and it applies even if the company already sells the same thing by card on its own website.

What to send the client after a charge, how to handle a declined card and what to do about refunds is covered in the article on payments and automated notifications in a Telegram bot.

When a Telegram portal is the wrong choice

Telegram does not cover everything. Check your scenario against the list: if even one point applies to you, the portal belongs on the web or in a mobile app.

If the list points to an app, the next question is the platform and the budget — the approaches are compared in the article on native versus cross-platform development.

Telegram, web portal and mobile app compared

The three formats solve the same task differently. What changes is the entry cost for the client, the speed of updates and how much data fits on one screen.

CriterionTelegram portalWeb portalMobile app
What the client does to log inOpens the bot via a linkEnters a login and password on the siteInstalls the app from a store
PublishingNot requiredNot requiredStore review and developer fees
UpdatesOn the server, for everyone at onceOn the server, for everyone at onceA new build and another review
Messaging the client firstOnly those who launched the botEmail or SMSPush after permission
Working offlineNoNoYes
Large tables and documentsLimitedYesYes
Camera, NFC, sensorsLimitedLimitedFull access

The formats do not exclude each other. A company may run a web portal for its client's accountants and a Telegram portal for quick actions, with the same data underneath.

How development goes

Work starts with the list of scenarios rather than the interface: what exactly the client will come to the portal for, and which system owns each field.

  1. Scenarios. We write down what a person does in the portal and in how many steps. Anything outside that list does not make the first version.
  2. Data sources. We pick the owning system for every field: orders from the CRM, stock from 1C, loyalty points from the loyalty programme.
  3. Exchange scheme. We describe the requests in both directions and the events that trigger notifications: status change, payment, booking reminder.
  4. Interface. We assemble the bot dialogue and the Mini App screens and test them on a phone: long lists, narrow screens, slow networks.
  5. Signature and permissions. We set up initData verification on the server, separate who sees what and turn on confirmation for sensitive operations.
  6. Launch and observation. We watch the first sessions: where people drop out, which screens they open most and which wordings need rewriting.
Example At the UzFranchise Expo trade show, a guest's whole access to the event lived in Telegram: a visitor registered in the bot, answered questions about the purpose of the visit and received a personal QR ticket in the chat. The shared database held 7,500+ visitors, 3,539 tickets were scanned at the entrance over two days, and checking one guest took 0.2 seconds. Read the UzFranchise Expo case study.

How much a Telegram portal costs

There is no separate price for a portal: the budget is made of the bot or Mini App plus the links to your systems. On the service page these are different lines.

The scope behind each format is described on the page for bots and AI assistants. If the portal needs data from 1C, a warehouse or billing, systems integration is added on top — a separate service starting at $4,000.

Three things push the budget above the starting price: the number of screens, the number of connected systems and whether money and documents are involved. A portal that shows an order status and a portal with payments, loyalty points and acts are different projects.

How we build Telegram portals

Syntra Systems starts by going through the incoming questions: what clients ask managers most often, and which of those a person could answer themselves in two taps. That list becomes the first version of the portal; the rest waits for the second.

We build the portal as part of the infrastructure: data comes from the CRM and the accounting system, initData is verified on the server, sensitive operations get a second confirmation, and the exchange is logged — so an order that never reached the CRM is visible immediately, not after a client calls. After launch we watch real sessions and rewrite the steps where people drop out.

Let’s discuss your project

Tell us what you need, and we will estimate the timeline and cost and suggest a solution.

Discuss a Telegram portal

Frequently asked questions

Does the client have to install anything?

Telegram itself is enough for the client — the portal opens from a link to the bot or the Mini App, with no install and no new login and password. The person signs in with their own Telegram account, and the link to your database is made by phone number or by a code from the contract.

Can a portal that already works on the website be moved into Telegram?

If the web portal has an API, yes — no need to duplicate the database: Telegram becomes another entry point into the same orders, documents and balance. Telegram gets the surface layer, the things a client checks once a week, while reconciliations and big tables stay on the web.

What happens if a client blocks the bot?

Notifications stop arriving: a bot can't message anyone who has blocked it. That flag is saved on the client's card, and important messages — payment, a rescheduled booking — are duplicated by email or a call from the manager.

Can the portal work in Russian, Uzbek and English?

Yes. Telegram passes the user's interface language code, so the portal can open in the right language with a manual switch available. Translation covers more than buttons: notification texts and order status names need it too.

How is a portal different from an ordinary menu bot?

A menu bot answers everyone the same way: address, opening hours, price list. A portal shows one person's own data — their orders, their balance, their bookings — and therefore requires user verification and a connection to the company's systems.

Who is responsible for clients' personal data in such a portal?

The company that collects it. Telegram is only the delivery channel here: orders, contacts and documents are stored in your systems, and personal data law applies to them exactly as it applies to your CRM or website.

Read also