Флоу: збираємо воронку бота візуально

Клікають усі - депозитять після діалогу. «Флоу» - це візуальний редактор діалогу бота, що стартує одразу після кліку по вашій рекламі: привітати, кваліфікувати, довести до офера й вистрелити подіями конверсій у рекламні майданчики та трекер, поки користувач ще друкує. Саме флоу перетворює Telegram-бота зі статичної посадкової сторінки на справжню воронку.

З чого будується флоу

  • START - вхід у будь-який флоу. Завжди присутній, не видаляється, вхідних зв'язків не приймає.
  • «Повідомлення» - текст (працює Telegram-HTML на кшталт <b>), опційно медіа (фото, відео, GIF або документ), інлайн-кнопки та варіант із текстовим введенням. Вузол із callback-кнопками або текстовим введенням ставить флоу на паузу й чекає користувача; кнопки можуть бути й просто URL-посиланнями.
  • «Умова» - розгалуження true/false за полем контексту; оператори: дорівнює, не дорівнює, містить, не містить, більше, менше, regex, існує.
  • «S2S-запит» - POST-ом надсилає JSON із контекстом кліка та зібраними відповідями на ваш сервер; відповідь зберігається під ідентифікатором вузла й доступна в наступних умовах і повідомленнях.
  • «Тригер події» - фіксує справжню подію конверсії (старт бота, лід, реєстрація, депозит, FTD, покупка, custom 1-8 та інші), опційно з value і currency, які летять у Meta CAPI. Ця сама подія живить постбеки й пуші за подією.

Збірка та активація

  1. На сторінці «Флоу» натисніть «Новий ланцюжок»; бота можна прив'язати одразу або залишити для редактора пізніше.
  2. Додавайте вузли на канвас і з'єднуйте їх зв'язками. Дані користувача підставляються будь-де змінними {{ }} - пікер контексту покаже, що доступно. Редактор автозберігає зміни на льоту (стежте за індикатором статусу в шапці), а Cmd/Ctrl+Z скасовує останню дію - поруч є кнопка «Повторити».
  3. Тримайте панель «Перевірка» чистою: помилки на кшталт «У повідомленні немає тексту», «В умови немає вихідної гілки», «Для S2S-запиту потрібен коректний http(s)-URL» чи «У потоці є цикл» блокують активацію.
  4. Призначте активного бота в шапці редактора.
  5. Тисніть «Активувати». Активний флоу - лише для читання: натисніть «Деактивувати», щоб редагувати, і активуйте знову.
Канвас редактора флоу зі з'єднаними вузламиКанвас редактора флоу зі з'єднаними вузлами

Тест у симуляторі

Натисніть «Тест», щоб відкрити Симулятор - пісочницю: жодне повідомлення не йде користувачу, списань немає. Задайте стартовий контекст (ім'я, username, гео, sub1/sub2, статус - або вставте raw JSON), запустіть флоу, проклацайте кнопки в перегляді чату, відповідайте текстом, підставляйте мок-відповіді S2S і стежте за панеллю змінних і таймлайном кроків. Зламані гілки ловіть тут, а не на платному трафіку.

І симулятор, і бойовий рантайм обривають прогін на 100 кроках. До проду цикл не доходить: флоу зі зв'язком, що веде сам на себе, не збережеться й не активується - панель «Перевірка» покаже «У потоці є цикл». Стеля в 100 кроків - запобіжник: вона все одно може спрацювати в симуляторі на незбереженому циклічному графі або на ланцюжку, довшому за 100 вузлів.

Як це працює в проді

Користувач пише боту - активний флоу стартує виконання. /start завжди перезапускає діалог з початку, навіть посеред розмови. Кроки обробляють фонові воркери; вузол «Повідомлення» з кнопками чи текстовим введенням переводить виконання в «Очікування відповіді», доки користувач не відреагує, а тоді веде далі обраною гілкою. Вузли «Тригер події» фіксують подію в ту саму мить, коли користувач до них доходить. Прогін, що виходить за стелю в 100 кроків, зупиняється і показується в історії нижче зі статусом «Помилка».

Історія виконань

«Історія виконань» показує кожен прогін: флоу, Telegram-користувач, статус («Виконується», «Очікування відповіді», «Завершено», «Помилка»), кількість кроків, тривалість, текст помилки й час старту - з фільтрами за статусом і пагінацією. Перше місце, куди дивитися, коли «бот не відповідає».

Часті граблі

  • Флоу-чернетка нікому не відповідає. Для активації потрібні прив'язаний бот, хоча б один вузол після START і нуль помилок валідації.
  • Активним може бути лише один флоу на бота. Спроба активувати другий одразу впирається в помилку з проханням деактивувати перший - це не тиха гонка, де зайвий флоу просто ігнорується.
  • З медіа текст стає підписом з лімітом Telegram у 1024 символи - зайве мовчки обрізається. Звичайне текстове повідомлення - до 4096.
  • Кнопки-посилання (URL) не ставлять флоу на паузу: тап іде в браузер, бот його не бачить - флоу одразу йде далі.
  • Видалення бота чи відв'язка його від активного флоу не залишає флоу «сліпим»: статус автоматично відкочується в «Чернетку», і флоу перестає відповідати, доки ви не прив'яжете бота знову й не активуєте заново.
  • Видалення флоу назавжди стирає його вузли, зв'язки та історію виконань.