# Google Таблиці для AI-асистента

Завдяки функції, розробленій командою Mavibot, AI-чатбот точно інтерпретує значення, введені в таблицю, а потім зберігає їх у змінну системи в налаштуваннях проєкту.

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

Як саме використовувати бота для читання Google-таблиці — вирішувати вам, а ми, своєю чергою, покажемо, як створити таблицю та налаштувати бота для роботи з нею.

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

### Створення та заповнення

Відкрийте редактор таблиці:

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

Потрібно заповнити рядки категоріями стовпців:

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

Оскільки AI може читати дані, він використовуватиме функцію для запису значень із таблиці у змінну в налаштуваннях проєкту, тому для вашої зручності та кращого розуміння логіки бота ми рекомендуємо додавати короткі й зрозумілі назви категорій стовпців.

Далі вкажіть потрібні назви в стовпцях:

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

Розгляньмо категорію стовпця «Одиниця виміру»:

<figure><img src="/files/91b89a1aba6dfaef0b87f79859b563f10c8458ae" alt="" width="252"><figcaption></figcaption></figure>

Одиниця виміру може включати:

1. Кількісний показник у вигляді штук/одиниць (одна одиниця товару, дві одиниці товару, одна штука тощо):

<figure><img src="/files/1d8672f6ba31d9e8d9ea89b2f7790fcbc0535f86" alt=""><figcaption></figcaption></figure>

2. Одиниці виміру величин: літри, кілограми, грами, метри:

<figure><img src="/files/592d3e28539260e7d50f126a398b26ddfdfb19d4" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Бот чудово зрозуміє, що ви мали на увазі, і використає значення, вбудовані в слоти.
{% endhint %}

Останнім кроком у заповненні Google-таблиці буде внесення ціни за одиницю виміру.

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

На цьому етапі Google-таблицю завершено.

### Налаштування доступу

Щоб AI-бот міг брати значення з таблиці, потрібно відкрити налаштування доступу:

<figure><img src="/files/9b54bb39eec3c78c3f347165c0decbe4fc93a124" alt=""><figcaption></figcaption></figure>

Натисніть на налаштування, і відкриється таке вікно:

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

Тут потрібно змінити параметр з «Доступ обмежено» на «Усі, хто має посилання»:

<figure><img src="/files/f3074bb88f75355ec40aa267f20b8296b46f9a77" 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/3a7740e5245c81812053b395c8d3c2e66e90744b" alt=""><figcaption></figcaption></figure>

Ви побачите рядок з адресою сторінки:

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

З якого нам знадобиться набір символів і літер, а саме ID таблиці:

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

На цьому роботу з таблицею та її налаштування завершено.

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

### Використання функції get\_info\_from\_table()

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

Перейдіть до відповідної вкладки в Mavibot і створіть блок первинної перевірки умови:

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

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

<figure><img src="/files/6e21af3bc6d66d22741ada2fa2882984e52eb460" 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:red;"><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/b9b78f02ece5633d9e8840694962e5121dbd8dd4" alt="" width="537"><figcaption></figcaption></figure>

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

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

<mark style="color:red;">**Увага!**</mark> Перед змінною product\_pay\_info в калькуляторі напишіть project. Це потрібно для того, щоб ЗМІННА та ЗНАЧЕННЯ з таблиці були внесені в налаштування проєкту (кешовані):

<figure><img src="/files/401cd84d6ccda1ea1f52a893d8505de639928af5" alt=""><figcaption></figcaption></figure>

Тепер напишіть будь-яке слово/цифри в умові блоку:

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

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

Далі створіть другий блок Status:

<figure><img src="/files/8baac51da221b4f2ae4c838bf06df5258ebc4d92" alt=""><figcaption></figcaption></figure>

Цей блок Status потрібен для передачі змінних у картку клієнта.

Також у цьому блоці ви можете надіслати фінальне повідомлення від бота, наприклад: «Дякуємо за замовлення! Я передаю дані менеджеру з комунікацій!»:

<figure><img src="/files/55fabc3b28f0e831d0babe62286e9be6fc74bdb0" alt=""><figcaption></figcaption></figure>

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

### Читання таблиці

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

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

Отже, блок спрацював правильно: ви бачите значення, які прочитано і які знаходяться у змінній в налаштуваннях проєкту.

Перевірити це можна, перейшовши до відповідного розділу:

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

Далі ви побачите вашу змінну зі значеннями, вбудованими в неї з таблиці:

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

Тож тепер усередині вашого проєкту є змінна з товарами, вартістю та всім, що ви вказали в таблиці.

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

Перейдіть до розділу «AI assistant» і почніть налаштовувати штучний інтелект.

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

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

Також ми встановимо опції «Кнопки» та «Покрокове введення даних»:

