Telegram-бот и таблица: как бот записывает заявки, отчёты и учёт в Google или Яндекс Таблицы и когда таблицы уже мало
Короткий ответ: связка «Telegram-бот плюс таблица» — самый дешёвый способ навести порядок в заявках, отчётах и мелком учёте: человек отвечает боту на несколько вопросов, бот проверяет ответы и добавляет строку в Google Таблицу через официальный API. Работает это надёжно, пока записей десятки или сотни в день, а таблицу читают несколько человек. Когда появляются статусы, права по ролям, персональные данные клиентов и споры «кто стёр строку», таблицу пора заменить базой данных или CRM, оставив выгрузку в Excel для отчётов.
Ниже — сценарии, устройство связки изнутри, как разметить лист, какие ограничения у API, что с Яндекс Таблицами и по каким признакам понять, что вы переросли таблицу. Как бот принимает заявку клиента и передаёт её менеджеру, мы разбирали в статье о боте для приёма заявок; здесь — именно про таблицу как место хранения.
Для каких задач подходит бот с таблицей?
Те, где одно и то же действие повторяется много раз в день и сейчас делается сообщением в чат или записью на бумаге: заявка, отчёт с объекта, приход товара, расход, выход на смену. Бот задаёт одинаковые вопросы в одинаковом порядке, а в таблице получается ровный журнал, который можно фильтровать.
- Заявки с бота и сайта в одном журнале. Дата, источник, имя, телефон, суть, ответственный. Менеджер ставит в соседней колонке «взял», руководитель вечером фильтрует пустые.
- Отчёт с объекта. Прораб, монтажник или выездной мастер выбирает объект из списка, пишет, что сделано, прикладывает фото и геопозицию. В строку попадают время, объект, текст и ссылка на папку с фото.
- Приход и выдача товара. Кладовщик выбирает позицию, вводит количество, бот считает остаток по формуле на соседнем листе и предупреждает, если позиции меньше минимума.
- Учёт расходов. Сотрудник отправляет сумму, статью и фото чека; бухгалтер в конце месяца получает готовый реестр по людям и статьям, а не пачку фотографий в личных сообщениях.
- Выход на смену и табель. Кнопки «начал» и «закончил» с отметкой времени; сводная по часам строится уже в таблице.
- Обратная связь и проверки. Короткая анкета после визита или чек-лист обхода точки: каждая проверка — строка с оценками по пунктам.
Общее у всех сценариев: данные вводят люди с телефона, на ходу, без доступа к компьютеру. Именно здесь бот выигрывает у формы в браузере и у прямого доступа к таблице — на маленьком экране таблицу редактировать неудобно, а кнопки нажимать легко.
Как бот записывает строку в Google Таблицу?
Бот работает на сервере. Получив ответы, он проверяет их, собирает строку и отправляет запрос «добавить строку» в Google Sheets API от имени сервисного аккаунта — технической учётной записи Google, которой вы дали доступ редактора к одному файлу. Люди при этом продолжают работать в таблице как обычно.
- Диалог. Пользователь нажимает кнопку, бот задаёт вопросы по очереди. Где можно, ответ выбирается кнопкой из списка — объекты, статьи расходов, товары, — чтобы в таблицу не попали «Ленина 5», «ул. Ленина, д.5» и «ленина5» как три разных адреса.
- Проверка. Сумма — число, дата — не из будущего, телефон — в одном формате. Если что-то не так, бот переспрашивает сразу, а не через неделю в бухгалтерии.
- Подтверждение. Бот показывает итог: «Расход 2 450, статья «Топливо», объект «Склад-2». Всё верно?» — и только после «да» пишет в таблицу.
- Запись. Сервер добавляет строку в конец листа и присваивает ей номер. Номер бот возвращает пользователю: по нему запись потом легко найти.
- Повтор при сбое. Если Google ответил ошибкой или не ответил, запись не теряется: она ждёт в очереди на сервере и уходит повторно.
Списки для кнопок бот может читать из той же таблицы, со служебного листа: добавили новый объект строкой — он появился в меню бота без программиста. Это одно из главных удобств связки, и его стоит заложить с самого начала.
Вариант без своего сервера — скрипт Apps Script внутри таблицы, который принимает данные от бота. Для одного простого сценария он подходит, но повторы при сбое, очередь, журнал ошибок и проверка ответов в нём делаются с трудом. Где разместить самого бота и почему он не должен «засыпать», мы описали в статье о сервере и webhook для бота.
Google Таблицы или Яндекс Таблицы: куда может писать бот?
У Google Таблиц есть официальный API с построчной записью — это основной вариант. Для Яндекс Таблиц публичного API записи ячеек мы в официальной документации на октябрь 2026 года не нашли, поэтому с ними работают через обмен файлом на Диске, через динамические таблицы Яндекс Вики или через свою базу с выгрузкой.
Если компания уже работает в Яндекс 360 и переходить в Google не хочет, есть два честных пути. Первый — динамическая таблица в Яндекс Вики: в её API есть методы добавления строк и обновления ячеек, но по справке Вики в одной такой таблице не больше 1000 строк, так что для журнала на годы она не годится. Второй — бот пишет в свою базу, а файл Excel на Диске пересобирается по расписанию: читать удобно, править в нём бесполезно, следующая выгрузка перезапишет изменения.
| Вариант | Как бот пишет данные | Когда подходит | Ограничения |
|---|---|---|---|
| Google Таблица | Через официальный Google Sheets API от имени сервисного аккаунта | Небольшой учёт, с которым работают 2–10 человек; нужен привычный интерфейс и фильтры | Квоты API в минуту, данные на зарубежных серверах, права на уровне файла |
| Яндекс Таблицы | Публичного API записи ячеек в официальной документации мы не нашли; остаётся обмен файлом через Диск | Когда компания уже живёт в Яндекс 360 и достаточно выгрузки раз в час или раз в день | Нет построчной записи «здесь и сейчас»; файл легко перезаписать |
| Динамическая таблица в Яндекс Вики | Через API Вики: есть методы «добавить строки» и «обновить ячейки» | Учёт внутри команды, которая уже ведёт базу знаний в Вики | Не больше 1000 строк в одной таблице; столбцы с заданными типами, это справочник, а не табличный редактор |
| Своя база данных плюс выгрузка | Бот пишет в базу на сервере, таблица или файл Excel собираются из неё по расписанию или кнопке | Персональные данные, много записей в день, статусы и права по ролям | Дороже на старте; править данные «в ячейке» нельзя, только через бот или админку |
Как спроектировать лист, чтобы его не сломали люди?
Главное правило: лист, в который пишет бот, — журнал, а не рабочий стол. Люди читают его, ставят отметки в отведённых колонках и строят отчёты на других листах, но не сортируют, не удаляют строки и не вставляют колонки посередине. Остальные правила вытекают из этого.
- Отдельный лист «Журнал» только для бота. Шапка закреплена, колонки идут в фиксированном порядке. Новая колонка — только справа и только после того, как о ней знает разработчик.
- Колонка с номером записи. Номер строки меняется при сортировке и удалении, номер записи — никогда. Если бот потом обновляет статус заявки, он ищет её по номеру записи.
- Колонки людей отделены от колонок бота. Например, A–H заполняет бот, I–K — менеджер: «ответственный», «статус», «комментарий». Бот в колонки людей не пишет, люди — в колонки бота.
- Дата и время одним форматом и в одном часовом поясе. Иначе сводная по сменам у филиалов в разных регионах разъедется.
- Списки — на служебном листе. Объекты, статьи, сотрудники, товары. И бот, и проверка данных в колонках берут значения оттуда.
- Фото и файлы — ссылкой. В ячейку кладётся ссылка на файл в хранилище, а не сам файл. Сам Telegram отдаёт боту файлы размером до 20 МБ, обычным фото этого хватает с запасом.
- Сводные и диаграммы — на отдельных листах. Фильтр «по менеджеру» в журнале у каждого свой: в Google Таблицах для этого есть режим фильтров, который не меняет вид для остальных.
- Защита диапазонов. Колонки бота защищены от правки всеми, кроме владельца файла и сервисного аккаунта.
Какие ограничения у связки «бот плюс таблица»?
Технических ограничений три: квоты API, объём файла и отсутствие настоящих транзакций. Организационных больше: права выдаются на весь файл, история правок не отвечает на вопрос «почему», а ошибка человека в таблице сразу ломает работу бота. Знать их стоит до запуска, а не после первого сбоя.
- Квоты API. По документации Google (обновлена 3 сентября 2026 года) — 300 запросов на чтение и 300 на запись в минуту на проект, 60 и 60 в минуту на одного пользователя в проекте. Сверх квоты API отвечает ошибкой 429, запрос нужно повторить с нарастающей паузой; дневного предела нет. Для бота на десятки сотрудников этого хватает, если не читать всю таблицу на каждое нажатие кнопки.
- Объём файла. По справке Google — не больше 20 млн ячеек в таблице. Раньше этого предела наступает другой: файл с формулами на десятки тысяч строк начинает заметно тормозить у людей.
- Нет транзакций. Если бот должен одновременно списать товар с остатка и записать выдачу, а между двумя запросами что-то сломалось, таблица останется в половинчатом состоянии. Для остатков, денег и бронирований это главный аргумент за базу данных.
- Права на весь файл. Кто может редактировать таблицу, тот видит и правит всё: телефоны клиентов, суммы, комментарии. Разделить «менеджер видит только свои заявки» средствами одной таблицы нельзя.
- Человек сильнее бота. Кто-то отсортировал журнал, удалил «лишнюю» колонку или переименовал лист — бот начинает писать не туда или падает. Защита диапазонов снижает риск, но не убирает его.
Можно ли хранить персональные данные клиентов в Google Таблице?
Рискованно. При сборе персональных данных граждан России оператор обязан записывать и хранить их в базах на территории России (ч. 5 ст. 18 152-ФЗ), а серверы Google Таблиц находятся за рубежом. Поэтому журнал с телефонами и именами клиентов — первый кандидат на перенос в свою базу.
Рабочая схема для бота, который собирает контакты: бот пишет заявку в базу на сервере в России, а в таблицу для отчётов уходят обезличенные данные — номер заявки, дата, источник, статус, сумма. Внутренний учёт без клиентских данных (расходы по статьям, приход товара, отчёты с объектов без ФИО третьих лиц) обычно спокойно живёт в таблице. Что именно бот узнаёт о пользователе, как взять согласие и где хранить данные, разобрано в статье о персональных данных в Telegram-боте. Это взгляд разработчика, а не юридическая консультация: оценку рисков для вашей компании делает юрист.
Когда таблицы уже мало: признаки, что пора на базу данных или CRM
Таблицу пора менять, когда она перестала быть журналом и стала программой: у записей появились статусы и маршруты, разным людям нужно видеть разное, а ошибки в ячейках стоят денег. Обычно это видно по нескольким признакам сразу, а не по одному.
- У записи больше трёх-четырёх статусов, и важно, кто и когда их менял.
- Менеджеры должны видеть только свои заявки, а бригадиры — только свои объекты.
- В таблице есть телефоны и имена клиентов, и их становится всё больше.
- Бот не только пишет, но и считает: остатки, лимиты, бронирования — и ошибка в расчёте стоит денег.
- Таблица открывается долго, а формулы «съезжают» после каждой правки.
- Нужны напоминания по срокам, уведомления ответственному и отчёт руководителю без ручной сводной.
- Появляется второй бот, сайт или приложение, которые пишут в те же данные.
Дальше два пути. Если процесс типовой — продажи, заявки, воронка, — подойдёт CRM, готовая или на заказ, а бот станет её входом. Если учёт специфичный — склад под ваши правила, выработка, объекты, — нужна своя небольшая программа с базой и кабинетом; когда она нужнее таблиц и 1С, мы разбирали в статье о программе для учёта на заказ. В обоих случаях таблица не исчезает совсем: она остаётся выгрузкой для тех, кто привык считать в ней сам.
Сколько стоит бот, который пишет в таблицу, и сколько его делать?
По прайсу это базовый тариф Telegram-бота: от 16 000 ₽ и 1–2 дня. В него входят кнопочное меню и сценарии, запись заявок в таблицу, интеграция с одной системой — CRM или Google Sheets, хостинг бота и запуск на вашем аккаунте, до двух раундов правок и 7 дней бесплатной поддержки после запуска.
Цена растёт, если сценариев несколько и у каждого своя логика, если нужно писать сразу в таблицу и в CRM или если запись идёт через нестандартный API. Связка двух систем по прайсу — тариф интеграций от 32 000 ₽ и от 2 дней. Своя база с кабинетом, ролями и отчётами — это уже веб-приложение, от 160 000 ₽ и от 10 дней. Сопровождение после запуска — от 7 900 ₽ в месяц, гарантия по договору — 30 дней с даты акта, отдельно от поддержки. Точную сумму называем после брифа и фиксируем в договоре до старта.
Когда такой бот не нужен и какие ошибки встречаются чаще всего?
Бот не нужен, если данные вводит один человек за компьютером: ему проще работать в самой таблице или в форме. И он не спасёт процесс, о котором не договорились: если никто не решил, кто разбирает заявки из журнала, бот просто аккуратно сложит их в таблицу, которую никто не открывает.
- Свободный текст вместо кнопок. Объект, статья расхода, товар вводятся руками — через месяц сводная разваливается на сотни вариантов написания.
- Таблица на личном аккаунте сотрудника. Человек уволился — доступ к журналу и сервисному аккаунту ушёл вместе с ним. Владельцем файла должен быть корпоративный аккаунт компании.
- Бот правит строки по номеру строки. Первая сортировка — и статус ставится чужой заявке.
- Нет очереди и повторов. При любом сбое со стороны Google запись теряется, а пользователь видит «Принято».
- Ссылка «доступ для всех, у кого есть ссылка». Журнал с суммами и контактами открыт любому, кому её переслали.
- Клиентские данные в зарубежной таблице «пока так». Временная схема живёт годами, и переносить приходится уже тысячи записей.
Что подготовить перед заказом?
Хватит короткого списка: что вводят люди, кто это читает и что происходит с записью дальше. Чем точнее он, тем быстрее карта сценариев и тем меньше правок после сборки.
- Сценарии: что именно сотрудник или клиент отправляет в бот — заявку, отчёт, расход — и сколько раз в день.
- Колонки журнала в нужном порядке и какие из них заполняет бот, а какие люди.
- Списки для кнопок: объекты, статьи, товары, сотрудники — и кто их обновляет.
- Кто читает таблицу и кому нужны уведомления о новой записи.
- Есть ли в данных телефоны, имена и другие персональные данные — от этого зависит, таблица это или сразу база.
- Корпоративный аккаунт Google или Яндекс 360, на котором будет жить файл, и Telegram-аккаунт, на который оформляем бота.
Короткие ответы на частые вопросы
Можно ли сделать Telegram-бота, который заполняет Google Таблицу, без сервера?
Можно через скрипт внутри самой таблицы (Apps Script), который принимает данные от бота. Но логику диалога, проверки и повтор при сбое всё равно кто-то должен выполнять, поэтому для рабочего бота мы держим его на своём сервере и пишем в таблицу через API.
Будет ли бот работать, если два сотрудника отправят данные одновременно?
Да: каждая отправка — отдельный запрос на добавление строки, и они не затирают друг друга. Проблемы начинаются, когда бот не добавляет строку, а правит существующую по её номеру, — для этого в листе нужна колонка с уникальным номером записи.
Сколько строк выдержит Google Таблица?
По справке Google в одной таблице не больше 20 млн ячеек. На практике раньше упираются в скорость: файл на десятки тысяч строк с формулами и фильтрами открывается и пересчитывается заметно дольше, и это хороший повод вынести архив на отдельный лист или в базу.
Можно ли подключить бот к Яндекс Таблицам?
Построчной записи через публичный API у Яндекс Таблиц на октябрь 2026 года в официальной документации нет. Рабочие варианты — выгрузка файла на Диск по расписанию, динамическая таблица в Яндекс Вики с её API или своя база с выгрузкой в Excel.
Входит ли запись в таблицу в базовый тариф бота?
Да, по прайсу в тариф Telegram-бота от 16 000 ₽ входит интеграция с одной системой — CRM или Google Sheets. Вторая система, нестандартный API или своя база с кабинетом считаются отдельно.
Услуги и кейсы по теме: CRM на заказ от 160 000 ₽ · Telegram-боты под ключ · цены и сроки
Опишите, что сотрудники или клиенты должны отправлять в бот и кто потом читает таблицу, — предложим структуру листа и назовём цену и срок.
Рассчитать проект →Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.
