Главная · Блог · Чат-бот и Google Таблицы: что можно связать и как это сделать

Чат-бот и Google Таблицы: что можно связать и как это сделать

· Команда ЧБТ · Интеграции, Каталог

Google Таблица — самая частая «CRM» малого бизнеса: в ней прайс, заявки, список клиентов и график. Поэтому вопрос «а бот умеет работать с таблицей?» звучит почти в каждом разговоре о запуске. Короткий честный ответ для ЧБТ: кнопки «подключить Google-аккаунт» нет, но четыре рабочие связки есть — одна встроенная, две через обычные инструменты сценария и одна ручная. Разбираем каждую: что она делает, как настраивается и где её предел.

Четыре направления — и что выбрать

ЗадачаКак в ЧБТНужен посредник
Товары и цены из таблицы — в ботаКаталог: ссылка на таблицу, опубликованную как CSVНет
Заявки из бота — строкой в таблицу«Действие» → «HTTP-запрос»Apps Script или Make, n8n, Albato
Список клиентов — в таблицу«Контакты» → «Экспорт CSV»Нет, вручную
Бот отвечает данными из таблицы«HTTP-запрос» с ответом в переменнуюMake, n8n или свой скрипт

Подключения Google-аккаунта к ЧБТ нет: бот не читает и не меняет таблицу сам по себе. Всё, что ниже, работает через ссылку на таблицу, через ваш скрипт или сервис автоматизации — и честно описано вместе с ограничениями.

Товары из таблицы в каталог бота

Если прайс ведётся в Google Таблице, её можно сделать источником каталога. Каталог умеет читать CSV по ссылке, а Google умеет отдавать таблицу как CSV.

  1. В таблице: «Файл» → «Поделиться» → «Опубликовать в интернете». Выберите нужный лист и формат CSV, скопируйте ссылку.
  2. В ЧБТ: «Маркетплейсы» → «Интернет-магазин». В «Платформа магазина» выберите «Другая платформа или свой фид».
  3. Вставьте ссылку в «Ссылка на товарный фид» и нажмите «Подключить магазин». Формат определяется по содержимому.
  4. Откройте каталог: новые товары приходят черновиками. Проверьте их и опубликуйте нужные.

Опубликованную таблицу 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-запрос» из предыдущего раздела.

Бот отвечает данными из таблицы

Частая задача: клиент спрашивает наличие, статус записи или цену, а ответ лежит в таблице. Сам бот ячейку не прочитает, но может спросить посредника:

  1. В сценарии собираете то, что нужно для поиска, — номер заказа или артикул — в переменную.
  2. «Действие» → «HTTP-запрос» на вебхук Make или n8n. В поле «В переменную» укажите, куда сохранить ответ, например answer.
  3. Сценарий в Make находит строку в таблице и отвечает готовой фразой: «Заказ 1042: передан в доставку».
  4. Следующий шаг — «Сообщение» с текстом {{answer}}.

Ограничения: ответ ждётся до 15 секунд, в переменную попадает всё тело ответа целиком, до 10 КБ, — отдельное поле из JSON не достать. Поэтому пусть посредник отвечает простым текстом. В тест-чате запрос не уходит, проверяйте из мессенджера.

Журнал событий в таблице

Если нужна таблица-журнал всех диалогов — кто написал, когда передали оператору, когда закрыли, — подойдут «Подписки на события» в разделе интеграций. ЧБТ отправляет события диалогов на адрес вашего сервиса: сообщение от покупателя, ответ бота или оператора, начало диалога, передачу человеку, закрытие, новый контакт и заявку.

Сервис автоматизации принимает событие и добавляет строку в таблицу. Учтите: телефон, e-mail и ответы анкеты есть только в событии «Заявка» — когда клиент впервые оставил телефон или e-mail. В остальных событиях контактных данных нет; если они нужны в каждой строке, отправляйте их «HTTP-запросом» из сценария.

Пример: студия букетов на одной таблице

Небольшая студия ведёт всё в одной Google Таблице и подключает бота так:

  1. Лист «Прайс» — артикул, название, категория, цена, наличие. Лист опубликован как CSV и подключён в каталог. Утром флорист меняет наличие, нажимает «Обновить сейчас» — и ИИ-продавец уже предлагает только то, что есть.
  2. Лист «Заявки» — сценарий «Заказ букета» собирает повод, бюджет, телефон и дату, ставит тег заказ-букет и отправляет «HTTP-запрос» в Make, который дописывает строку.
  3. Лист «Клиенты» — раз в месяц администратор выгружает «Контакты» с тегом заказ-букет и сверяет, кто давно не заказывал, чтобы позвать их перед праздником рассылкой.

Одна таблица, три связки и ни одной строки кода, кроме сценария Make из двух шагов.

Когда таблицы уже мало

Таблица хороша, пока заявок десятки. Когда их сотни и в работе несколько менеджеров, начинаются потерянные строки и вопрос «кто взял клиента». В ЧБТ есть встроенный канбан сделок: «Действие» → «Сделка в CRM» кладёт заявку на нужный этап сразу из сценария, а переписка с клиентом лежит рядом, в «Диалогах».

Можно и совместить: сделка — в CRM ЧБТ, копия строки — в таблицу для отчёта руководителю. Если команда уже работает в amoCRM, посредник не нужен: в разделе интеграций есть готовое подключение amoCRM — заявка, оставленная в «Сборе данных», сама становится сделкой с именем, телефоном и e-mail. Как выбрать между встроенной CRM и внешней — в статье про лиды из бота в CRM.

Частые ошибки

  • Ссылка «Поделиться» вместо «Опубликовать». Обычная ссылка на таблицу открывает редактор Google, а не CSV, — каталог её не разберёт.
  • Нет колонки «артикул». Строки без артикула пропускаются целиком.
  • Ждут ответ Apps Script в боте. Из-за переадресации Google он не вернётся — для ответа в диалог нужен Make, n8n или Albato.
  • Проверяют запрос в тест-чате. «HTTP-запрос» там не выполняется, строка не появится.
  • Объединённые ячейки и подзаголовки в прайсе. CSV ждёт ровную таблицу: одна строка — один товар или вариант.

Ещё в блоге