Главная · Блог · Чат-бот и Google Таблицы: что можно связать и как это сделать
Чат-бот и Google Таблицы: что можно связать и как это сделать
Google Таблица — самая частая «CRM» малого бизнеса: в ней прайс, заявки, список клиентов и график. Поэтому вопрос «а бот умеет работать с таблицей?» звучит почти в каждом разговоре о запуске. Короткий честный ответ для ЧБТ: кнопки «подключить Google-аккаунт» нет, но четыре рабочие связки есть — одна встроенная, две через обычные инструменты сценария и одна ручная. Разбираем каждую: что она делает, как настраивается и где её предел.
Четыре направления — и что выбрать
| Задача | Как в ЧБТ | Нужен посредник |
|---|---|---|
| Товары и цены из таблицы — в бота | Каталог: ссылка на таблицу, опубликованную как CSV | Нет |
| Заявки из бота — строкой в таблицу | «Действие» → «HTTP-запрос» | Apps Script или Make, n8n, Albato |
| Список клиентов — в таблицу | «Контакты» → «Экспорт CSV» | Нет, вручную |
| Бот отвечает данными из таблицы | «HTTP-запрос» с ответом в переменную | Make, n8n или свой скрипт |
Подключения Google-аккаунта к ЧБТ нет: бот не читает и не меняет таблицу сам по себе. Всё, что ниже, работает через ссылку на таблицу, через ваш скрипт или сервис автоматизации — и честно описано вместе с ограничениями.
Товары из таблицы в каталог бота
Если прайс ведётся в Google Таблице, её можно сделать источником каталога. Каталог умеет читать CSV по ссылке, а Google умеет отдавать таблицу как CSV.
- В таблице: «Файл» → «Поделиться» → «Опубликовать в интернете». Выберите нужный лист и формат CSV, скопируйте ссылку.
- В ЧБТ: «Маркетплейсы» → «Интернет-магазин». В «Платформа магазина» выберите «Другая платформа или свой фид».
- Вставьте ссылку в «Ссылка на товарный фид» и нажмите «Подключить магазин». Формат определяется по содержимому.
- Откройте каталог: новые товары приходят черновиками. Проверьте их и опубликуйте нужные.
Опубликованную таблицу Google отдаёт через переадресацию — ЧБТ проходит до трёх переадресаций подряд, этого хватает. Если подключение не прошло, откройте ссылку в браузере без входа в Google: должен скачаться файл, а не страница входа.
Какой должна быть таблица с товарами
CSV по ссылке читается по тем же правилам, что и файл каталога:
- первая строка — заголовки, порядок колонок любой;
- колонка «артикул» обязательна — по ней товар обновляется, а не задваивается; строка без артикула пропускается;
- заголовки можно писать по-русски: «название», «цена», «наличие», «остаток», «категория», «ссылка», «размер», «цвет»;
- одинаковый артикул в нескольких строках — варианты одного товара, например размеры;
- пустая цена или остаток — это «не знаю», а не ноль.
Фото из таблицы не придут: колонки для картинок нет, ссылка на фото станет обычной характеристикой. Подробно о формате — в статье о загрузке товаров из CSV.
Как часто бот видит изменения в таблице
Каталог перечитывает фид сам, когда данным больше 6 часов. Поменяли цену в таблице и нужно, чтобы бот назвал новую уже сейчас, — нажмите «Обновить сейчас» на карточке интернет-магазина, не чаще раза в 2 минуты.
Товар, который вы удалили из таблицы, с публикации сам не снимается: оборванная загрузка не должна прятать половину каталога. Если товара больше нет, переведите его кнопкой «В черновик».
Показывает каталог покупателю ИИ-продавец: он подбирает товар по вопросу в переписке и присылает карточку. ИИ-продавец работает с тарифа Базовый, а сам каталог можно собрать и на Бесплатном — заранее.
Заявки из бота в таблицу
Обратное направление — строка в таблице на каждую заявку. Для этого в сценарии ставят «Действие» → «HTTP-запрос» после шага, где собраны имя и телефон. ЧБТ отправляет на ваш адрес JSON: контакт с именем, телефоном, e-mail и тегами, переменные сценария, последний текст клиента и канал.
Принять этот JSON и дописать строку могут два вида посредников:
- Google Apps Script — маленький скрипт внутри таблицы, опубликованный как веб-приложение. Бесплатно, но с особенностью: на POST Google отвечает переадресацией, а ЧБТ переадресациям не следует. Строка при этом добавляется, но в журнале будет код 302, а ответ скрипта в бота не вернётся.
- Make, n8n или Albato — сценарий из двух шагов: «принять вебхук» и «добавить строку в Google Sheets». Отвечает обычным 200, ответ можно вернуть в бота.
Код скрипта и пошаговая настройка — в статье про HTTP-запрос из чат-бота.
Какие колонки сделать для заявок
Удобная структура листа «Заявки», которую закрывает JSON «HTTP-запроса»:
| Колонка | Откуда |
|---|---|
| Дата | время, когда скрипт или сервис принял запрос |
| Имя, телефон, e-mail | поля контакта, которые заполнил «Сбор данных» |
| Что хочет клиент | переменная сценария, куда записан выбор кнопки |
| Последнее сообщение | текст клиента |
| Канал | telegram, max, vk или web |
| Теги | теги контакта — источник, интерес |
Если в таблице работают менеджеры, добавьте свои колонки справа: «Статус», «Ответственный», «Комментарий». Бот их не трогает, скрипт дописывает строки только в свои колонки.
Выгрузка контактов в таблицу
Самый простой способ получить базу клиентов в таблице — выгрузить её. В разделе «Контакты» нажмите «Экспорт CSV»: кнопка «Скачать все контакты в CSV» отдаёт всю базу, а при фильтре по тегу — «Скачать контакты с этим тегом в CSV».
В файле — имя, e-mail, телефон, канал, id в канале, теги и дата появления, а ещё ответы на анкеты и опросы отдельными колонками. Откройте таблицу и выберите «Файл» → «Импортировать», чтобы загрузить его на новый лист.
Это ручная выгрузка, а не синхронизация: таблица не обновится сама, когда в бота придут новые люди. Для отчёта раз в неделю этого хватает. Если нужна строка на каждого нового клиента сразу, используйте «HTTP-запрос» из предыдущего раздела.
Бот отвечает данными из таблицы
Частая задача: клиент спрашивает наличие, статус записи или цену, а ответ лежит в таблице. Сам бот ячейку не прочитает, но может спросить посредника:
- В сценарии собираете то, что нужно для поиска, — номер заказа или артикул — в переменную.
- «Действие» → «HTTP-запрос» на вебхук Make или n8n. В поле «В переменную» укажите, куда сохранить ответ, например
answer. - Сценарий в Make находит строку в таблице и отвечает готовой фразой: «Заказ 1042: передан в доставку».
- Следующий шаг — «Сообщение» с текстом
{{answer}}.
Ограничения: ответ ждётся до 15 секунд, в переменную попадает всё тело ответа целиком, до 10 КБ, — отдельное поле из JSON не достать. Поэтому пусть посредник отвечает простым текстом. В тест-чате запрос не уходит, проверяйте из мессенджера.
Журнал событий в таблице
Если нужна таблица-журнал всех диалогов — кто написал, когда передали оператору, когда закрыли, — подойдут «Подписки на события» в разделе интеграций. ЧБТ отправляет события диалогов на адрес вашего сервиса: сообщение от покупателя, ответ бота или оператора, начало диалога, передачу человеку, закрытие, новый контакт и заявку.
Сервис автоматизации принимает событие и добавляет строку в таблицу. Учтите: телефон, e-mail и ответы анкеты есть только в событии «Заявка» — когда клиент впервые оставил телефон или e-mail. В остальных событиях контактных данных нет; если они нужны в каждой строке, отправляйте их «HTTP-запросом» из сценария.
Пример: студия букетов на одной таблице
Небольшая студия ведёт всё в одной Google Таблице и подключает бота так:
- Лист «Прайс» — артикул, название, категория, цена, наличие. Лист опубликован как CSV и подключён в каталог. Утром флорист меняет наличие, нажимает «Обновить сейчас» — и ИИ-продавец уже предлагает только то, что есть.
- Лист «Заявки» — сценарий «Заказ букета» собирает повод, бюджет, телефон и дату, ставит тег
заказ-букети отправляет «HTTP-запрос» в Make, который дописывает строку. - Лист «Клиенты» — раз в месяц администратор выгружает «Контакты» с тегом
заказ-букети сверяет, кто давно не заказывал, чтобы позвать их перед праздником рассылкой.
Одна таблица, три связки и ни одной строки кода, кроме сценария Make из двух шагов.
Когда таблицы уже мало
Таблица хороша, пока заявок десятки. Когда их сотни и в работе несколько менеджеров, начинаются потерянные строки и вопрос «кто взял клиента». В ЧБТ есть встроенный канбан сделок: «Действие» → «Сделка в CRM» кладёт заявку на нужный этап сразу из сценария, а переписка с клиентом лежит рядом, в «Диалогах».
Можно и совместить: сделка — в CRM ЧБТ, копия строки — в таблицу для отчёта руководителю. Если команда уже работает в amoCRM, посредник не нужен: в разделе интеграций есть готовое подключение amoCRM — заявка, оставленная в «Сборе данных», сама становится сделкой с именем, телефоном и e-mail. Как выбрать между встроенной CRM и внешней — в статье про лиды из бота в CRM.
Частые ошибки
- Ссылка «Поделиться» вместо «Опубликовать». Обычная ссылка на таблицу открывает редактор Google, а не CSV, — каталог её не разберёт.
- Нет колонки «артикул». Строки без артикула пропускаются целиком.
- Ждут ответ Apps Script в боте. Из-за переадресации Google он не вернётся — для ответа в диалог нужен Make, n8n или Albato.
- Проверяют запрос в тест-чате. «HTTP-запрос» там не выполняется, строка не появится.
- Объединённые ячейки и подзаголовки в прайсе. CSV ждёт ровную таблицу: одна строка — один товар или вариант.
HTTP-запрос из чат-ботаКаталог товаровИнтеграции чат-ботаЛиды из бота в CRM