# Google Sheets для AI-ассистента

Благодаря функции, разработанной командой Mavibot, AI-чатбот точно интерпретирует значения, введённые в таблицу, а затем сохраняет их в системную переменную в настройках проекта.

Например, это может понадобиться для AI-ассистента, который будет консультировать ваших клиентов по доступному ассортименту товаров в вашем интернет-магазине, а также для демонстрации ваших возможностей с помощью умного бота.

То, как именно использовать бота для чтения таблицы Google, зависит от вас, а мы, в свою очередь, покажем, как создать таблицу и настроить работу бота с ней.

## Подготовка таблицы Google

### Создание и заполнение

Откройте редактор таблицы:

<figure><img src="/files/6e794a51d975f1970bbcb1bc0eccddd86c15d787" alt="" width="563"><figcaption></figcaption></figure>

Вам нужно заполнить строки категориями столбцов:

<figure><img src="/files/76e8b29690d0c96489c3e26c8bf1805572527ad3" alt="" width="563"><figcaption></figcaption></figure>

Поскольку AI умеет читать данные, он будет использовать функцию для записи значений из таблицы в переменную в настройках проекта, поэтому для вашего удобства и понимания логики бота мы рекомендуем добавлять краткие и понятные названия категорий столбцов.

Далее укажите необходимые названия в столбцах:

<figure><img src="/files/6c83eb006ac8857818d0f7f57a9bd6e9f6038e6a" alt="" width="563"><figcaption></figcaption></figure>

Рассмотрим категорию столбца «Единица измерения»:

<figure><img src="/files/637320a31526723ff31fa3fdb6239bd3e5d11de4" alt="" width="252"><figcaption></figcaption></figure>

Единица измерения может включать:

1. Количественный показатель в виде штук/единиц (одна единица товара, две единицы товара, одна штука и т. д.):

<figure><img src="/files/e16191dc7174c77390018d83fb2c13aa8a41255b" alt=""><figcaption></figcaption></figure>

2. Единицы измерения величин: литры, килограммы, граммы, метры:

<figure><img src="/files/2402dde3fc892caa0dc8f63cdab35468e2dae8af" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Бот прекрасно поймёт, что вы имели в виду, и использует значения, вложенные в слоты.
{% endhint %}

Заключительным шагом в заполнении таблицы Google будет ввод цены за единицу измерения.

<figure><img src="/files/bd85a5b9a590eee836b24c2eb38f5d43347e53c2" alt=""><figcaption></figcaption></figure>

На этом этапе таблица Google готова.

### Настройки доступа

Чтобы AI-бот мог брать значения из таблицы, нужно открыть настройки доступа:

<figure><img src="/files/fa023081054845e06fdc7ddfad44daf8f115701c" alt=""><figcaption></figcaption></figure>

Нажмите на настройки, и откроется следующее окно:

<figure><img src="/files/0c5667fce1b6109178568077ef1c4d050381bd9a" alt="" width="375"><figcaption></figcaption></figure>

Здесь нужно изменить настройку с «Доступ ограничен» на «Все, у кого есть ссылка»:

<figure><img src="/files/e2e5477adecfb32527f42349beb2b05087d6bd79" alt="" width="563"><figcaption></figcaption></figure>

### ID таблицы

Для работы с функцией get\_info\_from\_table(!sheet\_id, number\_sheet, sheet\_json\_keys) нам понадобится ID таблицы, поскольку функция принимает sheet\_id как обязательный параметр.

Чтобы получить ID, просто нажмите на адресную строку:

<figure><img src="/files/d7440ebd21168ea5af9b84ff23ba6018e36256a7" alt=""><figcaption></figcaption></figure>

Вы увидите строку с адресом страницы:

<figure><img src="/files/6c475ff2e30f0be93db5aa57d0f2671d3d7f8465" alt=""><figcaption></figcaption></figure>

Из которой нам понадобится набор символов и букв, а именно ID таблицы:

<figure><img src="/files/7fb91f4bbac879f0b2055a3a604987c01ab28808" alt=""><figcaption></figcaption></figure>

На этом работа с таблицей и её настройка завершены.

## Работа в конструкторе воронки

