Документация/Ноды и пресеты

Ноды и пресеты

Ноды и пресеты

Что делает каждая нода и как настраивать

Ноды и пресеты

Что делает каждая нода и как настраивать

Ноды и пресеты: что есть сейчас и как с ними работать

Полный справочник по нодам (блокам) и готовым пресетам в Canvas. Здесь написано, для чего нужна каждая нода, как её настроить и какие есть ограничения.

Триггеры (точки входа)

Запускают workflow по событию. Один workflow может иметь несколько разных триггеров.

Command Trigger

Запускает workflow по команде Telegram (/start, /help).

Когда использовать: Когда нужен явный вход в сценарий по команде.

  • Выберите тип trigger: command (обычно preset уже выставляет).
  • Укажите одну или несколько команд.
  • Подключите следующую ноду (Message, Router, Action).
Результат
Сценарий стартует при совпадении команды.

Text Trigger

Запускает workflow по тексту сообщения (совпадение/паттерн).

Когда использовать: Для обработки текстовых reply-кнопок, ключевых слов, фраз.

  • Выберите текстовый паттерн или оставьте broad pattern по вашей логике.
  • При необходимости используйте Router/Condition дальше для уточнения ветки.
  • Свяжите с Message или другой логикой.
Результат
Workflow запускается по входящему text message.
Важно
Именно этот триггер используйте для Reply Keyboard (под input).

Callback Trigger

Ловит нажатия inline-кнопок по callback_data.

Когда использовать: Только для кнопок в Message node (inline keyboard), не для глобальной клавиатуры.

  • В Message создайте inline-кнопки с callback.
  • В Callback Trigger задайте pattern или callback identifier.
  • Подключите нужную ветку обработки.
Результат
Workflow запускается по callback_query Telegram.
Важно
Если кнопка под input (Reply Keyboard), callback не придёт.

Schedule Trigger

Запускает workflow по времени (ежедневно или каждые N часов).

Когда использовать: Для напоминаний, рассылок, периодических проверок.

  • Выберите режим: daily или hourly.
  • Укажите timezone и target chat ID.
  • Подключите ноды отправки/логики.
Результат
Workflow стартует по расписанию без входящего сообщения.
Важно
Для сообщений нужен корректный Target Chat ID.

AI Trigger

Подготовленный вход для будущего AI intent / semantic matching.

Когда использовать: Когда хотите заложить структуру под будущий AI routing.

  • Добавьте AI Trigger как точку входа.
  • На текущем этапе задайте fallback-поведение (дальнейшая логика вручную).
  • Проверьте тестом, как обрабатывается входящий текст.
Результат
Сейчас работает через fallback/подготовленный режим, AI логика отмечена как soon.

Сообщения и ввод

Ноды, которые отправляют ответы пользователю или запрашивают ввод.

Message

Отправляет текст и (по настройкам) медиа/кнопки.

Когда использовать: Почти в каждом сценарии, где бот отвечает пользователю.

  • Введите текст сообщения.
  • При необходимости используйте переменные {{...}}.
  • Настройте форматирование/клавиатуру/медиа.
Результат
Пользователь получает сообщение, а workflow идёт дальше по связи.
Важно
Inline-кнопки из Message работают с Callback Trigger.
Reply Keyboard под input лучше настраивать в System или через ноду Reply Keyboard.

AI Message

Подготовленная нода для AI-генерации сообщения.

Когда использовать: Когда проектируете будущую AI-ответную логику и хотите сохранить структуру.

  • Заполните fallback-текст ниже AI-блока.
  • Подключите как обычный Message в текущем этапе.
  • Позже замените на боевой AI backend, когда он будет подключён.
Результат
Сейчас работает как message fallback, AI блок отмечен как soon.

Input

Запрашивает данные у пользователя и сохраняет ответ в переменную.

Когда использовать: Когда нужен пошаговый сбор данных (имя, телефон, ответ на вопрос).

  • Укажите вопрос/подсказку пользователю.
  • Укажите variableName, куда сохранять ответ.
  • Свяжите с нодой, которая использует эту переменную.
Результат
Ответ пользователя сохраняется в runtime/session переменную.
Важно
Если включён force reply, Telegram reply keyboard может временно не показываться.

Reply Keyboard

Управляет глобальной клавиатурой под input внутри сценария.

Когда использовать: Когда нужно вручную переключать/скрывать system reply keyboard на конкретном шаге.

  • Выберите режим: использовать system rules, конкретный variant, условный выбор или hide/remove.
  • Если используете variant/rule — убедитесь, что он создан в System.
  • Проверьте следующий Message, чтобы увидеть эффект в Telegram.
Результат
На следующих сообщениях применяется выбранный вариант reply keyboard или она скрывается.

Логика и ветвление

Ноды, которые выбирают путь выполнения или задерживают продолжение сценария.

Condition

Проверяет условие и даёт ветки true/false.

Когда использовать: Для простых проверок по переменным, тексту, числам.

  • Выберите переменную/поле, оператор и значение.
  • Подключите ветку true и ветку false.
  • Проверьте кейсы тестовыми сообщениями.
Результат
Workflow идёт по одной из двух веток.

AI Logic

Подготовленная нода под AI-классификацию/ветвление.

Когда использовать: Для будущих AI-веток, когда заранее готовите архитектуру сценария.

  • Используйте как условный узел с fallback логикой.
  • Подготовьте ветки под будущие intent/классы.
Результат
Сейчас опирается на текущую условную логику/фоллбек, AI режим — soon.

Router / Switch

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

