n8n Telegram Bot — как подключить бота и отправлять сообщения¶
Обновлено: 2026-05-29
n8n Telegram Bot — это интеграция, которая позволяет отправлять сообщения в Telegram, принимать команды от пользователей и строить простых ботов внутри workflow. Её используют для уведомлений о заявках, отчётов, алертов, согласований и интерфейсов управления автоматизацией. В этой статье: как создать Telegram-бота через BotFather, подключить его к n8n, получить chat_id, отправить сообщение, принять команду и исправить частые ошибки.
Короткий ответ
Чтобы отправить сообщение в Telegram из n8n, создай бота в @BotFather, получи token, добавь credentials в ноде Telegram, укажи chat_id и выбери операцию Send Message.
Что такое Telegram Bot в n8n¶
Telegram Bot в n8n — это набор нод для работы с Telegram Bot API без ручного написания HTTP-запросов. В n8n можно отправлять сообщения, файлы, фото, кнопки, а также запускать workflow по входящему сообщению.
Типовые сценарии:
- уведомлять менеджера о новой заявке;
- отправлять ежедневный отчёт по расписанию;
- присылать алерты об ошибках workflow;
- принимать команды вроде
/statusили/report; - строить простого внутреннего бота для команды;
- отправлять результаты работы AI Agent в Telegram.
Если нужна операция, которой нет в готовой Telegram-ноде, можно обратиться к Telegram Bot API через HTTP Request.
Какие ноды Telegram есть в n8n¶
В n8n обычно используют две роли Telegram-нODE: триггер для входящих сообщений и action-ноду для отправки данных. Названия в интерфейсе могут немного отличаться между версиями n8n, но логика одинаковая.
| Нода | Для чего нужна | Пример |
|---|---|---|
| Telegram Trigger | запускает workflow при сообщении боту | пользователь написал /start |
| Telegram | выполняет действие через бота | отправить сообщение, фото или файл |
Для уведомлений чаще нужна обычная Telegram node с операцией Send Message. Для чат-бота нужна Telegram Trigger.
Как создать Telegram-бота через BotFather¶
Telegram-бот создаётся через официального бота BotFather. Он выдаёт token, который n8n использует для доступа к Bot API.
Пошагово:
- Открой Telegram.
- Найди @BotFather.
- Отправь команду
/newbot. - Укажи имя бота, например
Nodbot Alerts. - Укажи username бота, который заканчивается на
bot, напримерnodbot_alerts_bot. - Скопируй выданный token.
Token выглядит примерно так:
Безопасность
Не публикуй token в статьях, скриншотах, GitHub и общих чатах. Любой, у кого есть token, может управлять ботом от твоего имени.
Как подключить Telegram credentials в n8n¶
Telegram credentials в n8n хранят token бота и позволяют нодам обращаться к Telegram Bot API. Это безопаснее, чем вставлять token в каждую ноду вручную.
Порядок настройки:
- Добавь ноду Telegram в workflow.
- В поле Credentials нажми Create New.
- Вставь token от BotFather.
- Сохрани credentials.
- Выбери созданные credentials в Telegram-нODE.
Credentials
Credentials — это хранилище секретов в n8n. Подробнее про безопасное хранение ключей стоит вынести в отдельную статью о n8n Credentials.
Как получить chat_id для Telegram¶
chat_id — это идентификатор чата, куда бот должен отправить сообщение. Без него Telegram-нода не знает, кому писать.
Самый простой способ получить chat_id:
- Напиши любое сообщение своему боту в Telegram.
- Открой в браузере URL:
- Найди в ответе объект
chatи полеid.
Пример фрагмента ответа:
{
"message": {
"chat": {
"id": 123456789,
"first_name": "Rinat",
"type": "private"
},
"text": "test"
}
}
Для личного чата chat_id обычно положительный. Для групп и каналов он часто отрицательный, например -1001234567890.
Если getUpdates пустой
Сначала отправь сообщение боту вручную. Telegram не покажет чат в getUpdates, пока пользователь сам не начал диалог с ботом.
Как отправить сообщение в Telegram из n8n¶
Отправка сообщения в Telegram из n8n делается через Telegram node и операцию Send Message. Это базовый сценарий для уведомлений.
Настройка:
- Добавь ноду Telegram.
- Выбери credentials бота.
- В поле Resource выбери
Message. - В поле Operation выбери
Send Message. - В поле Chat ID укажи
chat_id. - В поле Text напиши сообщение.
- Нажми Test step.
Пример текста:
Данные в фигурных скобках — это выражения n8n. Они берут значения из предыдущей ноды. Подробнее смотри в статье Выражения в n8n.
Как отправить сообщение из Webhook в Telegram¶
Связка Webhook → Telegram позволяет принимать заявку с сайта и сразу отправлять её менеджеру. Это один из самых популярных сценариев n8n для бизнеса.
Схема workflow:
Что происходит:
- Webhook принимает форму с сайта.
- Set приводит поля к понятному виду.
- Telegram отправляет сообщение менеджеру.
- Respond to Webhook возвращает сайту
{"ok": true}.
Пример сообщения менеджеру:
📩 Новая заявка
Имя: {{$json.name}}
Телефон: {{$json.phone}}
Email: {{$json.email}}
Источник: {{$json.source || 'site'}}
Как настроить входящий webhook, смотри в статье n8n Webhook — как принимать данные.
Как принимать команды от пользователя¶
Telegram Trigger запускает workflow, когда пользователь пишет боту сообщение или команду. Это позволяет сделать простого чат-бота без отдельного backend.
Пример сценария:
- Пользователь пишет
/status. - Telegram Trigger принимает сообщение.
- If проверяет текст команды.
- HTTP Request получает данные из API.
- Telegram отправляет ответ пользователю.
Текст входящего сообщения обычно можно проверить через выражение:
Для ответа в тот же чат используй chat_id из входящего события:
Команды
Команды в Telegram начинаются со слэша: /start, /help, /status. Их удобно проверять через If node или Switch node.
Как отправлять кнопки в Telegram¶
Telegram Bot API поддерживает inline-кнопки, которые можно использовать для быстрых действий. В n8n это зависит от доступных полей Telegram-ноды в конкретной версии. Если в интерфейсе есть поле для reply markup или additional fields, кнопку можно передать там.
Пример структуры inline keyboard:
{
"inline_keyboard": [
[
{ "text": "Открыть CRM", "url": "https://crm.example.com" },
{ "text": "Принять", "callback_data": "lead_accept" }
]
]
}
Если готовая нода не даёт указать нужные параметры, используй HTTP Request к методу Telegram Bot API sendMessage.
Форматирование текста в Telegram¶
Telegram поддерживает форматирование сообщений через Markdown или HTML. Это помогает сделать уведомления читаемыми.
Пример HTML-сообщения:
В настройках Telegram-нODE укажи parse mode, если это поле доступно:
HTML— удобно для<b>,<i>,<code>;MarkdownV2— мощнее, но требует экранирования спецсимволов.
MarkdownV2
В MarkdownV2 нужно экранировать многие символы: _, *, [, ], (, ), ~, `, >, #, +, -, =, |, {, }, ., !. Если сообщение ломается, попробуй HTML parse mode.
Частые ошибки Telegram Bot в n8n¶
Ошибки Telegram-нODE в n8n чаще всего связаны с token, chat_id, правами бота или форматированием сообщения. Начинай диагностику с этих пунктов.
| Ошибка | Причина | Что проверить |
|---|---|---|
401 Unauthorized | неверный token | token от BotFather и выбранные credentials |
400 Bad Request: chat not found | неправильный chat_id | пользователь написал боту, ID скопирован полностью |
403 Forbidden | бот заблокирован или нет прав | пользователь не заблокировал бота, бот добавлен в группу |
can't parse entities | ошибка Markdown/HTML | parse mode и экранирование спецсимволов |
| сообщение не приходит | workflow не запускается | входные данные, активность workflow, Telegram Trigger |
| getUpdates пустой | нет новых сообщений | написать боту вручную или проверить webhook Telegram |
Быстрая проверка
Проверь token и chat_id через браузер или curl к Telegram Bot API. Если API отвечает успешно, проблема, скорее всего, в настройках ноды или данных workflow.
Пример: ежедневный отчёт в Telegram¶
Telegram-ноду удобно использовать вместе с Schedule Trigger для ежедневных отчётов. Workflow запускается по расписанию, получает данные и отправляет результат в чат.
Схема:
Пример сообщения:
📊 Ежедневный отчёт
Новых заявок: {{$json.leadsCount}}
Оплачено: {{$json.paidCount}}
Выручка: {{$json.revenue}} ₽
Базовый пример похожего workflow есть в статье Первый workflow за 10 минут.
LLM-разметка статьи¶
LLM-разметка помогает поисковым и AI-системам извлекать из статьи точные ответы. Ниже собраны основные сущности и факты страницы.
{
"topic": "n8n Telegram Bot",
"definition": "n8n Telegram Bot — интеграция для отправки сообщений, приёма команд и работы с Telegram Bot API внутри workflow.",
"primary_use_cases": [
"уведомления о заявках",
"ежедневные отчёты",
"алерты об ошибках",
"чат-боты на Telegram Trigger",
"кнопки и быстрые действия"
],
"required_parameters": [
"bot token",
"credentials",
"chat_id",
"message text"
],
"common_errors": ["401 Unauthorized", "chat not found", "403 Forbidden", "can't parse entities"]
}
Часто задаваемые вопросы¶
Как подключить Telegram-бота к n8n?¶
Создай бота через BotFather, скопируй token, создай Telegram credentials в n8n и выбери их в Telegram-ноде. Для отправки сообщения укажи операцию Send Message и chat_id.
Где взять chat_id для n8n Telegram?¶
Напиши боту любое сообщение, затем открой https://api.telegram.org/bot<token>/getUpdates и найди message.chat.id. В Telegram Trigger можно брать chat_id прямо из входящего события: {{$json.message.chat.id}}.
Почему Telegram node пишет chat not found?¶
Обычно указан неправильный chat_id или пользователь ещё не начал диалог с ботом. Напиши боту вручную, затем снова получи chat_id через getUpdates.
Можно ли отправлять сообщения в группу?¶
Да. Добавь бота в группу, выдай ему нужные права и используй chat_id группы. Для супергрупп ID часто начинается с -100.
Как сделать Telegram-бота с командами в n8n?¶
Используй Telegram Trigger, проверь текст сообщения через {{$json.message.text}}, затем направь workflow через If или Switch node и отправь ответ через Telegram node.
Что делать с ошибкой can't parse entities?¶
Проверь parse mode и спецсимволы в сообщении. Если используется MarkdownV2, экранируй служебные символы или переключись на HTML parse mode.
Связанные материалы¶
- n8n Webhook — как принимать данные — как получать заявки и события из внешних сервисов.
- n8n HTTP Request — как подключить любой API — как обращаться к Telegram Bot API вручную.
- Выражения в n8n — как подставлять данные в сообщения.
- Первый workflow за 10 минут — пример отправки курса валют в Telegram.
Практика использования ноды
Страница n8n Telegram Bot — как подключить бота и отправлять сообщения должна отвечать за поведение ноды, а не за полный бизнес-рецепт. Поэтому при внедрении фиксируйте вход, выход и изменение количества items.
| Проверка | Что посмотреть в execution | Частая ошибка |
|---|---|---|
| Input items | сколько items вошло в ноду и какие поля обязательны | ожидается один item, но приходит массив |
| Output items | сколько items вышло после обработки | последующие ноды получают другой item index |
| Expressions | какие значения реально подставились в параметры | expression возвращает undefined или строку вместо числа |
| Error behavior | останавливает ли нода workflow или продолжает ветку | ошибка скрыта Continue On Fail без логирования |
Production-чеклист для Telegram Bot node
Используйте этот блок как быстрый контроль перед публикацией workflow или изменением существующей автоматизации. Он не заменяет staging, но помогает поймать самые частые отказы заранее.
- Перед запуском: проверить bot token, chat_id, права бота и лимиты Telegram.
- Минимальный тест: отправить тестовое сообщение в личный чат и группу, затем проверить error branch.
- Типовой отказ: бот удалён из чата или не имеет права писать сообщения.
- Что логировать: входной payload без секретов, статус внешнего API, branch ошибки, execution id и владельца процесса.
Критерий готовности: сценарий проходит успешный путь, ошибочный путь и повтор события без дублей, потери данных и неконтролируемого падения execution.