### Использование функции get\_info\_from\_table()

Чтобы использовать функцию get\_info\_from\_table(), вам понадобится один блок в конструкторе воронки.

Перейдите на соответствующую вкладку в Mavibot и создайте основной блок проверки условия:

<figure><img src="/files/7a3f8f5619533118a9fc7bb527cbbd96ae4bb4b6" alt=""><figcaption></figcaption></figure>

Вместо #{none} мы запишем в сообщение уведомление для тестового режима после запуска этого блока и вложенную переменную через конструкцию #{}:

<figure><img src="/files/fe38d32eeb3b28cd5c7956cce0e839b7d344bb1b" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Обратите внимание!&#x20;

Переменная, вложенная в сообщение, необходима для проверки того, что бот читает функцию.&#x20;

При запуске блока в тестовом режиме бот покажет значения, которые будут вложены в переменную.
{% endhint %}

{% hint style="success" %}
Обратите внимание!

После настройки вызова блока в тестовом режиме и сохранения переменной в настройках проекта не удаляйте этот блок.

Это может вам понадобиться: например, если вы добавили в таблицу ещё какие-то значения, просто запустите блок в тестовом режиме. Тогда данные в переменной проекта обновятся.
{% endhint %}

{% hint style="info" %}
Имя переменной может быть любым, которое вам подходит.
{% endhint %}

Далее нам нужна функция get\_info\_from\_table(sheet\_id, number\_sheet, sheet\_json\_keys), — функция, предназначенная для чтения данных из таблицы.

<table><thead><tr><th width="248">параметры</th><th>описание </th></tr></thead><tbody><tr><td><mark style="color:красный;"><strong>!</strong></mark> sheet_id</td><td>ID таблицы Google</td></tr><tr><td>number_sheet</td><td>Номер листа в таблице; по умолчанию = 1</td></tr><tr><td>sheet_json_keys </td><td>Необязательный параметр, ключ доступа к данным таблицы</td></tr></tbody></table>

Откройте калькулятор и введите ID таблицы, заключив его в переменную (например, sheet):

<figure><img src="/files/e2f82916c72360c1ca3215ab66465daa74850163" alt="" width="537"><figcaption></figcaption></figure>

Далее присвойте переменной, указанной в сообщении блока, значение в виде функции get\_info\_from\_table() с обязательным параметром sheet\_id (вместо него вставьте переменную sheet, где находится ID таблицы):

<figure><img src="/files/61bf52d86eb7844df645b53e83e04a0e945ff6e3" alt="" width="563"><figcaption></figcaption></figure>

<mark style="color:красный;">**Внимание!**</mark> Перед переменной product\_pay\_info в калькуляторе напишите project. Это необходимо для того, чтобы ПЕРЕМЕННАЯ и ЗНАЧЕНИЯ из таблицы были сохранены в настройках проекта (кэшированы):

<figure><img src="/files/63bcd69a1e52c942c63cc1ce0678227757cbf74c" alt=""><figcaption></figcaption></figure>

Теперь напишите любое слово/числа в условии блока:

<figure><img src="/files/62e085871d4fa1a6294aeffaac559a660617f1f5" alt="" width="563"><figcaption></figcaption></figure>

### Блок передачи данных

Далее создайте второй статусный блок:

<figure><img src="/files/f2fbb8a6c7798fa52d1cfa087880021e4c6c80d2" alt=""><figcaption></figcaption></figure>

Этот статусный блок понадобится для передачи переменных в карточку клиента.

Вы также можете отправить в этом блоке итоговое сообщение от бота, например: «Спасибо за заказ! Отправляю данные менеджеру по связи!»:

<figure><img src="/files/263a1ee3ec1a02adfa629125b3da9ab1dd9dc919" alt=""><figcaption></figcaption></figure>

Далее скопируйте ID блока — он понадобится вам для настройки AI-ассистента в команде "start\_block\_from\_ai 31241050", где вместо ID из примера нужно вставить ID вашего блока.

### Чтение таблицы

Теперь запустите блок в тестовой версии, чтобы чатбот прочитал значения из таблицы и поместил их в вашу переменную в настройках проекта:

