Description
n8n-nodes-yandex-messenger




Community node for n8n to interact with Yandex Messenger Bot API
—
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.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)
1. Open Settings → Community Nodes
2. Enter n8n-nodes-yandex-messenger
3. 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 |
| 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.
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) |
| setelementsstate | Changes button state (e.g., loading, disabled) |
⚠️ Limitations
payload_id to deduplicate)🔗 API Reference
| Endpoint | Documentation |
|—|—|
| Send Text | API Docs |
| Create Poll | API Docs |
| Get Poll Results | API Docs |
| Get Poll Voters | API Docs |
| Create Chat | API Docs |
| Update Members | API Docs |
| Webhook | API Docs |
🤝 Compatibility
| Requirement | Version |
|—|—|
| n8n | 1.0+ |
| Node.js | 18 or 20 LTS |
📄 License
—
Русский
📖 О проекте
Эта community-нода для n8n позволяет автоматизировать работу с Яндекс Мессенджером (часть Яндекс 360 для бизнеса) и интегрировать его с более чем 400 сервисами, доступными в n8n. Создана сообществом, архитектура вдохновлена Telegram-нодой.
🆕 Что нового в v0.3.0
🚀 Установка
#### Через интерфейс n8n (рекомендуется)
1. Откройте Settings → Community Nodes
2. Введите n8n-nodes-yandex-messenger
3. Нажмите Install
#### Вручную
cd ~/.n8n/nodes
npm install n8n-nodes-yandex-messenger
Перезапустите n8n после установки
🔑 Авторизация
Для работы необходим OAuth-токен бота Яндекс Мессенджера.
| Поле | Описание |
|—|—|
| Bot OAuth Token | OAuth-токен, выданный боту в панели администратора Яндекс 360 |
⚡ Операции
#### Нода Yandex Messenger
##### Сообщения
| Операция | Описание |
|—|—|
| Send Text | Отправка текстового сообщения с поддержкой 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-формат этажами.
Типы директив:
| Тип | Описание |
|—|—|
| open_uri | Открывает URL в браузере |
| send_message | Отправляет сообщение в чат от имени пользователя |
| server_action | Отправляет «тихий» callback боту (без видимого сообщения) |
| setelementsstate | Изменяет состояние кнопок (loading, disabled) |
⚠️ Ограничения
payload_id для защиты)🔗 Справочник API
| Эндпоинт | Документация |
|—|—|
| Отправка текста | Документация |
| Создание опроса | Документация |
| Результаты опроса | Документация |
| Список проголосовавших | Документация |
| Создание чата | Документация |
| Управление участниками | Документация |
| Webhook | Документация |
🤝 Совместимость
| Требование | Версия |
|—|—|
| n8n | 1.0+ |
| Node.js | 18 или 20 LTS |
📄 Лицензия
—
Made with ❤️ for the n8n community