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

Тест у симуляторі
Натисніть «Тест», щоб відкрити Симулятор - пісочницю: жодне повідомлення не йде користувачу, списань немає. Задайте стартовий контекст (ім'я, username, гео, sub1/sub2, статус - або вставте raw JSON), запустіть флоу, проклацайте кнопки в перегляді чату, відповідайте текстом, підставляйте мок-відповіді S2S і стежте за панеллю змінних і таймлайном кроків. Зламані гілки ловіть тут, а не на платному трафіку.
І симулятор, і бойовий рантайм обривають прогін на 100 кроках. До проду цикл не доходить: флоу зі зв'язком, що веде сам на себе, не збережеться й не активується - панель «Перевірка» покаже «У потоці є цикл». Стеля в 100 кроків - запобіжник: вона все одно може спрацювати в симуляторі на незбереженому циклічному графі або на ланцюжку, довшому за 100 вузлів.
Як це працює в проді
Користувач пише боту - активний флоу стартує виконання. /start завжди перезапускає діалог з початку, навіть посеред розмови. Кроки обробляють фонові воркери; вузол «Повідомлення» з кнопками чи текстовим введенням переводить виконання в «Очікування відповіді», доки користувач не відреагує, а тоді веде далі обраною гілкою. Вузли «Тригер події» фіксують подію в ту саму мить, коли користувач до них доходить. Прогін, що виходить за стелю в 100 кроків, зупиняється і показується в історії нижче зі статусом «Помилка».
Історія виконань
«Історія виконань» показує кожен прогін: флоу, Telegram-користувач, статус («Виконується», «Очікування відповіді», «Завершено», «Помилка»), кількість кроків, тривалість, текст помилки й час старту - з фільтрами за статусом і пагінацією. Перше місце, куди дивитися, коли «бот не відповідає».
Часті граблі
- Флоу-чернетка нікому не відповідає. Для активації потрібні прив'язаний бот, хоча б один вузол після START і нуль помилок валідації.
- Активним може бути лише один флоу на бота. Спроба активувати другий одразу впирається в помилку з проханням деактивувати перший - це не тиха гонка, де зайвий флоу просто ігнорується.
- З медіа текст стає підписом з лімітом Telegram у 1024 символи - зайве мовчки обрізається. Звичайне текстове повідомлення - до 4096.
- Кнопки-посилання (URL) не ставлять флоу на паузу: тап іде в браузер, бот його не бачить - флоу одразу йде далі.
- Видалення бота чи відв'язка його від активного флоу не залишає флоу «сліпим»: статус автоматично відкочується в «Чернетку», і флоу перестає відповідати, доки ви не прив'яжете бота знову й не активуєте заново.
- Видалення флоу назавжди стирає його вузли, зв'язки та історію виконань.