Telegram Business — это набор функций для предпринимателей и микробизнесов внутри обычного аккаунта. Особенность для разработки: бот теперь может работать не от имени отдельного @username_bot, а внутри личных диалогов владельца Business-аккаунта. Это меняет подход к чат-ботам для услуг, где клиент ожидает писать живому мастеру, а не «компании».
Что такое Telegram Business
Telegram Business — это платная подписка стоимостью около $4–5 в месяц, входящая в состав Telegram Premium. Она открывает владельцу аккаунта набор инструментов для работы с клиентами прямо в личных диалогах:
- Автоответы — текстовые шаблоны, которые отправляются автоматически при первом сообщении клиента или вне рабочих часов.
- Рабочие часы — расписание, при котором аккаунт показывается клиентам как «онлайн» или «не на связи».
- Быстрые ответы — заготовленные шаблоны, вставляемые по триггеру
/. - Ссылка-приглашение — короткий персональный URL вида
t.me/+abc123, который можно повесить в Instagram или на визитку. - Цветной аватар и стартовое сообщение — кастомизация первого касания.
- Теги для чатов — систематизация диалогов: «лиды», «постоянные», «должники».
- Подключение бота через механизм
business_connection— главное, ради чего эта статья.
Подписка покупается самим владельцем аккаунта (мастером, репетитором, психологом) — студия-разработчик к этой оплате отношения не имеет. Без активной подписки business_connection не работает.
Чем Business отличается от обычного бота
Классический бот — отдельный аккаунт, у него свой chat.id, своя команда /start, свои сообщения. Business-бот подключается к личному аккаунту пользователя и читает входящие сообщения от его клиентов. Соответственно:
- Клиент пишет напрямую владельцу аккаунта, а бот отвечает «от лица» владельца.
- У бота есть доступ к настройкам автоответов, расписанию, быстрым ответам.
- Бот может видеть и обрабатывать только сообщения, пришедшие после подключения, — старая переписка ему недоступна.
Как бот подключается к аккаунту Business-пользователя
Пошаговый флоу подключения:
- Владелец аккаунта (например, мастер маникюра) покупает Telegram Premium и активирует функции Business в настройках профиля.
- Разработчик включает в BotFather флаг
Business Modeдля своего бота:/mybots → выбрать бота → Bot Settings → Business Mode → Turn On. - Владелец заходит в Settings → Telegram Business → Chatbots → Add Bot и вводит
@usernameбота. - Telegram показывает экран разрешений: читать сообщения, отвечать, доступ к контактам — владелец подтверждает.
- Бот моментально получает webhook-апдейт
business_connectionс уникальнымconnection_idиuser.idвладельца. - С этого момента бот видит входящие в личных чатах владельца через апдейт
business_message.
Если владелец отключает бота в настройках — приходит повторный business_connection с is_enabled=false.
Event business_connection: структура и обработка
Когда владелец подключает бота, прилетает такой апдейт:
{
"update_id": 123,
"business_connection": {
"id": "conn_abc123",
"user": {
"id": 12345,
"first_name": "Алексей",
"username": "alex_master"
},
"user_chat_id": 12345,
"date": 1717000000,
"can_reply": true,
"is_enabled": true
}
}
Разбор полей:
id—business_connection_id, который потом нужно передавать в каждыйsendMessageот имени владельца. Сохраняется на стороне бота в БД — без него ответить нельзя.user— владелец Business-аккаунта (мастер). По егоidбот узнаёт, кому принадлежит подключение.user_chat_id— личный чат с владельцем (для системных уведомлений мастеру).date— UNIX-timestamp подключения.can_reply— может ли бот отправлять сообщения. Еслиfalse, бот только читает.is_enabled— активно ли подключение прямо сейчас.
При получении этого апдейта бот должен:
- Сохранить
connection_idв БД, привязав кuser.idвладельца. - Записать состояние
can_replyиis_enabled— на основе них активировать или приостановить функционал. - Опционально отправить владельцу приветствие в его
user_chat_id: «Я подключён, всё готово».
Event business_message: входящие сообщения от клиентов владельца
Когда клиент пишет мастеру, бот получает:
{
"update_id": 124,
"business_message": {
"message_id": 9876,
"business_connection_id": "conn_abc123",
"from": {
"id": 67890,
"first_name": "Мария",
"username": "maria_client"
},
"chat": {
"id": 67890,
"type": "private"
},
"date": 1717000300,
"text": "Здравствуйте! Хочу записаться на четверг."
}
}
Здесь важны два правила фильтрации:
- Игнорировать сообщения от самого владельца. Если
from.id == user.idиз сохранённогоbusiness_connection, это мастер пишет клиенту вручную — бот не должен отвечать на свои собственные сообщения через зеркальный канал. - Группировать по
chat.id. Внутри одногоbusiness_connection_idмогут быть десятки параллельных диалогов — состояние FSM должно вестись по паре(connection_id, chat_id), не глобально.
Чтобы ответить от имени владельца, бот вызывает sendMessage с параметром business_connection_id:
POST /bot<token>/sendMessage
{
"business_connection_id": "conn_abc123",
"chat_id": 67890,
"text": "Здравствуйте! На четверг свободно 14:00 и 17:00."
}
Сообщение появится в чате как обычное сообщение от мастера — клиент не видит, что отвечает бот.
Пример кода обработки на aiogram 3
from aiogram import Bot, Dispatcher, F
from aiogram.types import BusinessConnection, BusinessMessage
from sqlalchemy.ext.asyncio import AsyncSession
dp = Dispatcher()
@dp.business_connection()
async def on_connection(conn: BusinessConnection, session: AsyncSession):
await session.merge(BusinessOwner(
owner_id=conn.user.id,
connection_id=conn.id,
can_reply=conn.can_reply,
is_enabled=conn.is_enabled,
))
await session.commit()
if conn.is_enabled:
await bot.send_message(
chat_id=conn.user_chat_id,
text="Бот подключён. Буду отвечать вашим клиентам в нерабочее время.",
)
@dp.business_message(F.text)
async def on_client_message(msg: BusinessMessage, bot: Bot, session: AsyncSession):
owner = await session.get(BusinessOwner, msg.business_connection_id)
if not owner or not owner.is_enabled or not owner.can_reply:
return
if msg.from_user.id == owner.owner_id:
return # сам мастер пишет клиенту, не вмешиваемся
reply = await build_reply(owner, msg.chat.id, msg.text)
if reply is None:
return # передаём диалог человеку молча
await bot.send_message(
business_connection_id=msg.business_connection_id,
chat_id=msg.chat.id,
text=reply,
)
Таблица разрешений: что бот может в Business-режиме
| Действие | Доступно |
|---|---|
| Читать входящие сообщения чата владельца | Да |
| Отвечать от имени владельца | Да, если can_reply=true |
| Видеть историю до подключения | Нет |
| Отправлять файлы и медиа | Да |
| Удалять сообщения владельца | Нет |
| Доступ к контактам владельца | Нет |
| Доступ к группам и каналам владельца | Нет, только 1:1 чаты |
| Видеть и инициировать звонки | Нет |
| Менять аватар и имя владельца | Нет |
Получать edited_business_message | Да |
Технический интерфейс
Bot API ввёл несколько обновлений и полей:
business_connection— апдейт о том, что владелец Business-аккаунта подключил вашего бота.business_message,edited_business_message— апдейты о входящих и отредактированных сообщениях клиентов.- Новый параметр
business_connection_idв методах отправки — указывает, в рамках какого подключения слать сообщение.
Чтобы бот стал доступен в Business, в BotFather нужно включить флаг бизнес-режима. Дальше владелец аккаунта в настройках Telegram Business → Chatbots добавляет бота и выбирает права: читать переписку, отправлять сообщения, видеть контакты.
Лимиты и ограничения
| Лимит | Значение |
|---|---|
| Сколько ботов может подключить один владелец | Один |
| Сколько Business-аккаунтов может обслуживать один бот | Не ограничено (подходит для SaaS) |
| Условие активности подключения | Активный Telegram Premium у владельца |
| Что происходит при истечении Premium | is_enabled=false, бот перестаёт получать апдейты |
| Доступ к секретным чатам | Нет |
| Доступ к группам и каналам владельца | Нет, только приватные 1:1 чаты |
| Rate limit на отправку | Стандартный, как у обычного бота |
| Глубина истории до подключения | 0 сообщений |
Что можно автоматизировать
Реалистичные сценарии для услуг и микробизнеса:
- Автоответ ночью — бот отвечает клиентам, когда мастер спит.
- Запись на услугу — клиент пишет «хочу маникюр на пятницу», бот предлагает свободные слоты.
- FAQ — типовые вопросы про цены, адрес, парковку.
- Префильтр — бот собирает у клиента имя, услугу, желаемое время, и только потом подсвечивает диалог владельцу.
- Нотификации — за день до записи бот напоминает, спрашивает подтверждение.
Кейс: бот для мастера маникюра
Типичный флоу:
- Клиентка пишет мастеру в личку: «Хочу записаться на четверг, можно ближе к вечеру?»
- Бот видит сообщение через
business_message, фильтр поfrom.id != owner.idпропускает его дальше. - Лёгкая модель (правила или GPT-классификатор) определяет интент «запись».
- Бот идёт в YCLIENTS API за свободными слотами на четверг после 16:00.
- Отвечает от имени мастера: «Здравствуйте! На четверг свободно 16:00, 17:30 и 19:00. Какое подойдёт?»
- Клиентка выбирает «17:30». Бот фиксирует запись через YCLIENTS, тегирует чат меткой «booked».
- Мастер видит подтверждённую запись в дашборде студии и в своём календаре YCLIENTS.
Кейс: бот для репетитора
То же самое, но с уклоном в долгие отношения:
- Расписание занятий по дням недели, перенос с уведомлением минимум за 24 часа.
- Сбор и приём домашних заданий: бот ждёт фото или PDF, складывает в Google Drive по папке ученика.
- Оплата пакетов уроков: бот формирует ссылку на YooKassa, отслеживает успешную оплату через webhook, продлевает абонемент.
- Напоминания за 2 часа до занятия с проверочным вопросом «придёте?».
Кейс: бот для психолога
Здесь важна этическая грань. Бот никогда не отвечает по существу — это нарушает доверие и может навредить. Допустимая зона ответственности:
- Запись на сессию, перенос, отмена.
- Отправка ссылки на оплату.
- Пересылка домашнего задания, выданного психологом, в назначенное время.
- Уведомление клиента в первом контакте: «Здравствуйте, Анна. Расписание и оплата у меня автоматизированы — отвечает бот. Все терапевтические вопросы — только лично».
- Согласие на обработку ПДн при первом сообщении (ссылка на политику).
Любые попытки клиента поговорить «о наболевшем» бот молча игнорирует — диалог остаётся психологу.
Кейс: SaaS-сервис для команд продаж
Один Business-бот подключается к аккаунтам N менеджеров одной компании:
- Каждое утро бот шлёт руководителю дайджест: сколько диалогов вчера, сколько ответов «холодные», сколько горячих лидов.
- AI-анализ настроения клиента в каждом диалоге — флаг «клиент злится» подсвечивается руководителю в реальном времени.
- Авто-сохранение лидов в Bitrix24/amoCRM с источником «Telegram», автором (менеджер), стенограммой первых 10 сообщений.
- Шаблоны быстрых ответов, унифицированные на всю команду.
Интеграция с YCLIENTS, DIKIDI, Telegram Calendar
Что дают эти системы Business-боту:
- YCLIENTS / DIKIDI — REST API для проверки занятости мастера на дату, создания и отмены записи, получения списка услуг и цен. Подключение через OAuth: мастер (он же владелец Business-аккаунта) при онбординге в студийном дашборде даёт согласие, бот получает access-token конкретно его филиала.
- Webhook'и обратно: YCLIENTS пушит событие
record_createdилиrecord_changed— бот отправляет клиенту напоминание черезbusiness_connection_idза день и за два часа. - Telegram Calendar / Google Calendar — для репетиторов и психологов, где нет YCLIENTS, бот ведёт календарь напрямую через Google Calendar API на отдельном service account, шарит его с почтой владельца.
Цепочка авторизации: один онбординг в студийном дашборде → OAuth с YCLIENTS → подключение Business-бота через BotFather → готово, мастер ничего больше не настраивает.
Сценарий «передача живому»
Самое важное в Business-боте — корректная передача диалога человеку. Если клиент задаёт нестандартный вопрос, бот не должен зацикливаться на сценариях, а тихо «уйти», оставив диалог владельцу. Стандартный подход:
- Бот отвечает только в рабочее время или только на типовые сообщения.
- Если входящее не подходит ни под один сценарий — бот молчит и ждёт владельца.
- Если владелец сам отправил сообщение клиенту, бот «уступает» этот диалог на сутки.
Монетизация: модели для разработчиков Business-ботов
| Модель | Сценарий и цена |
|---|---|
| SaaS-подписка | 599–1990₽/мес за бота-ассистента, тариф зависит от лимитов AI |
| Транзакционная | 3–10% от каждой записи, проведённой через бота |
| Freemium | Базовый бот бесплатно, AI-ответы и аналитика — платно |
| Whitelabel / лицензия | Бот под брендом сети салонов, фикс за филиал в месяц |
| Разовое внедрение | Студия делает бота под мастера за 30–80 тыс. ₽, поддержка отдельно |
Для микробизнеса лучше работает SaaS с понятным «199₽ за первого клиента, который пришёл через бота». Для сетей — whitelabel с CRM и аналитикой.
Ограничения
Что не умеет Business-бот:
- Не видит сообщения, отправленные до подключения.
- Не работает в супергруппах и каналах владельца.
- Не подменяет аватар и имя владельца — клиенты пишут именно человеку, и интерфейс не показывает, что отвечает бот.
- Платежи внутри Business-режима не обрабатываются ботом — для оплаты используют отдельный бот или платёжную ссылку.
UX-нюансы
Главный риск — клиент понимает, что общается с ботом, и обижается. Снимается это тремя приёмами:
- Короткие, человеческие формулировки. Не «Здравствуйте! Я бот компании Х» — просто «Привет! Я отвечу через пару минут, если буду на связи; сейчас — автоответчик».
- Не пытаться поддерживать длинный диалог в стиле AI. Лучше пара выверенных шагов: имя, услуга, время.
- Чёткая граница: «Передам Анне, она подтвердит ближе к 10 утра». Никаких обещаний, которые бот не контролирует.
Безопасность
Business-бот видит личную переписку владельца с клиентами — это чувствительные данные. Минимальный набор мер:
- Шифрование переписки в БД на стороне бота.
- Доступ к админ-панели только по 2FA.
- Хранение только нужных сущностей (имя, услуга, дата) — не всю историю.
- Прозрачный отказ: «бот удаляет переписку через 30 дней» — и реально удаляет.
Юридические нюансы
Business-бот видит сообщения третьих лиц — клиентов мастера. Возникает развилка по 152-ФЗ:
- Оператор ПДн — почти всегда сам владелец Business-аккаунта (мастер, репетитор), потому что именно он собирает данные клиентов для оказания услуги.
- Обработчик ПДн — студия, разработавшая и хостящая бота, если бот сохраняет переписку, имена, телефоны на серверах студии. Тогда между мастером и студией нужен договор поручения обработки по ст. 6 ч.3 152-ФЗ с описанием цели, перечня действий, мер защиты и сроков.
- Уведомление РКН о трансграничной передаче, если бот пересылает данные в Telegram (а он пересылает по определению).
- Согласие клиента — мастер должен в первом сообщении или при онбординге уведомить клиента, что в диалоге участвует бот-ассистент, и дать ссылку на политику обработки ПДн.
Без этой обвязки Business-бот — юридическая мина для студии.
Типичные ошибки реализации
- Бот отвечает на свои же сообщения. Если не отфильтровать
from.id == owner.id, бот воспринимает реплики мастера как клиентские и зацикливается. - Не сохранён
connection_id. Без негоsendMessageупадёт с 400 — апдейтbusiness_connectionнужно записывать в БД сразу, в первой же строке хендлера. - Игнорируется
is_enabled=false. Когда у мастера истекает Premium, подключение становится неактивным; попыткиsendMessageвозвращают 400, забивая логи. - Попытка прочитать историю до подключения. Бот пробует достать «контекст» предыдущих 50 сообщений — Telegram их не отдаёт, бот отвечает невпопад.
- Нет rate-limit на ответы. При зависшей петле клиент получает десяток сообщений в секунду — Telegram затем временно банит бота за флуд.
- Отсутствие per-
(connection_id, chat_id)FSM. Состояние диалога ведётся глобально, и шаги одного клиента смешиваются с шагами другого. - Захардкоженный
business_connection_id. В тестах оставилиconnection_idсвоего аккаунта — на проде бот пытается слать всем через чужое подключение и получает 400.
Когда Business не подходит
Business имеет смысл, когда у вас:
- Один-два сотрудника, работающих с личным аккаунтом.
- Высокая доля типовых вопросов.
- Нет потребности в сложной воронке и платёжной интеграции.
Если у вас десятки операторов, нужна CRM, статистика по клиентам, передача между сменами — лучше делать классического бота @company_bot или Telegram-приложение поверх HelpDesk.
Итого
Telegram Business для ботов — это про автоматизацию микробизнеса и услуг, где клиент ожидает писать конкретному мастеру. Бот корректно работает как «второй пилот»: отвечает ночью, фильтрует входящие, напоминает о записи, но не лезет в живой диалог. Реализация на Bot API простая — отдельные апдейты business_connection и business_message, параметр business_connection_id в отправке. Главная сложность — UX, чтобы клиент не чувствовал, что общается с роботом.
Частые вопросы
Что такое Telegram Business и как он связан с ботами?
Telegram Business — набор функций для предпринимателей и микробизнесов внутри обычного аккаунта. Особенность для разработки: бот может работать не от имени отдельного @username_bot, а внутри личных диалогов владельца Business-аккаунта. Это меняет подход к чат-ботам для услуг, где клиент ожидает писать живому мастеру, а не «компании». Классический бот — отдельный аккаунт со своим chat.id и /start. Business-бот подключается к личному аккаунту и читает входящие от клиентов, отвечая «от лица» владельца, что воспринимается как живой диалог.
Как технически подключить бота к Telegram Business?
Bot API ввёл несколько обновлений и полей. business_connection — апдейт о том, что владелец Business-аккаунта подключил вашего бота. business_message, edited_business_message — апдейты о входящих и отредактированных сообщениях клиентов. Новый параметр business_connection_id в методах отправки — указывает, в рамках какого подключения слать сообщение. Чтобы бот стал доступен в Business, в BotFather нужно включить флаг бизнес-режима. Дальше владелец в настройках Telegram Business → Chatbots добавляет бота и выбирает права: читать переписку, отправлять, видеть контакты.
Какие сценарии можно автоматизировать в Telegram Business?
Реалистичные сценарии для услуг и микробизнеса. Автоответ ночью — бот отвечает клиентам, когда мастер спит. Запись на услугу — клиент пишет «хочу маникюр на пятницу», бот предлагает свободные слоты. FAQ — типовые вопросы про цены, адрес, парковку. Префильтр — бот собирает у клиента имя, услугу, желаемое время, и только потом подсвечивает диалог владельцу. Нотификации — за день до записи бот напоминает, спрашивает подтверждение. Это снимает с предпринимателя половину рутины и при этом не превращает диалог в общение с роботом.
Как корректно передать диалог из бота владельцу?
Самое важное в Business-боте — корректная передача диалога человеку. Если клиент задаёт нестандартный вопрос, бот не должен зацикливаться на сценариях, а тихо «уйти», оставив диалог владельцу. Стандартный подход. Бот отвечает только в рабочее время или только на типовые сообщения. Если входящее не подходит ни под один сценарий — бот молчит и ждёт владельца. Если владелец сам отправил сообщение клиенту, бот «уступает» этот диалог на сутки. Без этой логики бот может перебивать живой разговор, что раздражает клиента и владельца.
Какие ограничения у Telegram Business для ботов?
Что не умеет Business-бот. Не видит сообщения, отправленные до подключения — старая переписка ему недоступна. Не работает в супергруппах и каналах владельца. Не подменяет аватар и имя владельца — клиенты пишут именно человеку, и интерфейс не показывает, что отвечает бот. Платежи внутри Business-режима не обрабатываются ботом — для оплаты используют отдельный бот или платёжную ссылку. Это нормально для микробизнеса, но если нужны сложные воронки и оплаты, лучше делать классического бота @company_bot.
Когда Telegram Business не подходит и нужен классический бот?
Business имеет смысл, когда у вас один-два сотрудника, работающих с личным аккаунтом, высокая доля типовых вопросов, нет потребности в сложной воронке и платёжной интеграции. Если у вас десятки операторов, нужна CRM, статистика по клиентам, передача между сменами — лучше делать классического бота @company_bot или Telegram-приложение поверх HelpDesk. Также безопасность: Business-бот видит личную переписку владельца с клиентами — это чувствительные данные, требующие шифрования в БД, 2FA в админке и хранения только нужных сущностей.
Сколько ботов можно подключить к одному Business-аккаунту и наоборот?
Один владелец Business-аккаунта может подключить только одного бота — это ограничение Telegram. Зато один бот может обслуживать неограниченное количество Business-аккаунтов, что и делает возможной SaaS-модель: одна студия пишет бота, тысячи мастеров подключают его к своим аккаунтам, каждый получает свой business_connection_id. Условие активности — действующий Telegram Premium у владельца. Если подписка истекла, прилетает повторный business_connection с is_enabled=false, и бот перестаёт получать апдейты. Также бот работает только в приватных 1:1 чатах: группы, каналы, секретные чаты и звонки ему недоступны.
Кто оператор персональных данных, если бот видит переписку клиентов мастера?
По 152-ФЗ оператор персональных данных — почти всегда сам владелец Business-аккаунта (мастер, репетитор, психолог), потому что именно он собирает данные клиентов для оказания услуги. Студия, разработавшая и хостящая бота, становится обработчиком, если бот сохраняет переписку, имена, телефоны на серверах студии. В этом случае между мастером и студией нужен договор поручения обработки по ст. 6 ч.3 152-ФЗ с описанием цели, перечня действий, мер защиты и сроков хранения. Дополнительно требуется уведомление клиента в первом сообщении о наличии бота-ассистента и ссылка на политику обработки ПДн. Без этой обвязки Business-бот — юридическая мина.
Какие самые частые ошибки при разработке Business-бота?
Топ-5 ошибок. Первая — бот отвечает на свои же сообщения, потому что нет фильтра from.id равно owner.id. Вторая — не сохраняется connection_id из апдейта business_connection, и тогда sendMessage падает с 400. Третья — игнорируется is_enabled=false при истёкшем Premium, бот забивает логи ошибками. Четвёртая — попытки подтянуть историю до подключения, которая Telegram'ом не отдаётся в принципе. Пятая — отсутствие per-(connection_id, chat_id) FSM, из-за чего шаги одного клиента смешиваются с шагами другого. Все они дешёвые в исправлении и катастрофические по эффекту, если найдены уже на проде.