Когда использовать: Когда вариантов больше двух (язык, статус, роль, этап onboarding).

  • Укажите переменную и общий оператор.
  • Добавьте cases (сверху вниз) и значения для сравнения.
  • Подключите default ветку на случай отсутствия совпадения.
Результат
Срабатывает первый совпавший case, иначе идёт в default.
Важно
Удобнее и чище, чем длинная цепочка из нескольких Condition.

Date/Time Scheduler

Откладывает продолжение сценария до времени/даты.

Когда использовать: Когда нужен send later, отложенный шаг или таймаут между сообщениями.

  • Выберите режим: относительная задержка или конкретная дата/время.
  • Укажите timezone при работе с датой/временем.
  • Опционально сохраните рассчитанное время в переменную.
Результат
Workflow продолжится позже по таймеру.
Важно
На текущем этапе таймеры могут зависеть от runtime процесса (важно учитывать при рестарте).

Платежные ноды

Ноды для генерации ссылок оплаты в популярных платёжных системах.

YooKassa Payment

Создаёт платёж в YooKassa и получает ссылку оплаты (confirmation_url).

Когда использовать: Когда нужно принять оплату картой/СБП и отправить пользователю ссылку прямо из сценария.

  • Укажите shopId, secretKey, amount, currency; returnUrl можно оставить пустым (подставится автоматически).
  • Включите авто-отправку ссылки или обработайте переменную вручную в следующем Message.
  • Укажите saveToVariable, чтобы сохранить payment.id/status/url для дальнейшей логики.
Результат
В переменную сохраняется объект платежа (provider, paymentId, status, url, amount, currency).
Важно
Ключи не храните в клиентском коде. Рабочий вариант — закрытый контур backend/runtime.
Для production используйте реальные shopId/secretKey; для тестов проверьте тестовые ключи YooKassa.

Stripe Payment

Создаёт Stripe Checkout Session и возвращает hosted-ссылку оплаты.

Когда использовать: Когда нужен быстрый хостед checkout Stripe без собственного платёжного фронта.

  • Укажите secretKey, amount, currency; successUrl/cancelUrl формируются автоматически и доступны для копирования/перегенерации.
  • Опционально задайте productName и description для чекаута.
  • Сохраните результат в переменную и продолжайте сценарий по статусу/идентификатору.
Результат
В переменную сохраняется объект checkout-сессии с url, paymentId, status.
Важно
Сумма отправляется в Stripe в minor units (например, 100.00 -> 10000).
Используйте live/test secret key строго по окружению.

Robokassa Payment

Формирует подписанную ссылку оплаты Robokassa (Merchant/Index).

Когда использовать: Когда нужно быстро получить redirect-ссылку Robokassa без отдельного API-запроса.

  • Укажите merchantLogin, password1, amount, currency.
  • При необходимости задайте invoiceId, successUrl, failUrl и testMode.
  • Отправьте пользователю ссылку и сохраните объект в переменную для отчётности.
Результат
В переменную сохраняется объект платежа (url, invoiceId, amount, status=pending).
Важно
Подпись формируется по схеме md5(MerchantLogin:OutSum:InvId:Password1).
Проверку ResultURL/оплачено лучше обрабатывать отдельным webhook backend-слоем.

Telegram Stars Payment

Создаёт invoice-link оплаты в Telegram Stars (XTR) через createInvoiceLink.

Когда использовать: Когда нужна нативная оплата в Telegram без внешних платёжных провайдеров.

  • Укажите название счёта, сумму в звёздах и описание платежа.
  • Опционально задайте payload заказа для последующего сопоставления оплаты.
  • Отправьте пользователю ссылку из {{payment.url}} или используйте inline-кнопку Message с типом Stars.
Результат
В переменную сохраняется объект с url, paymentId (payload), amount, currency=XTR.
Важно
Reply Keyboard не поддерживает оплату Stars. Используйте только inline-кнопки в Message или прямую ссылку.
Для Stars сумма должна быть целым числом.

Данные, интеграции и продвинутые ноды

Операции с переменными, внешними API и пользовательской логикой.

Action

Выполняет служебные действия (например setVariable, delay, delete message и др.).

Когда использовать: Когда нужно изменить состояние, подготовить данные или сделать служебный шаг.

  • Выберите тип действия в настройках.
  • Для setVariable задайте имя и значение.
  • Проверьте результат через последующее Message ({{var}}) или через логи.
Результат
Изменение runtime состояния или выполнение конкретной операции.

HTTP

Вызывает внешний API и сохраняет ответ в переменную.

Когда использовать: Интеграции с CRM, backend API и внешними сервисами.

  • Укажите URL, метод, headers и body.
  • Выберите формат body (JSON, Form Data, raw).
  • Укажите saveToVariable, если нужно использовать ответ дальше.
Результат
HTTP-ответ доступен для следующих нод через переменную.
Важно
Всегда продумывайте ветку обработки ошибок и таймауты.

Script

Выполняет JS/Python код для трансформации данных и логики.

Когда использовать: Когда стандартных нод недостаточно и нужен контролируемый кастомный код.

  • Выберите язык (JavaScript/Python).
  • Используйте input, context, vars и присвойте итог в result.
  • Укажите save result to variable, если нужен результат дальше.
Результат
Результат скрипта сохраняется в переменную и используется в следующих шагах.
Важно
Это мощная нода, но требует дисциплины: короткие скрипты, понятные входы/выходы, контроль таймаутов.
В production-среде стоит использовать только в доверенной инфраструктуре.

Навигация по документации

Переходите по страницам по порядку, как по учебному маршруту.