Блок отправляет текст или файл через выбранный канал и передаёт управление следующему блоку. Это единственный блок, через который цепочка пишет людям.
По умолчанию сообщение уходит клиенту, из-за которого цепочка запустилась. Получателя можно сменить: написать другому клиенту из базы или на внешний ID. Так один запуск и здоровается с клиентом, и зовёт оператора в диалог.
В тексте работают переменные контекста: имя клиента, последнее сообщение, результат AI. Если основной канал недоступен, сообщение уходит через резервный.
#Настройки
| Поле | Описание |
|---|---|
| Получатель | Кому уйдёт сообщение: клиент связки, клиент из базы или внешний ID |
| Пригласить в диалог с клиентом | Добавляет к тексту ссылку на переписку, оператор открывает её в один клик |
| Текст сообщения | Что написать клиенту. Поддерживает переменные в двойных фигурных скобках |
| Канал | Через какой канал отправить (Telegram, SMS, Email и другие подключённые) |
| Каскадные каналы | Резервные каналы на случай, если основной недоступен |
| Стратегия отправки | Как выбирать канал, если их несколько: каскад, случайный, по очереди |
| Медиа-файл | Одно вложение: картинка, голосовое, кружок, видео или документ |
#Переменные в тексте
| Переменная | Что подставится |
|---|---|
{{name}} | Имя клиента |
{{phone}} | Телефон |
{{email}} | |
{{lastMessage}} | Последнее сообщение клиента |
{{aiResult}} | Результат последнего AI-блока |
{{aiResult_N}} | Результат AI-блока номер N |
{{python_N}} | Результат Python-блока номер N |
{{webhook_N}} | Ответ вебхука номер N |
{{var_N}} | Пользовательская переменная номер N |
{{custom_field_ИМЯ}} | Кастомное поле диалога |
{{dialog}} | Вся история переписки |
{{dialog_N}} | Последние N сообщений |
{{dialogLink}} | Ссылка на диалог с клиентом в кабинете |
{{recipientName}} | Имя получателя (в режиме по умолчанию это имя клиента связки) |
Полный список переменных: Переменные.
#Получатель
| Режим | Кому уходит | Какой канал берётся, если канал не выбран |
|---|---|---|
| Клиент связки (по умолчанию) | Тому, чьё сообщение запустило цепочку | Канал, откуда пришло сообщение |
| Клиент из базы | Любой карточке клиента; выбирается поиском по имени, телефону, почте и ID | Канал, в котором этот клиент с вами переписывается |
| Внешний ID | Произвольный адрес: Telegram chat ID оператора, телефон, почта. Работают переменные | Канал, откуда пришло сообщение |
Переменные клиента ({{name}}, {{lastMessage}}, {{custom_field_ИМЯ}}) всегда описывают клиента связки, а не получателя. Поэтому текст «Клиент {{name}} написал: {{lastMessage}}» в уведомлении оператору читается правильно.
Копия сообщения сохраняется в переписке получателя. Если внешнего ID нет в базе, сообщение всё равно уйдёт, но диалога для него не появится.
#Позвать оператора в диалог
Галочка «Пригласить в диалог с клиентом» добавляет к тексту ссылку на переписку. Оператор открывает её и продолжает разговор с того места, где остановился бот. Готовый сценарий из двух блоков лежит в шаблоне «Встретить клиента и позвать оператора».
Telegram-бот пишет только тем, кто хотя бы раз ему написал: оператор должен нажать в боте «Старт», иначе уведомление не дойдёт. Свой chat ID он узнаёт у @userinfobot.
#Медиа-вложения
К сообщению прикрепляется один файл.
| Тип | Форматы | Как выглядит у клиента |
|---|---|---|
| Картинка | JPG, PNG, GIF, WebP | Фото в чате |
| Голосовое | OGG, MP3, WAV | Аудиосообщение |
| Кружок | MP4 (круглое видео) | Видеосообщение |
| Видео | MP4, MOV | Видеофайл |
| Документ | Любой формат | Файл-вложение |
Файл загружается перетаскиванием на блок или кнопкой выбора. Источник медиа задаётся одним из двух способов:
- URL: ссылка на файл в интернете.
- Переменная: медиа из результата другого блока, например
{{imageResult_3}}после блока «Генерация изображений».
#Каскадные каналы и стратегии
Если основной канал недоступен (клиент заблокировал бота, канал отключён), сообщение уходит через следующий канал в списке. Порядок и число резервных каналов задаёте вы. Пример каскада: Telegram, затем SMS, затем Email.
Когда каналов несколько, порядок выбора определяет стратегия:
| Стратегия | Как работает |
|---|---|
| Каскад (по умолчанию) | Пробует каналы по порядку, пока отправка не удастся |
| Случайный | Отправляет через случайный канал из списка |
| По очереди | Чередует каналы по кругу: 1, 2, 3, снова 1 |
#Пример
Отправка сообщения: «Привет, {{name}}! Мы получили ваш запрос: «{{lastMessage}}»»
Получатель: клиент связки
Канал: Telegram
Каскад: SMS, Email
Медиа: картинка (URL)Клиенту в Telegram приходит текст с подставленным именем и картинкой. Если бот в Telegram заблокирован, тот же текст уходит по SMS.
Второй блок в той же цепочке зовёт человека:
Отправка сообщения: «Новое обращение от {{name}}: «{{lastMessage}}». Нужен ответ оператора.»
Получатель: внешний ID → 123456789 (Telegram chat ID оператора)
Пригласить в диалог с клиентом: да
Канал: Telegram#Что сохраняется в контексте
| Переменная | Значение |
|---|---|
{{message_N}} | Текст отправленного сообщения, N: номер блока |
#Ограничения
- Одно вложение на сообщение.
- Telegram-бот не пишет первым: получатель должен сам написать боту хотя бы раз.
- Каждое доставленное сообщение стоит как обычное, независимо от того, клиент это или оператор.
- Каскад и стратегии работают только между каналами, добавленными в список блока.
