Що ми будемо будувати

Наш бот — це не простий скрипт з кнопками. Це AI-агент, який розуміє природну мову, має доступ до бази знань вашого магазину і може виконувати конкретні дії: перевірити статус замовлення, порекомендувати товар, відповісти на FAQ.

Ось архітектура того, що ми побудуємо:

💬
Telegram
Trigger
🔀
Switch
Commands
🤖
AI Agent
Tools
📋
Google
Sheets FAQ
💭
Memory
Buffer
📤
Telegram
Reply

Компоненти:

  • Telegram Trigger — слухає всі вхідні повідомлення
  • Switch — розподіляє команди (/help, /status, /order) та звичайні повідомлення
  • AI Agent (Tools Agent) — мозок бота, підключений до OpenAI або Claude
  • Google Sheets Tool — база знань: FAQ, каталог товарів, статуси замовлень
  • Memory Buffer — пам'ять розмови (бот пам'ятає контекст)
  • Telegram Send Message — відправляє відповідь клієнту
Що потрібно перед стартом

n8n (self-hosted або cloud), Telegram-акаунт, OpenAI API key (або Claude API key), Google-акаунт для Sheets. Якщо у вас ще немає n8n — зверніться до нашого гайду з установки на VPS.

Створюємо бота через BotFather

BotFather — це офіційний Telegram-бот для створення інших ботів. Відкрийте Telegram, знайдіть @BotFather та пройдіть наступні кроки:

  • Напишіть /newbot
  • Введіть назву бота (видиму для клієнтів), наприклад: Мій Магазин Підтримка
  • Введіть username бота (має закінчуватись на «bot»), наприклад: mystore_support_bot
  • BotFather видасть вам API Token — довгий рядок типу 7123456789:AAHdqTcv.... Збережіть його — він знадобиться в n8n

Далі опціонально, але рекомендовано — налаштуйте бота через BotFather-команди:

# Додаємо опис бота /setdescription → AI-асистент магазину. Відповідаю на питання 24/7 🤖 # Додаємо аватар /setuserpic → [завантажте логотип магазину] # Додаємо список команд /setcommands → help - Що я вмію status - Перевірити статус замовлення order - Оформити замовлення catalog - Каталог товарів

Підключаємо Telegram Trigger в n8n

Відкрийте n8n, створіть новий workflow (наприклад, «Telegram AI Bot»). Далі:

  • Додайте першу ноду: знайдіть «Telegram Trigger» і оберіть тригер «On Message». Це означає, що workflow запускатиметься при кожному вхідному повідомленні
  • В полі «Credential to connect with» натисніть «Create New» → вставте API Token від BotFather → збережіть
  • В «Updates» оберіть «message» — бот реагуватиме на текстові повідомлення
Перевірка з'єднання

Після збереження Telegram Trigger, n8n автоматично реєструє webhook в Telegram API. Якщо ви бачите зелену галочку — з'єднання успішне. Якщо помилка — перевірте, що ваш n8n доступний через HTTPS (Telegram вимагає SSL для webhook-ів).

Тепер при кожному повідомленні до вашого бота n8n отримуватиме дані. Приклад вихідного JSON з Telegram Trigger:

{ "message": { "text": "Привіт, де моє замовлення #4821?", "chat": { "id": 123456789, "first_name": "Олена" }, "from": { "id": 123456789, "username": "olena_ua" } } }

AI Agent — мозок бота

AI Agent — це «мозок» вашого бота. В n8n це окрема нода, яка підключається до LLM (GPT-4o, Claude, Gemini) та має доступ до «інструментів» (tools) — Google Sheets, HTTP Request, Calculator тощо.

Додайте ноду «AI Agent» після Telegram Trigger. В полі «Agent Type» оберіть «Tools Agent» — цей тип спеціально розроблений для агентів, які використовують зовнішні інструменти.

Далі підключіть мовну модель — натисніть на вхід «Model» та додайте одну з нод:

Модель Нода в n8n Ціна Коли обрати
GPT-4o-mini OpenAI Chat Model $0.15/1M input Найкращий баланс ціна/якість
GPT-4o OpenAI Chat Model $2.50/1M input Складні задачі, високий reasoning
Claude 3.5 Sonnet Anthropic Chat Model $3/1M input Довгий контекст, хороші інструкції
Gemini Flash Google Gemini Chat Model Безкоштовно (ліміт) Тестування, мінімальний бюджет

Тепер налаштуйте System Prompt — це інструкція, яка визначає поведінку бота:

