At 6:40 PM, a site foreman sends fourteen photos from the job site to the group chat, followed by a voice message from the procurement officer and a question from the accountant. An hour later the photos are impossible to find, and the manager does not know whether the screed on the second floor is finished. An internal Telegram bot for company employees turns this stream into records with an author, a site, a time and a status. Below: which processes to move to a bot first, what limits the Telegram Bot API has, how to keep outsiders out and when a bot builder is no longer enough.
Why a group work chat falls short
A group chat is good for conversation and bad for record keeping. Messages have no fields: you cannot filter the conversation by site or see open requests, and a chat export gives you the same stream. Someone in the office copies the data by hand, and that is where errors creep in.
A bot collects data differently. An employee taps “Daily report,” and the bot asks for the site, the work done, photos and issues one by one. The answers go into the database on the bot’s server as a single record, the manager receives a finished report and sees all reports for the site for the week in the web panel. Nothing needs to be installed: most employees already have Telegram on their phones.
Which processes to move to a bot
The right processes are those that repeat every day or week and have someone responsible for them. If a process changes every month and no one owns it, a bot will not fix it.
Daily reports
At 6 PM, the bot reminds the crew leader to submit a report. The report is built in short steps with buttons: a site from a list, types of work as checkboxes, volume as a number. Free text remains only where it cannot be avoided, for example in the “Issues” field. In the morning, the manager sees who has submitted a report, who has not and where there are problems.
Only those who have already tapped “Start” in the bot will receive the reminder (the reason is explained in the section on Bot API limits).
Site photo reports and geolocation
In the bot, a photo report from a site is linked to the site and the task. The bot can require a “before” photo and an “after” photo and keep the task open until both are in. Telegram has a dedicated geolocation button: when it is tapped, the bot receives the phone’s current location. For drivers and field technicians, live location works well: the employee turns it on in the chat with the bot, and the bot receives updated coordinates until the live location sharing ends.
The coordinates come from the phone, and they can be spoofed with special apps. Geolocation settles most “was the technician on site” questions, but it will not serve as proof in a dispute.
Purchase and repair requests
A refrigerated display case in a store is not holding its temperature. The manager opens “Repair request” in the bot, selects the location and the equipment, attaches a photo and marks the urgency. The request gets a number and a status, the technician sees it in their list, and the manager gets a message when the status changes to “In progress” and “Done.” Purchase requests work the same way: what is needed, how much, for which site and by what date.
Request approvals in the bot
Request approval in the bot is a message with “Approve” and “Reject” buttons sent to the person who makes the decision. A request can be rejected with a comment, and it goes back to its author. If the amount is above a threshold, the request goes to the CFO after the department head. Every decision is recorded in a log with a name and a time, so the question “who authorized this purchase” is answered by the log rather than by the manager’s memory.
Vacation, time off and sick leave are handled the same way: the employee selects the dates and attaches a document, the manager approves, and HR receives a completed request.
CRM and accounting system notifications
The bot can report events in other systems: a deal has been assigned to a sales manager, a client has paid an invoice, an item is out of stock in the warehouse, a CRM task is overdue. The system sends the event to the bot’s server, and the bot messages the right person. It also works the other way: a report or request from the bot creates a CRM record without manual re-entry.
Agree on two integration details in advance. If the CRM is unavailable at the moment of sending, the bot’s server must save the record and send it later without creating a duplicate. Each reference list needs a master system: for example, clients are maintained in the CRM, and the bot only reads them.
Telegram Business is a separate case. If clients message a sales manager in their work Telegram account, a bot can be connected to that account. The account owner chooses which chats the bot can see, and the bot can, for example, create a CRM task for each new inquiry. Since Bot API 10.0 (May 2026), a Telegram Premium subscription is not required for this.
Knowledge base and onboarding in the bot
In their first week, a new hire asks the same questions: where to get a pass, how to request time off, whom to tell about a breakdown, where to find the goods receiving procedure. A bot with sections and search answers at any time and sends materials for the first days on a schedule. After a block of materials, the bot can give a short quiz and send the result to the mentor.
Where AI fits
With AI, an employee dictates a report as a voice message, and the bot saves it as text. The bot breaks a photo of a delivery note into fields: supplier, number, amount. How document recognition works and why the result needs to be checked is covered in the article “AI instead of manual document entry”. We recommend starting without AI: the model is added at one step where manual entry really takes time, and a person always keeps the ability to correct what was recognized.
Chat buttons, Mini App or web panel
A bot with buttons suits short scenarios: three to five questions, a choice from a list, a photo, a confirmation. An employee can answer with one hand right on site.
Long forms are awkward in a chat dialog: a purchase request with ten items, a stock table, a shift schedule or date filters do not fit well into a “question and answer” format. For such tasks there is the Telegram Mini App, a web application that opens inside Telegram from a button in the chat or from the bot menu. A Mini App can hold a full form, a table, a calendar or a catalog. At launch, the Mini App receives the user’s data from Telegram, so no separate login and password are needed. A Mini App can expand to full screen, add a shortcut to the phone’s home screen and request geolocation.
Managers and the office usually also need a web panel in the browser: summary reports, export to Excel, reference lists of sites and employees, access rights, bot texts and broadcasts are easier to manage on a large screen.
Our recommendation for most companies: buttons for field employees, a Mini App where a form or table does not fit into a dialog, and a web panel for the office and management. If almost all scenarios revolve around tables and long forms, you need a Mini App from day one.
Telegram Bot API limits for internal bots
The limits below come from the official Telegram documentation and are the ones that most often affect internal bots. The current version at the time of checking (October 2026) is Bot API 10.3.
- The bot does not message first. An employee must open the bot and tap “Start” or add the bot to a group. You can load the employee directory into the bot’s database, but the bot will only be able to message employees after each of them opens it via an invitation link.
- Message length. Text is limited to 4096 characters, a photo or file caption to 1024. The bot splits a long report into parts or sends it as a file.
- File size. Through the official Bot API server, a bot downloads files up to 20 MB, sends files up to 50 MB and photos up to 10 MB. A 200 MB video from a site cannot be handled this way. Telegram allows you to run your own Bot API server: then the bot sends files up to 2000 MB and downloads them with no size limit.
- Broadcast speed. Telegram advises sending no more than one message per second to a single chat, a bot cannot send more than 20 messages per minute to a group, and mass broadcasts are limited to about 30 messages per second. This is more than enough for a company of several hundred people.
- Bots in groups. By default, a bot in a group sees only commands addressed to it and replies to its own messages. For the bot to read the whole conversation, its privacy mode is turned off or it is made a group admin.
- Buttons. There are buttons under a message and a keyboard that replaces the regular one. The “Send location” and “Send phone number” buttons work only in a private chat with the bot.
- Message history. Cloud storage for bots is limited: Telegram may delete old messages soon after the bot has processed them. The archive of reports and photos must be kept in the bot’s database and file storage.
Telegram may change any of these limits. Before a project, we check them against the Bot API documentation and the FAQ for bot developers.
Access, roles and data security
Who can use the bot
By default, a Telegram bot is open: anyone who learns its name can find the bot in search and tap “Start.” That is why access is checked by the bot’s server, regardless of which buttons the bot has shown. Telegram’s documentation advises always checking on the server whether the user is allowed to run a command, even if the button for that command was never shown to them.
A working setup: an employee receives a personal link or a one-time code, and the bot links their Telegram account to their record in the employee directory. The bot can request the phone number with a button and match it against the directory. Until the account is linked, the bot shows nothing.
Roles
Each role has its own set of functions: a crew leader sees their own sites and reports, a procurement officer sees purchase requests, and a manager sees everything and approves. When a crew leader moves to procurement, the administrator changes their role in the web panel, and from the next message the bot shows a different menu.
When an employee leaves, the administrator disables them in the web panel, and the bot stops responding to them. The person will not receive new data, but what has already been sent stays with them: a bot can delete its own messages only within 48 hours of sending them. The former employee is removed from work groups in Telegram separately, and the invitation link is revoked.
Where the data is stored
Reports, requests, photos and the action log are kept in the database on the bot’s server. If it is the company’s own server or one the company rents, the data stays under the company’s control: it can be backed up and exported.
A conversation with a bot is a regular cloud chat: it is encrypted between the client and the Telegram server and stored in the Telegram cloud, while end-to-end encryption is available only in secret chats (Telegram FAQ). Telegram delivers the message to the bot’s server already decrypted, over a secure HTTPS connection. The content is accessible to Telegram and to the owner of the bot’s server, so passport scans, salary data and commercial contracts are best kept out of the bot. For such documents, the bot sends only a notification with a link, and the document itself opens in a Mini App or the web panel and loads from the company’s server. If the data comes through a Mini App, the bot’s server must verify the signature of the user data from Telegram: the Mini Apps documentation explicitly warns that unverified data must not be trusted.
For internal documents, there is also a content protection flag: such a message cannot be forwarded or saved with Telegram’s built-in tools. The flag does not prevent someone from photographing the screen with another phone.
Public sector and critical infrastructure
In September 2024, the National Cybersecurity Coordination Center under the National Security and Defense Council of Ukraine restricted the use of Telegram on the work devices of government employees, military personnel, security and defense sector workers and critical infrastructure staff. The exception is those whose job duties include working with Telegram; the decision does not apply to personal smartphones. If a company is part of critical infrastructure, a Telegram bot is not suitable for work phones, and the same process is moved to Viber, Discord or a web application.
Bot builder or custom development
A bot builder works when there is a single, linear process (for example, a five-question form with answers going to a Google Sheet) and the company is fine with the data being stored by the builder service. For testing an idea with one crew, this is a reasonable start.
Custom development is needed if any of the following applies:
- there are roles and different access rights, and the employee directory must match HR records;
- the bot exchanges data with a CRM, an accounting system, a website or a warehouse in both directions;
- approvals go through a chain with conditions (amount, department, site);
- you need to handle files larger than 20 MB, which means your own Bot API server;
- company requirements say the data must be stored on its own server;
- the manager needs a web panel with their own reports and exports;
- AI is built into the process, and the result is checked against company rules.
Neither a builder nor custom development will help if the process is not described. When two managers give different answers to the question “who approves a purchase of UAH 15,000,” the bot will only record the confusion. First the process is written down on one page, then it is automated.
How to launch a bot without extra costs
- Choose the one process that gets in the way the most. Most often it is daily reports or repair requests.
- Describe the process step by step: which fields the employee fills out, what statuses the record has, who receives notifications, who approves and where the data goes.
- Decide who will use the bot and prepare an employee directory with roles.
- Run a pilot with one crew, store or department for two to three weeks. Collect complaints: where employees get confused, which fields are unnecessary. Before the pilot, record how many reports arrive on time and how many days a request waits for a decision; after the pilot, compare the same numbers using the bot’s data.
- Refine the bot and connect the remaining teams. Integrations with the CRM and accounting are easier to add after the pilot, once the data structure has settled.
- Assign an owner for the bot within the company: someone has to maintain the reference lists, texts and permissions.
The bot has caught on if people stop asking “did you send the report?” in chats, and the manager opens the summary in the web panel instead of scrolling through messages.
How RIVERIT can help
We develop Telegram bots in code from scratch, without builders, so the logic of reports, requests and approvals follows your process. We build a web panel for the bot: texts, broadcasts, statistics. For long forms and tables inside Telegram, we develop a Telegram Mini App. If Telegram is restricted in your company, we build the same bot for Viber or Discord. We add AI models that extract data from photos and documents as part of AI automation where this saves employees time.













