СейчасПочему мы не стали отправлять людей в отдельного бота
В одном из клиентских проектов сотрудники каждый вечер присылали мне голосовые итоги дня. Формат оказался удачным: человеку проще проговорить результат, препятствие и следующий шаг, чем заполнять ещё одну таблицу. Но дальше начиналась ручная работа. Я сохранял аудио из Telegram, складывал файлы по датам, передавал их Codex, уточнял состав отчётов, забирал готовые PDF и отправлял их обратно.
Пока материалов было немного, такой процесс держался на внимании. Затем сообщений стало больше, сотрудники начали присылать по два голосовых, иногда прикладывали файлы, а часть итогов приходила позже обычного. Стало ясно: ценность создаёт сам ежедневный цикл, а ручная перекладка файлов только забирает время и добавляет ошибки.
Мы с Стёпой Codex решили сохранить привычное человеческое взаимодействие в личном Telegram и вынести техническую работу в отдельный контур на Mac mini. Так личный чат стал входом в проектную систему.
Почему мы не стали отправлять людей в отдельного бота
Самый очевидный вариант — создать служебного бота и попросить всех писать ему. Технически это проще объяснить: вот отдельное окно, сюда отправляйте отчёты. Но в нашем процессе был важен личный адресат. Сотрудник говорил со мной, понимал, кому отправляет сообщение, и относился к итогам серьёзнее.
Подходящую возможность дал Telegram Business: владелец личного аккаунта может подключить бизнес-бота, разрешить ему работу только с выбранными чатами и оставить общение в привычной переписке. Человек пишет мне в личный Telegram. В фоне сообщение получает официальный Bot API.
В этом и состоит главная особенность решения. Для клиента ничего не меняется: он продолжает общаться со мной в личном Telegram, в том же чате и привычным способом. Business-бот незаметно подхватывает разрешённые сообщения на моей стороне и передаёт их в рабочий процесс.
Как устроен рабочий маршрут
Постоянный приёмник работает на Mac mini. Он получает обновления Telegram и сначала проверяет источник. Разрешение привязано к числовой связке business_connection_id, chat_id и user_id. Имя или имя пользователя для этого не подходят: их можно изменить, а числовая связка позволяет однозначно определить человека и конкретный чат.
После проверки приёмник сохраняет сообщение и вложения вне Git. Он принимает текст, голосовые, обычные аудиофайлы, документы и изображения. Каждое сообщение получает ключ защиты от повторов, поэтому перезапуск службы не должен создать второй экземпляр одного материала.
Голосовые и аудио проходят локальную транскрибацию. Система хранит исходную расшифровку и нормализованную версию: вторая исправляет очевидные ошибки распознавания и применяет словарь проекта, но не меняет смысл. Затем из материалов одной даты собирается подготовленный пакет источников.
Codex получает уже этот пакет. Telegram-токена, пароля, учётных данных других систем и права самостоятельно выбирать адресатов в нём нет. Смысловой проход выделяет факты, результаты, препятствия и следующие действия, сопоставляет отчёты между собой и собирает несколько разных документов.
Одновременно система получает подготовленный снимок amoCRM за тот же день строго без изменений. Сотрудник рассказывает, что сделал, а система сопоставляет его слова с зафиксированными действиями: событиями, задачами и движением сделок. В управленческом отчёте руководитель видит, что подтверждено данными amoCRM, что подтверждено частично и где для вывода не хватает информации.
- Каждый сотрудник получает короткое резюме только своего дня, без оценок и чужих данных.
- Руководитель получает сводный управленческий отчёт по людям, процессам, рискам и следующим действиям, дополненный сверкой с amoCRM.
- Если руководитель сам прислал итог, для него формируется отдельное личное резюме.
После проверки документов узкий исполнитель может отправить их обратно через тот же Business-бот. Перед отправкой система сверяет тип документа, адресата и контрольную сумму файла. Управленческий отчёт нельзя случайно отправить сотруднику, а повторный запуск не должен дублировать доставку.
Mac mini координирует, Codex разбирает смысл
Мы специально разделили постоянную автоматику и смысловую работу. Обычный код отвечает за получение сообщений, загрузку файлов, очереди, состояния, транскрибацию, создание PDF, доставку и журнал. Эти действия должны быть предсказуемыми и проверяемыми.
Codex подключается к одному подготовленному пакету как смысловой исполнитель. Он не живёт внутри Telegram и не управляет ботом напрямую. Его задача — понять содержание материалов и вернуть строго структурированный результат. После этого обычный код проверяет структуру и только затем разрешает внешние действия.
Такой разрыв снижает цену ошибки. Если транскрибация не завершилась, результат Codex не прошёл проверку или неизвестен адресат, цикл останавливается. Неполный документ никому не уходит.
Как частный процесс стал повторяемым способом подключения
После первого рабочего контура стало понятно, что сам транспорт не зависит от ежедневных отчётов. Через личный Telegram клиент может прислать договор, таблицу, фотографию, вопрос, голосовое объяснение или набор файлов. Дальше всё определяет контракт конкретного проекта: что считать входящим материалом, как его классифицировать, какой результат готовить и какие действия разрешены.
Мы зафиксировали этот процесс отдельным Codex-скиллом. Теперь в любом проекте я могу вызвать подключение Telegram Business обычной фразой. Скилл сам задаёт нужные вопросы: с кем работаем, какие сообщения принимать, что из них извлекать, где сохранять результат, кому можно отвечать и какие операции требуют моего подтверждения.
По умолчанию новый маршрут только принимает материалы и готовит черновик. Отправка сообщений, создание задач, запись в CRM или публикация включаются отдельно. Сначала проходит теневой пилот на одном контрольном сообщении: оно должно прийти ровно один раз, попасть только в нужный проект и не вызвать внешних действий.
Универсальный скилл уже описывает весь диалог подключения и безопасную проверку. Следующий инженерный слой — общий межпроектный маршрутизатор на Mac mini. Он должен вести единый журнал входящих и раскладывать материалы по отдельным очередям клиентов. Пока этот слой не включён, скилл не смешивает новый чат с действующим проектом и честно останавливается на подготовке контракта.
Что изменилось для меня и для клиента
Для клиента ничего не меняется. Он продолжает общаться со мной в личном Telegram так, как ему удобно. Можно надиктовать мысль по дороге, переслать документ или отправить фотографию. Business-бот подхватывает разрешённые материалы в фоне, а человеку не нужно осваивать новую систему, искать отдельного бота и помнить команды.
Для меня меняется вся внутренняя работа. Материал больше не нужно вручную скачивать, переименовывать, перекладывать между папками и заново объяснять Codex, что с ним делать. Проект получает постоянный вход, журнал происхождения, понятную обработку и проверяемую обратную доставку.
Самое важное здесь — новый интерфейс работы с клиентом. Человек общается привычным способом, а за обычным личным сообщением запускается полноценный проектный процесс. Telegram остаётся разговором. Система превращает этот разговор в данные, документы и действия с понятными границами.
По теме
Такой маршрут полезен там, где рабочие данные уже приходят в личные сообщения, но их обработка всё ещё держится на ручном внимании.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.