Ти — AI-асистент інтернет-магазину [НАЗВА МАГАЗИНУ]. ПРАВИЛА: - Відповідай українською мовою - Будь ввічливим, коротким та корисним - Використовуй Google Sheets Tool для пошуку відповідей на FAQ - Якщо не знаєш відповіді — чесно скажи і запропонуй зв'язатись з менеджером - Ніколи не вигадуй інформацію про товари чи ціни - Для перевірки статусу замовлення запитай номер замовлення ТОН: Дружній, але професійний. Використовуй емодзі помірно. Пиши короткими реченнями. Максимум 3-4 речення у відповіді. ЕСКАЛАЦІЯ: Якщо клієнт незадоволений, хоче повернення або має складне питання — скажи: "Зараз з'єдную вас з менеджером 🙏" та додай тег [ESCALATE] в кінці відповіді.

Далі підключіть Memory Buffer — натисніть на вхід «Memory» та додайте ноду «Window Buffer Memory». В полі Session Key вставте {{ $json.message.chat.id }} — це дасть боту окрему пам'ять для кожного користувача.

Важливо: Session Key

Без правильного Session Key бот змішуватиме розмови різних користувачів. Chat ID з Telegram гарантує, що кожен клієнт має свою окрему історію розмови.

База знань через Google Sheets

Google Sheets — найпростіший спосіб створити базу знань для бота. Створіть таблицю з двома аркушами.

Аркуш 1: FAQ

Питання Відповідь Категорія
Як оформити замовлення? Додайте товар у кошик на сайті та оформіть замовлення. Або напишіть нам номер товару. Замовлення
Які способи доставки? Нова Пошта (1-2 дні), Укрпошта (3-5 днів), самовивіз з Києва. Доставка
Як повернути товар? Протягом 14 днів з моменту отримання. Зв'яжіться з менеджером. Повернення
Які способи оплати? Карткою онлайн (Visa/MC), LiqPay, накладений платіж. Оплата

Аркуш 2: Замовлення

order_id customer_name status tracking total
#4821 Олена К. Відправлено 20450012345678 1 250 ₴
#4822 Андрій М. Обробляється 890 ₴

Тепер підключаємо Google Sheets як Tool для AI Agent. Натисніть на вхід «Tools» у AI Agent ноді → додайте «Google Sheets Tool» → підключіть Google-акаунт через OAuth2.

В описі Tool напишіть (це важливо — AI Agent використовує цей опис, щоб зрозуміти, коли викликати інструмент):

Name: FAQ_and_Orders Description: Використовуй цей інструмент для: 1) Пошуку відповідей на питання клієнтів (FAQ) 2) Перевірки статусу замовлення за номером order_id Таблиця має два аркуші: "FAQ" та "Замовлення".

Тепер коли клієнт запитує «Де моє замовлення #4821?», AI Agent автоматично викличе Google Sheets Tool, знайде рядок з order_id = #4821, та відповість: «Ваше замовлення #4821 відправлено! Трек-номер Нової Пошти: 20450012345678 📦».

Команди /help, /status, /order

Команди дають клієнтам швидкий доступ до частих дій без необхідності писати повне повідомлення. Реалізуємо через Switch-ноду між Telegram Trigger та AI Agent.

Додайте ноду «Switch» між Telegram Trigger та AI Agent. Далі налаштуйте правила (Rules):

Rule 1: {{ $json.message.text }} starts with "/help" → Output 1 (Help response) Rule 2: {{ $json.message.text }} starts with "/status" → Output 2 (Status check) Rule 3: {{ $json.message.text }} starts with "/order" → Output 3 (New order flow) Rule 4: {{ $json.message.text }} starts with "/start" → Output 4 (Welcome message) Default: → AI Agent (обробляє все інше)

Для кожного output додайте Telegram Send Message ноду з відповідним текстом. Приклад — /start welcome message:

Привіт, {{ $json.message.from.first_name }}! 👋 Я — AI-асистент магазину [НАЗВА]. Ось що я вмію: 📋 /help — Що я вмію 📦 /status — Перевірити замовлення 🛒 /order — Оформити замовлення Або просто напишіть питання — я відповім! 🤖

А ось приклад для /status — запиту номера замовлення:

📦 Щоб перевірити статус, напишіть номер замовлення. Наприклад: #4821 Я знайду його та покажу поточний статус та трек-номер.

Ескалація до людини

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

  • Після AI Agent додайте ноду «IF», яка перевіряє, чи відповідь містить тег [ESCALATE]
  • Якщо TRUE — паралельно відправляємо клієнту повідомлення «Зараз з'єдную вас з менеджером. Очікуйте відповідь протягом 5 хвилин 🙏», менеджеру в окремий чат — сповіщення з контекстом розмови, ім'ям та username клієнта, а в Google Sheets — лог ескалації (дата, клієнт, причина)
  • Якщо FALSE — відправляємо відповідь AI Agent напряму клієнту через Telegram Send Message
