Цепочки

Отправка сообщения

Кратко

Блок SEND_MESSAGE отправляет текст или один медиа-файл через выбранный канал; получателем может быть клиент связки, любой клиент базы или внешний ID (например, Telegram оператора); поддерживает переменные, каскад резервных каналов и три стратегии выбора канала.

  • Добавляется в визуальном редакторе цепочки через «+» на холсте
  • Переменные в тексте: {{name}}, {{phone}}, {{email}}, {{lastMessage}}, {{aiResult}}, {{aiResult_N}}, {{python_N}}, {{webhook_N}}, {{var_N}}, {{custom_field_ИМЯ}}, {{dialog}}, {{dialog_N}}
  • Одно вложение: картинка (JPG, PNG, GIF, WebP), голосовое (OGG, MP3, WAV), кружок (MP4), видео (MP4, MOV) или документ
  • Источник медиа: URL или переменная, например {{imageResult_N}}
  • Стратегии отправки: каскад (по умолчанию), случайный, по очереди
  • После отправки текст доступен как {{message_N}}
  • Получатель: клиент связки (по умолчанию), клиент из базы (выбор поиском) или внешний ID: Telegram chat ID, телефон, почта; во внешнем ID работают переменные
  • Переменные клиента всегда относятся к клиенту связки, а не к получателю; имя самого получателя даёт {{recipientName}}
  • Галочка «Пригласить в диалог с клиентом» добавляет к тексту ссылку {{dialogLink}} на переписку в кабинете
  • Telegram-бот пишет только тем, кто сам ему написал хотя бы раз
На этой странице

Блок отправляет текст или файл через выбранный канал и передаёт управление следующему блоку. Это единственный блок, через который цепочка пишет людям.

По умолчанию сообщение уходит клиенту, из-за которого цепочка запустилась. Получателя можно сменить: написать другому клиенту из базы или на внешний ID. Так один запуск и здоровается с клиентом, и зовёт оператора в диалог.

В тексте работают переменные контекста: имя клиента, последнее сообщение, результат AI. Если основной канал недоступен, сообщение уходит через резервный.

#Настройки

ПолеОписание
ПолучательКому уйдёт сообщение: клиент связки, клиент из базы или внешний ID
Пригласить в диалог с клиентомДобавляет к тексту ссылку на переписку, оператор открывает её в один клик
Текст сообщенияЧто написать клиенту. Поддерживает переменные в двойных фигурных скобках
КаналЧерез какой канал отправить (Telegram, SMS, Email и другие подключённые)
Каскадные каналыРезервные каналы на случай, если основной недоступен
Стратегия отправкиКак выбирать канал, если их несколько: каскад, случайный, по очереди
Медиа-файлОдно вложение: картинка, голосовое, кружок, видео или документ

#Переменные в тексте

ПеременнаяЧто подставится
{{name}}Имя клиента
{{phone}}Телефон
{{email}}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

#Пример

text
Отправка сообщения: «Привет, {{name}}! Мы получили ваш запрос: «{{lastMessage}}»»
  Получатель: клиент связки
  Канал: Telegram
  Каскад: SMS, Email
  Медиа: картинка (URL)

Клиенту в Telegram приходит текст с подставленным именем и картинкой. Если бот в Telegram заблокирован, тот же текст уходит по SMS.

Второй блок в той же цепочке зовёт человека:

text
Отправка сообщения: «Новое обращение от {{name}}: «{{lastMessage}}». Нужен ответ оператора.»
  Получатель: внешний ID → 123456789 (Telegram chat ID оператора)
  Пригласить в диалог с клиентом: да
  Канал: Telegram

#Что сохраняется в контексте

ПеременнаяЗначение
{{message_N}}Текст отправленного сообщения, N: номер блока

#Ограничения

  • Одно вложение на сообщение.
  • Telegram-бот не пишет первым: получатель должен сам написать боту хотя бы раз.
  • Каждое доставленное сообщение стоит как обычное, независимо от того, клиент это или оператор.
  • Каскад и стратегии работают только между каналами, добавленными в список блока.