Открыть список гайдов

AfterAI Guides / n8n

Telegram-бот на n8n: первый рабочий флоу за 20 минут

Пошаговый гайд: создаём Telegram-бота через BotFather, подключаем webhook к n8n и обрабатываем входящие сообщения с автоответом.

n8nНачальный25 мая 2026 г.
n8ntelegramwebhookавтоматизация

Что получится

После выполнения гайда у тебя будет Telegram-бот, который:

  • Принимает любые входящие сообщения от пользователей
  • Обрабатывает их через n8n-флоу (фильтрация, условия, трансформация данных)
  • Отправляет текстовый ответ обратно в чат

Это базовый паттерн, на основе которого строятся боты поддержки, квалификации лидов, FAQ-боты и личные автоматизации.


Что нужно

  • Работающий инстанс n8n (self-hosted или cloud)
  • Аккаунт в Telegram
  • 20 минут времени

n8n должен быть доступен по публичному HTTPS-адресу — Telegram требует именно HTTPS для webhook. Если у тебя локальный n8n, используй ngrok или аналог для туннелирования.


Шаг 1: Создаём бота в BotFather

  1. Открой Telegram и найди бота @BotFather (верифицированный, с синей галочкой).
  2. Напиши /newbot и следуй инструкциям:
    • Введи отображаемое имя бота (например, My AfterAI Bot)
    • Введи username — должен заканчиваться на bot (например, myafterai_bot)
  3. BotFather пришлёт сообщение вида:
code
Done! Congratulations on your new bot. You will find it at t.me/myafterai_bot.
Use this token to access the HTTP API:
7123456789:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Сохрани токен — он потребуется в n8n. Никому не передавай его: владелец токена контролирует бота.

Скриншот: BotFather прислал токен, ты видишь строку вида 7123456789:AAF... — копируй её полностью.


Шаг 2: Настраиваем Webhook в n8n

  1. Открой n8n и создай новый workflow.
  2. Добавь ноду Webhook:
    • Click + → Search Webhook → выбери ноду
    • HTTP Method: POST
    • Path: задай уникальный путь, например telegram-bot
    • Response Mode: Respond to Webhook (или Last Node)
  3. Активируй workflow (переключатель в правом верхнем углу).
  4. Скопируй Production URL вида:
    code
    https://your-n8n.example.com/webhook/telegram-bot
    

Теперь зарегистрируй этот URL как webhook Telegram. Выполни запрос в браузере или через curl:

bash
curl "https://api.telegram.org/bot<YOUR_TOKEN>/setWebhook?url=https://your-n8n.example.com/webhook/telegram-bot"

Ожидаемый ответ:

json
{
  "ok": true,
  "result": true,
  "description": "Webhook was set"
}

Проверить статус webhook можно командой:

bash
curl "https://api.telegram.org/bot<YOUR_TOKEN>/getWebhookInfo"

Шаг 3: Добавляем Telegram node для ответа

Теперь нужно обработать входящее сообщение и отправить ответ.

  1. Добавь ноду Telegram после Webhook-ноды:
    • В поле Credential создай новые credentials → вставь токен бота
    • Resource: Message
    • Operation: Send Message
  2. Заполни поля:
    • Chat ID: {{ $json.message.chat.id }} — динамически берём ID чата из входящего сообщения
    • Text: Привет! Ты написал: {{ $json.message.text }}

Структура входящего JSON от Telegram выглядит так:

json
{
  "update_id": 123456789,
  "message": {
    "message_id": 42,
    "from": {
      "id": 987654321,
      "first_name": "Иван",
      "username": "ivan_example"
    },
    "chat": {
      "id": 987654321,
      "type": "private"
    },
    "text": "Привет, бот!"
  }
}

Именно из этой структуры берём $json.message.chat.id и $json.message.text.

Скриншот: в n8n видны две ноды — Webhook слева, Telegram справа. Линия соединяет их. В Telegram-ноде заполнены Chat ID и Text.


Шаг 4: Тестируем флоу

  1. Убедись, что workflow активирован (переключатель включён).
  2. Открой своего бота в Telegram: t.me/myafterai_bot
  3. Напиши любое сообщение, например Привет.
  4. Бот должен ответить: Привет! Ты написал: Привет

Если ответа нет — проверь:

  • Webhook действительно зарегистрирован (команда getWebhookInfo)
  • n8n доступен по HTTPS извне
  • Workflow активирован, а не просто сохранён

В n8n в разделе Executions ты увидишь лог каждого входящего сообщения — это помогает отладить проблемы с данными.


Что дальше

Базовый бот готов. Вот куда двигаться дальше:

  • Условная логика: добавь IF-ноду — разные ответы на разные команды (/start, /help, конкретные ключевые слова)
  • База данных: сохраняй историю сообщений в Airtable, Google Sheets или PostgreSQL
  • OpenAI интеграция: передавай текст пользователя в ChatGPT и возвращай AI-ответ
  • Меню с кнопками: используй reply_markup в Telegram API для интерактивных кнопок

Для более сложных сценариев смотри гайд по контент-конвейеру на n8n с OpenAI.

Понравился гайд?

Новые гайды, скиллы и разборы кейсов — каждую неделю в Telegram

@afterintelligence →