English
📖 About
This n8n community node lets you automate work in Yandex Messenger (part of Yandex 360 for Business) and integrate it with 400+ other services available in n8n. Built by the community, inspired by the architecture of the Telegram node.
🆕 What's New in v0.4.0
- ✏️ Edit Messages — Update previously sent text messages (and their suggest buttons) via the same
sendText API with message_id.
- 📌 Persistent Buttons — Suggest buttons stay under the message after the next chat message by default (
persist: true). Turn off Keep Buttons After Next Message if they should disappear.
What's New in v0.3.0
- 📊 Polls Support — Create polls, retrieve vote counts, and get lists of voters.
- ✨ UX Improvements — Comma-separated logins for quick chat creation (no more tedious clicking!), smart grid auto-detection for Suggest Buttons.
- 🏗 Architecture Refactoring — Modular, clean, and highly maintainable codebase.
🚀 Installation
Via n8n UI (recommended)
- Open Settings → Community Nodes
- Enter
n8n-nodes-yandex-messenger
- Click Install
Manual
cd ~/.n8n/nodes
npm install n8n-nodes-yandex-messenger
# Restart n8n after installation
🔑 Credentials
You need an OAuth token for your Yandex Messenger bot.
| Field |
Description |
| Bot OAuth Token |
OAuth token issued for your bot in Yandex 360 admin panel |
⚡ Operations
Yandex Messenger Node
Message
| Operation |
Description |
| Send Text |
Send a text message with optional suggest buttons, reply, and threading support. Max 6000 characters |
| Edit |
Edit a previously sent text message (same chat). Can also update suggest buttons. Max 6000 characters |
| Send File |
Send a file to a chat or user via multipart/form-data |
| Send Image |
Send an image to a chat or user |
| Send Album |
Send multiple images as an album |
| Delete |
Delete a message from a chat |
Poll 🆕
| Operation |
Description |
| Create |
Create a new poll with multiple answers and optional interactive buttons |
| Get Results |
Retrieve the total number of voters and vote counts per answer |
| Get Voters |
Get the list of users who voted for a specific answer (supports pagination) |
Chat
| Operation |
Description |
| Create |
Create a new group chat or channel with optional members, subscribers, admins, and avatar |
| Update Members |
Add or remove members, admins, or subscribers in an existing chat or channel |
Bot Settings
| Operation |
Description |
| Set Webhook |
Set or remove the webhook URL for receiving updates |
Yandex Messenger Trigger Node
Starts the workflow when a Yandex Messenger event occurs:
| Event |
Description |
| All Updates |
Receive all types of updates |
| New Message |
Triggered when a new message is sent to the bot |
| Message Updated |
Triggered when an existing message is edited |
| Callback Button Pressed |
Triggered when a user presses an inline button |
📬 Recipient Types
Each message/poll operation supports two recipient types:
| Type |
Parameter |
Description |
| Group Chat |
chat_id |
Send to a group chat where the bot is a member |
| User |
login |
Send a private message to a user by login |
Note: At least one of chat_id or login must be provided. The bot can only send messages to chats where it is a member or admin.
🆕📊 Polls — Create & Track
Easily interact with audiences using polls.
| Field |
Required |
Type |
Description |
pollTitle |
✅ |
string |
Question or title of the poll |
pollAnswers |
✅ |
array |
List of answers (min 2, max 100) |
is_anonymous |
❌ |
boolean |
Hide who voted for what |
max_choices |
❌ |
number |
Allow users to select multiple options |
answerId |
❌ |
number |
Required for Get Voters. The ID of the answer (starts from 1) |
💬 Chat — Create & Update
Create chats effortlessly by providing a comma-separated list of logins (e.g., ivan, anna, petr).
| Field |
Required |
Type |
Description |
name |
✅ |
string |
Name of the chat or channel (max 200 characters) |
description |
✅ |
string |
Description (max 500 characters, empty string allowed) |
channel |
❌ |
boolean |
Set to true to create a channel instead of a chat |
admins |
❌ |
string |
Comma-separated list of administrators (max 100) |
members |
❌ |
string |
Comma-separated list of chat members (max 500, only for chats) |
subscribers |
❌ |
string |
Comma-separated list of channel subscribers (max 500, only for channels) |
Example:
{
"resource": "chat",
"operation": "create",
"chatName": "Project Alpha",
"chatDescription": "Discussion chat for Project Alpha",
"channel": false,
"chatMembersString": "john.doe, jane.smith"
}
🔘 Suggest Buttons
Modern interactive buttons that replace the deprecated inline_keyboard. Each button can contain up to 3 directives.
Smart Grid: If you set a Row Number > 0 for any button, the node automatically formats them as a Grid.
Persist: By default, buttons remain visible even after a newer message is sent (Keep Buttons After Next Message). This maps to suggest_buttons.persist in the Bot API.
Directive Types:
| Type |
Description |
open_uri |
Opens a URL in the browser |
send_message |
Sends a message to the chat on behalf of the user |
server_action |
Sends a silent callback to the bot (no visible message) |
set_elements_state |
Changes button state (e.g., loading, disabled) |
⚠️ Limitations
- Bot can only message chats where it's a member or admin
- Bot cannot send private messages to users who have disabled it in privacy settings
- Bot cannot message users outside its organization
- Text messages are limited to 6000 characters
- Chat/channel name is limited to 200 characters, description to 500 characters
- Max 100 admins, 500 members/subscribers per request
- Each user must be unique within a single chat update request
- Suggest buttons are limited to 100 buttons per message and 3 directives per button
- Webhook delivery is "at least once" — duplicates are possible (use
payload_id to deduplicate)
🔗 API Reference
🤝 Compatibility
| Requirement |
Version |
| n8n |
1.0+ |
| Node.js |
18 or 20 LTS |
📄 License
MIT
Русский
📖 О проекте
Эта community-нода для n8n позволяет автоматизировать работу с Яндекс Мессенджером (часть Яндекс 360 для бизнеса) и интегрировать его с более чем 400 сервисами, доступными в n8n. Создана сообществом, архитектура вдохновлена Telegram-нодой.
🆕 Что нового в v0.4.0
- ✏️ Редактирование сообщений — Можно менять ранее отправленный текст (и suggest-кнопки) через тот же
sendText с параметром message_id.
- 📌 Кнопки не исчезают — Suggest-кнопки по умолчанию остаются под сообщением после следующего сообщения в чате (
persist: true). Выключите Keep Buttons After Next Message, если они должны пропадать.
Что нового в v0.3.0
- 📊 Поддержка Опросов — Создание опросов, получение результатов и списков проголосовавших.
- ✨ Улучшение UX — Создание чатов и добавление участников теперь работает через обычные списки логинов через запятую. Умная авто-сетка для Suggest-кнопок.
- 🏗 Рефакторинг архитектуры — Код стал модульным, чистым и легко поддерживаемым.
🚀 Установка
Через интерфейс n8n (рекомендуется)
- Откройте Settings → Community Nodes
- Введите
n8n-nodes-yandex-messenger
- Нажмите Install
Вручную
cd ~/.n8n/nodes
npm install n8n-nodes-yandex-messenger
# Перезапустите n8n после установки
🔑 Авторизация
Для работы необходим OAuth-токен бота Яндекс Мессенджера.
| Поле |
Описание |
| Bot OAuth Token |
OAuth-токен, выданный боту в панели администратора Яндекс 360 |
⚡ Операции
Нода Yandex Messenger
Сообщения
| Операция |
Описание |
| Send Text |
Отправка текстового сообщения с поддержкой suggest-кнопок, ответов и тредов. Максимум 6000 символов |
| Edit |
Редактирование ранее отправленного текстового сообщения (тот же чат). Можно также обновить suggest-кнопки. Максимум 6000 символов |
| Send File |
Отправка файла в чат или пользователю через multipart/form-data |
| Send Image |
Отправка изображения в чат или пользователю |
| Send Album |
Отправка нескольких изображений в виде альбома |
| Delete |
Удаление сообщения из чата |
Опросы 🆕
| Операция |
Описание |
| Create |
Создание опроса с вариантами ответов и интерактивными кнопками |
| Get Results |
Получение общего количества проголосовавших и числа голосов за каждый вариант |
| Get Voters |
Получение списка пользователей, проголосовавших за конкретный вариант (с пагинацией) |
Чаты
| Операция |
Описание |
| Create |
Создание группового чата или канала с участниками, подписчиками, администраторами и аватаром |
| Update Members |
Добавление или удаление участников, администраторов или подписчиков |
Настройки бота
| Операция |
Описание |
| Set Webhook |
Установка или удаление URL вебхука для получения обновлений |
Нода-триггер Yandex Messenger Trigger
Запускает workflow при наступлении события в Яндекс Мессенджере:
| Событие |
Описание |
| All Updates |
Получение всех типов обновлений |
| New Message |
Срабатывает при получении нового сообщения |
| Message Updated |
Срабатывает при редактировании сообщения |
| Callback Button Pressed |
Срабатывает при нажатии инлайн-кнопки |
📬 Типы получателей
Каждая операция с сообщениями и опросами поддерживает два типа получателей:
| Тип |
Параметр |
Описание |
| Групповой чат |
chat_id |
Отправка в групповой чат, где бот является участником |
| Пользователь |
login |
Отправка личного сообщения пользователю по логину |
Важно: Необходимо указать хотя бы один из параметров: chat_id или login. Бот может отправлять сообщения только в чаты, где он является участником или администратором.
🆕📊 Опросы — Создание и Аналитика
Взаимодействуйте с аудиторией с помощью опросов.
| Поле |
Обязательное |
Тип |
Описание |
pollTitle |
✅ |
string |
Вопрос или заголовок опроса |
pollAnswers |
✅ |
array |
Список вариантов ответа (от 2 до 100) |
is_anonymous |
❌ |
boolean |
Скрыть список проголосовавших |
max_choices |
❌ |
number |
Максимальное количество вариантов, которые может выбрать юзер |
answerId |
❌ |
number |
Обязательно для Get Voters. Номер варианта ответа (начиная с 1) |
💬 Чат — Создание и Управление
Добавляйте участников и админов мгновенно, передавая список логинов через запятую (например, ivan, anna, petr).
| Поле |
Обязательное |
Тип |
Описание |
name |
✅ |
string |
Название чата или канала (макс. 200 символов) |
description |
✅ |
string |
Описание (макс. 500 символов, допустима пустая строка) |
channel |
❌ |
boolean |
true для создания канала вместо чата |
admins |
❌ |
string |
Логины админов через запятую (макс. 100) |
members |
❌ |
string |
Логины участников через запятую (макс. 500, только для чатов) |
subscribers |
❌ |
string |
Логины подписчиков через запятую (макс. 500, только для каналов) |
Пример:
{
"resource": "chat",
"operation": "create",
"chatName": "Проект Альфа",
"chatDescription": "Рабочий чат проекта Альфа",
"channel": false,
"chatMembersString": "ivan.petrov, anna.sidorova"
}
🔘 Suggest Buttons
Современные интерактивные кнопки, заменяющие устаревший inline_keyboard. Каждая кнопка может содержать до 3 директив.
Умная сетка: Если вы укажете Row Number > 0 хотя бы для одной кнопки, нода автоматически выстроит их в Grid-формат этажами.
Persist: По умолчанию кнопки остаются под сообщением даже после следующего сообщения в чате (Keep Buttons After Next Message). Это поле suggest_buttons.persist в Bot API.
Типы директив:
| Тип |
Описание |
open_uri |
Открывает URL в браузере |
send_message |
Отправляет сообщение в чат от имени пользователя |
server_action |
Отправляет «тихий» callback боту (без видимого сообщения) |
set_elements_state |
Изменяет состояние кнопок (loading, disabled) |
⚠️ Ограничения
- Бот может отправлять сообщения только в чаты, где он является участником или администратором
- Бот не может отправлять личные сообщения пользователям, запретившим это в настройках приватности
- Бот не может отправлять сообщения пользователям вне своей организации
- Текстовые сообщения ограничены 6000 символами
- Название чата/канала — не более 200 символов, описание — не более 500 символов
- Максимум 100 админов, 500 участников/подписчиков за один запрос
- Каждый пользователь должен быть уникален в рамках одного запроса на обновление участников
- Suggest buttons: не более 100 кнопок на сообщение и 3 директивы на кнопку
- Доставка через вебхук работает по принципу «at least once» — возможны дубликаты (используйте
payload_id для защиты)
- Недоставленные сообщения вебхука удаляются через 24 часа
🔗 Справочник API
🤝 Совместимость
| Требование |
Версия |
| n8n |
1.0+ |
| Node.js |
18 или 20 LTS |
📄 Лицензия
MIT