<figure><img src="/files/4ddfbfcee6d6cd9aa0cbf3466a172e55fdc71dbb" alt="" width="563"><figcaption></figcaption></figure>

Таким образом, блок отработал корректно: вы видите значения, которые прочитали, и которые находятся в переменной в настройках проекта.

Вы можете проверить это, перейдя в соответствующий раздел:

<figure><img src="/files/bef83c1faea5619d500e434faaae54c22a1c1fea" alt="" width="287"><figcaption></figcaption></figure>

Далее вы увидите вашу переменную со значениями, вложенными в неё из таблицы:

<figure><img src="/files/0049461822ea0357e27be8735fe160d60a745a04" alt=""><figcaption></figcaption></figure>

Итак, теперь внутри вашего проекта есть переменная с товарами, стоимостью и всем тем, что вы указали в таблице.

## Работа в качестве AI-ассистента

Перейдите в раздел «AI-ассистент» и начните настраивать искусственный интеллект.

Роль ассистента: продавец

<figure><img src="/files/f0c95b16a2aa1dd6aaca5c632ed6a13e73bbcbad" alt="" width="512"><figcaption></figcaption></figure>

Также мы настроим опции «Кнопки» и «Поэтапный ввод данных»:

<figure><img src="/files/2cf7fd6e315eda6d1c80ebf1adccab41be3a1c08" alt=""><figcaption></figcaption></figure>

Кнопки нам понадобятся для визуально оформленных ответов от бота, а также для удобства клиента (тогда вашему пользователю не нужно вручную вводить слова в диалоге); поэтапный ввод данных нужен для того, чтобы бот опрашивал формируемый заказ.

### Настройки AI-ассистента

В настройках бота мы прописываем следующие данные:

1. Позиция и инструкции для бота.

Пример:

<Ты продавец магазина. «Все мелочи.\
Твоя задача — спросить клиента, какой товар он хочет выбрать, сколько единиц товара ему нужно, а затем рассчитать общую стоимость товара, равную количеству единиц товара, умноженному на стоимость.

После того как ты опросишь клиента о его покупке, продублируй ему заказ и спроси: «Заказ верный?».>

**Обратите внимание** на строку «Рассчитать общую стоимость товара, равную количеству единиц товара, умноженному на стоимость» — эта строка будет выводить итоговый результат стоимости всех выбранных клиентом категорий:

Пример:

Клиент выбрал три кг одного товара. Бот, в свою очередь, рассчитывает общую стоимость:

<figure><img src="/files/d3d3d23e9a7558a1c96e17222e436f21a76f508d" alt="" width="563"><figcaption></figcaption></figure>

2. Команда для вызова блока и передачи переменных в систему записывается следующим образом:

<Если клиент написал «Заказ верный» или «Верно», тогда напиши "start\_block\_from\_ai N">, где вместо N указывается ID блока с итоговым сообщением: статусный блок передаёт данные в карточку клиента:

<figure><img src="/files/71d3e0c99350791cb17a43c73bf6642c62ffe6d3" alt="" width="563"><figcaption></figcaption></figure>

Команды в настройках AI-ассистента выглядят так:

<figure><img src="/files/19894a18c8f3541417de2bde65dc8a3ec321e11b" alt=""><figcaption></figcaption></figure>

### Знания бота

В поле «Знания бота» передайте переменную, которая была ранее кэширована основным блоком проверки условия:

<figure><img src="/files/740a00084e6f8effe5364d8801fd970468cc7dfb" alt=""><figcaption></figcaption></figure>

Знания бота:

<figure><img src="/files/88cb25748da778c69b2d53d3c571fc4d320359c4" alt=""><figcaption></figcaption></figure>

Так бот будет брать информацию из переменной в настройках проекта и консультировать ваших клиентов по доступному ассортименту товаров.

### Формат данных

В формате передаваемых данных вы сами указываете собираемые данные (например, товар), затем вводите фразу с «ключом» и присваиваете ключу значение:

<figure><img src="/files/ca85a9ab5ea640c66f8104c2411a189531abe991" alt=""><figcaption></figcaption></figure>

#### Пояснение

