Перейти до змісту

Події

Ноди секції Події є точками входу в сценарій. Вони не очікують connection зліва: виконання запускає MyCodeBot, messenger callback, користувацький trigger або AI-агент.

В оригінальній документації описано шість типів подій: OnMemberFollow, OnEnd, OnError, OnTrigger, OnChatClosed і OnAgentTriggered.

1. Error (Помилка)

Error (OnError) запускає окрему гілку обробки помилки.

Використовуйте її, коли для помилок сценарію потрібен окремий flow, наприклад показ fallback-повідомлення або інша спеціальна обробка.

Connections

  • Входи: відсутні — це точка входу.
  • Вихід: один NextAction до першої робочої ноди error-flow.
  • Якщо handler порожній, окремий error-flow не запускається.

Важливі особливості

У поточному host-коді OnError запускає одразу NextAction, не виконуючи саму EventNode. Тому #node.{id}.event_triggered для цієї події не створюється.

2. Trigger (Тригер)

Trigger (OnTrigger) запускає сценарій за користувацьким action або параметром.

Connections

  • Входи: відсутні — це точка входу.
  • Вихід: один NextAction.
  • Для custom OnTrigger використовується окремий endpoint створення/налаштування.

Результат

Звичайне виконання event створює:

#node.{id}.event_triggered
#node.{id}.trigger_param

Якщо trigger_param не передано, його значення дорівнює:

none

Важливі особливості

  • Custom OnTrigger із параметром реалізовано для Telegram start-команди.
  • Аналогічний Viber lookup у перевіреному коді не описаний.
  • Якщо target action порожній або відсутній, execution завершується помилкою.

3. Agent trigger (Тригер агента)

Agent trigger (OnAgentTriggered) — точка входу в синхронний AI tool. Вона приймає аргументи від AI-агента, перевіряє їх за JSON Schema і запускає синхронний flow.

Налаштування

Поле Значення
InputJsonSchema JSON Schema, яка описує аргументи AI tool
NextAction Перехід до першої processing-ноди

Connections

  • Входи: відсутні — це точка входу AI tool.
  • Вихід: один NextAction.
  • У схемі AI tool має бути рівно один OnAgentTriggered.
  • Кожна гілка execution має зрештою завершитися JSON output.

Вихідні змінні

Валідовані top-level аргументи доступні як:

#node.{id}.arguments.{property}

Повний канонічний JSON аргументів:

#node.{id}.arguments_json

Приклад

Agent trigger
  -> HTTP Request
  -> Condition
       | success -> JSON output
       | failure -> JSON output

Важливі особливості

  • OnAgentTriggered без валідного NextAction не проходить активацію.
  • У синхронному AI tool не можна будувати flow, який очікує нову взаємодію користувача.

4. OnMemberFollow (Реєстрація користувача)

OnMemberFollow запускає стартовий flow, коли користувач починає взаємодію з ботом.

Подія використовується для:

  • Telegram /start;
  • Viber conversation_started.

Вона може запускатися і для учасника, який уже існує.

Connections

  • Входи: відсутні — це точка входу.
  • Вихід: один NextAction до першої ноди стартового flow.

Результат

Звичайне виконання створює:

#node.{id}.event_triggered
#node.{id}.trigger_param

Приклад

OnMemberFollow
  -> Screen "Вітаємо"

Важливі особливості

Якщо target action порожній або відсутній, execution не має куди продовжитися і завершується помилкою.

5. OnChatClosed

OnChatClosed запускає новий сценарій після закриття операторського чату.

Цю подію можна використовувати, наприклад, щоб повернути користувача до bot-flow після завершення діалогу з оператором.

Connections

  • Входи: відсутні — це точка входу.
  • Вихід: один NextAction.
  • Якщо handler порожній, окремий flow не запускається.

Змінні

Під час запуску доступні глобальні chat-змінні:

#chat.sessionId
#chat.provider
#chat.integrationId
#chat.closedAtUtc
#chat.closeEventId

Приклад

OnChatClosed
  -> Screen "Чат з оператором завершено"

Важливі особливості

У поточному host-коді OnChatClosed запускає одразу NextAction, не виконуючи саму EventNode. Тому #node.{id}.event_triggered для цієї події не створюється.

6. OnEnd

OnEnd — зарезервований тип події завершення сценарію.

У перевіреному backend автоматичний host-trigger для OnEnd не знайдено, тому на нього не варто покладатися як на гарантований callback після завершення flow.