Pro tip: Telegram-група для ескалацій

Створіть окрему Telegram-групу «Ескалації бота», додайте туди менеджерів. Коли бот не може відповісти — повідомлення з контекстом летить у цю групу. Менеджер бачить всю історію розмови та може відповісти клієнту напряму.

Тестуємо та запускаємо в продакшен

Перед запуском протестуйте кожен сценарій:

  • /start — бот вітає та показує меню команд
  • /help — бот пояснює свої можливості
  • /status — бот просить номер замовлення, потім знаходить його в Google Sheets
  • «Які способи доставки?» — бот знаходить відповідь у FAQ
  • «Хочу повернення» — бот ескалює до менеджера
  • Невідоме питання — бот чесно каже, що не знає, та пропонує зв'язатись з менеджером
  • Контекст розмови — задайте follow-up питання, щоб перевірити, що бот пам'ятає попередній контекст

Якщо все працює — натисніть «Active» у верхньому правому куті workflow. Бот тепер працює 24/7.

Помилки при запуску

Найчастіші проблеми: webhook не реєструється (n8n не має HTTPS), AI Agent повертає помилку (перевірте API key), Google Sheets не знаходить дані (перевірте назви колонок). Всі помилки видно у вкладці «Executions» в n8n.

Що можна додати далі

Голосові повідомлення

Додайте обробку голосових повідомлень: Telegram Trigger (voice) → завантаження аудіо → OpenAI Whisper (транскрипція) → AI Agent. Клієнт надсилає голосове — бот розуміє та відповідає текстом.

Обробка фото

Клієнт надсилає фото товару → GPT-4o Vision аналізує зображення → AI Agent відповідає. Корисно для підтримки: «Мій товар прийшов пошкоджений» + фото.

Прийом оплати

Telegram підтримує вбудовані платежі. Додайте ноду Telegram Send Invoice для оплати прямо в чаті. Для UA-ринку — підключіть LiqPay як payment provider.

Мультимовність

Додайте в System Prompt: «Визначай мову клієнта та відповідай тією ж мовою». AI Agent автоматично перемикатиметься між українською, російською та англійською.

Інші канали

Той самий AI Agent workflow працює з WhatsApp (через Twilio або Meta API), Viber, Facebook Messenger та навіть віджетом на сайті (через n8n Chat Trigger). Достатньо замінити Telegram Trigger на відповідний trigger іншого каналу — вся логіка AI залишається ідентичною.

Канал Trigger в n8n Складність
Telegram Telegram Trigger Легко
WhatsApp Twilio Trigger / Meta Webhook Середньо
Viber Webhook (Viber API) Середньо
Сайт n8n Chat Trigger Легко
Facebook Facebook Messenger Trigger Середньо

Часті питання

Скільки коштує Telegram-бот на n8n?

n8n self-hosted — безкоштовно. OpenAI API (GPT-4o-mini) — від $0.15/1M токенів, що в середньому $2–10/міс для малого магазину. Google Sheets — безкоштовно. VPS — $5/міс. Загалом: від $7/міс за повноцінного AI-бота, який працює 24/7.

Скільки повідомлень витримує бот?

На VPS з 2 vCPU / 4 GB RAM — 1000+ повідомлень на день без проблем. n8n обробляє кожне повідомлення як окремий execution. Вузьке місце — API rate limits LLM-провайдера, але для малого бізнесу цього більш ніж достатньо.

Чи можна замість Google Sheets підключити справжню базу даних?

Так. n8n підтримує PostgreSQL, MySQL, MongoDB, Airtable, Supabase та інші. Для малого магазину Google Sheets — ідеальний старт (просто, безкоштовно, зрозуміло). Для масштабування — мігруйте на PostgreSQL або Airtable.

Як бот обробляє спам або незрозумілі повідомлення?

AI Agent з правильним System Prompt ввічливо реагує на незрозумілі повідомлення: «Вибачте, не зовсім зрозумів. Спробуйте /help для списку команд». Для захисту від спаму можна додати rate limiting через IF-ноду (максимум 10 повідомлень на хвилину від одного користувача).

Як оновлювати базу знань?

Просто редагуйте Google Sheets — зміни підхоплюються автоматично при наступному запиті. Додали новий товар — бот вже знає про нього. Змінили умови доставки — бот відповідає по-новому. Без перезапуску, без деплою.