Строка 1: «Формат передаваемых данных: товар с ключом product, единица измерения с ключом thing, цена с ключом count, общая стоимость всех выбранных товаров с ключом result» — даёт боту понять, какие данные и с каким значением нужно передать в систему.

Эти переменные будут отображаться в карточке клиента:

<figure><img src="/files/1ccea6892ed523076305d85dee057eb366505209" alt="" width="563"><figcaption></figcaption></figure>

2. Если вам нужно, чтобы каждый выбранный клиентом товар отображался отдельно, добавьте вторую строку:

«Если клиент выбрал несколько товаров, тогда добавьте первый товар с ключом product1, второй товар с ключом product2, третий товар с ключом product3 и так далее».

На этом настройка AI-ассистента завершена.

Остальные параметры можно настроить по своему усмотрению:

<figure><img src="/files/8f2c628464421c5b14e484f1636d89c60d8c33b4" alt="" width="563"><figcaption></figcaption></figure>

## Тестирование бота&#x20;

Используйте конструктор условий, чтобы добавить работу бота в тестовом окне:

Шаг 1. Нажмите на конструктор условий

<figure><img src="/files/f720d8bd833e724146cf292fed57a4b5db464f09" alt=""><figcaption></figcaption></figure>

Шаг 2. Выберите вкладку с текстовым полем и нажмите «Добавить»:

<figure><img src="/files/407ee20c397aa475b66445f19dd839c6ff090618" alt="" width="563"><figcaption></figcaption></figure>

Теперь в условии запуска вы видите следующее значение:

<figure><img src="/files/a503fd65488b2cd20f811cbd2c2ec83d238d2ba1" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Таким образом, бот будет запускаться только в тестовом окне и нигде больше.

После отладки бота удалите это условие.
{% endhint %}

Теперь протестируем бота:

1. Зададим боту вопрос по ассортименту товаров:

<figure><img src="/files/ec4cff274387718a8b781351ecab9bd85becac9b" alt="" width="375"><figcaption></figcaption></figure>

Бот показал разнообразие товаров, которые были введены в таблицу Google, извлекая значения из переменной, содержащейся в настройках проекта.

2. Далее выберем товар и пообщаемся с умным ботом:

<div><figure><img src="/files/0f3ac824f6493a4cb9c941b2f2438a0a69a8684c" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="/files/20272e0083af7cc5a7c55e08e045fdc8a10a238d" alt="" width="375"><figcaption></figcaption></figure></div>

3. Выберем другой товар:

<figure><img src="/files/2354699e5ad4930f6e0bf9b4d3638854c130a412" alt="" width="375"><figcaption></figcaption></figure>

Бот также отображается корректно, показывая клиенту категории товаров для последующего выбора.

4. Клиент выбрал несколько товаров и указал их количество:

<div><figure><img src="/files/533638f383b877c72ed1ea8895ad07c0be0b73c4" alt=""><figcaption></figcaption></figure> <figure><img src="/files/cfbdb7962abf5d25fbdccb6ceec127640f61025f" alt=""><figcaption></figcaption></figure></div>

Бот рассчитал стоимость выбранных позиций и подсчитал общую сумму.

5. Отправка данных в систему:

<figure><img src="/files/cdc5f36058d233efdf9c928afa965575ea918ca6" alt="" width="375"><figcaption></figcaption></figure>

Результат: после того как бот продублировал заказ и клиент ответил, что заказ верный, чатбот на основе настроек вызвал блок «Статус диалога»:

<figure><img src="/files/263a1ee3ec1a02adfa629125b3da9ab1dd9dc919" alt=""><figcaption></figcaption></figure>

После этого данные, сформированные ботом в диалоге с клиентом, были отправлены в карточку клиента:

<figure><img src="/files/268500684a1767e6aa3945f39116833db313b98f" alt="" width="563"><figcaption></figcaption></figure>

Бот отработал всё корректно.

{% hint style="success" %}
Таким образом можно создать интернет-магазин любого типа и использовать внутри таблицы любые необходимые значения.

Главное ограничение — только ваша фантазия!
{% endhint %}

## Видео-гайд

{% embed url="<https://youtu.be/LTEmRgbRp8M>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ru/chatbot/ai/google-sheets-dlya-ai-assistenta.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
