Migration
Moving a Telegram bot without losing its users
A Telegram bot’s users belong to the bot, not to the platform running it. Keep the same bot token, export the list of chat ids from the old platform, and point the webhook at the new backend in one cutover, and every existing user stays reachable. What you cannot recover is anything the old platform never exported.
Moving a Telegram bot without losing its users: the short version
- Users kept
- All who started the bot, if the token and the chat ids move with it
- Webhooks per bot
- 1 at a time; migration is the moment it changes
- Rebuild price
- The published catalogue price for the matching bot type
As of 2026-09-19, Telegram Bot API 10.3
Why the token is everything
A bot can only message people who have started it, and that permission is tied to the bot’s identity — its token — not to the software behind it. If you created the bot in your own Telegram account and handed the token to a builder platform, you can take the same token to a new backend and the username, the users and their permission to receive messages all come with it.
If the platform created the bot for you and never showed you the token, the first step is getting it. Without the token, migration means a new bot and asking every user to start it again.
What has to be exported first
Telegram does not give a bot a list of its own users. The only record of who has started your bot is in the database of whatever has been running it. Before switching anything, export the chat ids, any tags or segments, and whatever state the flows depend on — a booking reference, a loyalty balance, a language preference. Once the webhook moves, the old platform stops receiving anything new.
One cutover, planned
A bot has exactly one webhook address at a time. Migration is the moment that address changes from the old platform to the new backend, so the new flows are built, tested against a copy of the exported data, and deployed before the switch. The switch itself takes seconds; a quiet hour is still the right time to make it.
After the cutover the old platform can be kept read-only for reference, then closed. Anything it charged for per contact stops the day it closes.
When the old code was custom
An abandoned custom build is a different problem: the code exists, but nobody currently understands it. That starts with a paid one-day audit of the code and the accounts, after which it is either stabilised under a support retainer or rebuilt at the catalogue price for its bot type. The deciding factor is almost always whether you control the token and the hosting, not how good the code is.
Questions before moving a bot
Will users notice the migration?
They keep talking to the same bot, with the same name and the same chat history on their side. They notice the new flows, not the move.
Can we migrate a bot whose platform will not export chat ids?
The bot keeps working for anyone who messages it after the cutover, and each of them is recorded again from that moment. Users who never message it again cannot be reached, because nothing tells the new backend they exist.
Is it cheaper to stay on the no-code platform?
Often, while the bot is a menu and a broadcast. It stops being cheaper when the bot has to write to a CRM, take payment or handle a flow the builder cannot express, which is usually why the question is being asked.
What does the rebuild cost?
The catalogue price of the bot type it becomes, plus any add-ons, both published. The export and cutover are part of that scope, not an extra.
Related reading
For whether leaving ManyChat is worth it at all, read ManyChat compared.
For the same question about Chatfuel, see Chatfuel compared.
For the general case for and against a builder, read custom build or no-code.
For taking over an abandoned custom bot, see what a rescue costs.
Before handing your token to anyone new, read how to choose a studio.