<figure><img src="/files/3c5e02126806bdae70b2dd3a377fd6bd3716673d" alt=""><figcaption></figcaption></figure>

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

### Налаштування AI-асистента

У налаштуваннях бота прописуємо такі дані:

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

Приклад:

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

Після того як ти опитав клієнта щодо його покупки, продублюй для нього замовлення та запитай: «Чи правильно оформлено замовлення?».

**Зверніть увагу** на рядок «Розрахувати загальну вартість товару, що дорівнює одиниці товару, помноженій на вартість» — цей рядок покаже фінальний результат вартості всіх обраних клієнтом категорій:

Приклад:

Клієнт обрав три кг одного товару. Бот, своєю чергою, розраховує загальну вартість:

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

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

<Якщо клієнт написав «Замовлення правильне» або «Correct», тоді напиши "start\_block\_from\_ai N">, де замість N вказано ID блоку з фінальним повідомленням: блок Status передає дані в картку клієнта:

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

Команди в налаштуваннях AI-асистента виглядають так:

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

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

У полі «Знання бота» передайте змінну, яка раніше була кешована блоком Primary Verification умови:

<figure><img src="/files/751732d72b365e069c80d754877efeacd690ddfd" alt=""><figcaption></figcaption></figure>

Знання бота:

<figure><img src="/files/1a1e5d03a4da039eea4bbd063b21f6cb11fbd3dc" alt=""><figcaption></figcaption></figure>

Таким чином, бот братиме інформацію зі змінної в налаштуваннях проєкту та консультуватиме ваших клієнтів щодо доступного асортименту товарів.

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

У форматі переданих даних ви самостійно вказуєте дані, які збираєте (наприклад, товар), потім вводите фразу з «ключем» і призначаєте значення цьому ключу:

<figure><img src="/files/5b52a1abe5c94367103dd435a6a851cd8b393875" alt=""><figcaption></figcaption></figure>

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

Рядок 1: «Формат переданих даних: товар із ключем product, одиниця виміру з ключем thing, ціна з ключем count, загальна вартість усіх вибраних товарів з ключем result» — дає боту зрозуміти, які саме дані і з яким значенням потрібно передати в систему.

Ці змінні будуть відображатися в картці клієнта:

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

2. Якщо вам потрібно, щоб кожен обраний клієнтом товар відображався окремо, додайте другий рядок:

«Якщо клієнт обрав кілька товарів, тоді додайте перший товар із ключем product1, другий товар із ключем product2, третій товар із ключем product3 і так далі».

На цьому налаштування AI-асистента завершено.

Інші параметри можна налаштувати на власний розсуд:

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

## Тестування бота&#x20;

Використайте конструктор умов, щоб додати роботу бота у тестове вікно:

Крок 1. Натисніть на конструктор умови

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

Крок 2. Виберіть вкладку з текстовим полем і натисніть «Додати»:

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

Тепер у стартовій умові ви бачите таке значення:

<figure><img src="/files/07343b66e804d624b8cc349ef1d1f0c48329975b" alt=""><figcaption></figcaption></figure>

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

Після налагодження бота видаліть цю умову.
{% endhint %}

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

1. Поставмо боту запитання безпеки щодо асортименту товарів:

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

Бот показав різноманіття товарів, внесених у Google-таблицю, зчитавши значення зі змінної, що міститься в налаштуваннях проєкту.

2. Далі ми виберемо товар і поспілкуємося з розумним ботом:

<div><figure><img src="/files/213e7a0088a2288da4dff45a55c3068b5aeb78d4" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="/files/855b6985f93239d9d7c1954be1d36f05fc1f5a4a" alt="" width="375"><figcaption></figcaption></figure></div>

3. Давайте оберемо інший товар:

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

Бот також відображається коректно, показуючи клієнту категорії товарів для подальшого вибору.

4. Клієнт обрав кілька товарів і вказав їхню кількість:

<div><figure><img src="/files/9eb6094660e95723ed969dc8096d7cdb9a8f0ee8" alt=""><figcaption></figcaption></figure> <figure><img src="/files/764a0c5aa478dc9e6b93d406c967169a7a02daeb" alt=""><figcaption></figcaption></figure></div>

Бот обчислив вартість обраних позицій і розрахував загальну суму.

5. Надсилання даних у систему:

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

Результат: після того як бот продублював замовлення, а клієнт відповів, що замовлення правильне, чатбот, спираючись на налаштування, викликав блок «Dialog status»:

<figure><img src="/files/55fabc3b28f0e831d0babe62286e9be6fc74bdb0" alt=""><figcaption></figcaption></figure>

Після цього дані, сформовані ботом у діалозі з клієнтом, були надіслані в картку клієнта:

<figure><img src="/files/6273b30adee96a8266b71ad440dea072b282b85a" 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/uk/chatbot/ai/google-tablici-dlya-ai-asistenta.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.
