· ~1 мин чтения
Как подключить Telegram-бота к Google Sheets вместо базы данных
Частый сценарий: у малого бизнеса заявки уже ведутся в Google-таблице, сотрудники к ней привыкли, и предложение «давайте поставим CRM» встречает сопротивление — новый интерфейс, обучение, миграция истории. При этом ручной ввод из бота в таблицу — источник ошибок и дублей.
Таблица как источник истины
Решение — не заменять таблицу, а сделать её источником истины напрямую для бота. Google Sheets API позволяет читать и писать в таблицу из кода так же, как в обычную базу: получить диапазон строк, добавить строку, обновить ячейку по условию. Разница в скорости отклика и лимитах API, но для заявок малого/среднего бизнеса это не критично.
Как это устроено
Практическая схема: aiogram-бот принимает заявку → FastAPI-сервис валидирует данные → пишет строку в таблицу через Google Sheets API с сервисным аккаунтом (не через OAuth пользователя — так проще для продакшена и не зависит от чьей-то личной сессии). Статусы читаются оттуда же при каждом запросе или кэшируются на короткое время, если нагрузка выше — чтобы не упираться в квоты Google Sheets API.
Ограничения
Ограничения стоит проговаривать сразу: Google Sheets — не транзакционная БД, при высокой конкурентной записи возможны гонки состояний. Для одного менеджера и десятков заявок в день это не проблема. Если бизнес вырастет до сотен одновременных заявок — миграция на PostgreSQL с той же логикой займёт день, а не переписывание бота с нуля, если API-слой изначально спроектирован как отдельный сервис, а не завязан на структуру таблицы напрямую.
Когда такого компромисса достаточно
Для старта и небольшого объёма Google Sheets как бэкенд — не костыль, а осознанный компромисс между скоростью запуска и привычностью инструмента для команды. Условие одно: API-слой с самого начала живёт отдельным сервисом и не привязан к структуре таблицы — тогда переезд на PostgreSQL остаётся вопросом дня, а не переписыванием бота. Если ваша задача похожа — заявки уже ведутся в таблице, а команда не хочет от неё отказываться, — это типовой сценарий для CRM-интеграции без новой системы.