FAQ: типові проблеми під час навчання
Довідник self-debug для навчального треку. Якщо сценарій коректний, а поведінка платформи суперечлива — служба підтримки ConnectiveOne.
Fast Line Pro
AI не відповідає або {{ai_answer}} порожній
| Причина | Що зробити |
|---|---|
save_response порожній / не задано |
У параметрах action_fastline_pro вказати ім'я змінної, напр. save_response: ai_answer (далі {{ai_answer}}) |
| База знань не проіндексована | Fast Line Pro → дочекатися завершення обробки документа |
Невірний agent_name |
Ім'я має збігатися з агентом у Fast Line Pro |
| Агент не тестується окремо | Fast Line Pro → «Тестування агента» без сценарію |
AI відповідає не те / галлюцинації
- Перевірити вміст FAQ-документа (короткий txt для навчання)
- Додати fallback edge і повідомлення «Переформулюйте питання»
Розгалуження (Router / switch та edges)
Завжди йде одна гілка
- Runs → значення змінної в умові (напр.
{{user_choice}}порожня) - Переконатися, що кнопка MessageKeyboard записує значення в змінну
- Тип порівняння: рядок
'priority'vs число1vs booleantrue - У Router увімкнути default branch для решти випадків
- У MessageKeyboard підключити default edge для вільного тексту
Зустріли legacy if_else у старому сценарії
- Логіка та сама, що в Router: умови +
else - На навчанні для нових flow використовуйте Router або
switch
Router / switch «не працює» після registered_users__get
- На навчанні Use Case 2 не використовує registered_users — спочатку просте меню з edges або Router за
user_choice - Якщо все ж
__get: edgeerror= клієнт не знайдений — це очікувана гілка, не баг
→ Умовні гілки (Router) · Built-in actions — switch
Передача на оператора зі сценарію (Use Case 3)
Edge limit не спрацьовує / клієнт у черзі, але тиша
- У параметрах connect:
status: "queue"(за потреби) - Після edge
limitмає бути MessageKeyboard з текстом для клієнта - Перевірити Runs: на якому edge зупинилось виконання
Connect повертає error
subject_aliasне збігається з alias теми в Settings → Operator Panel → Теми- Тема не створена або alias з помилкою (регістр, пробіл)
Connect success, але діалог не там, де очікували
- Спочатку звірте
subject_aliasу сценарії з темою в Settings - Далі — документація Operator Panel (маршрутизація, оператори)
CSAT / NPS (Use Case 7b)
CSAT не запускається після закриття діалогу
- Перевірте
chat_closed_aliasу усіх connect-блоках — має вказувати на alias секції CSAT - Немає дубльованого alias entrypoint у двох секціях
- Секція CSAT існує, alias латиницею
Помилка запису в Custom Data / INTEGER
- Поле
rateмає тип INTEGER у моделі CD - Free-text на keyboard потрапив у
__set— захистіть source-handle (від'єднати або Router / validation) - У Runs: надішліть текст замість кнопки — очікуйте edge
error, не success на запис
Оцінка не збирається в email / каналі без keyboard
- Перевірте
supportedMessengersна ноді keyboard - Додайте окрему гілку або пропуск CSAT для каналів без кнопок
NPS / оцінка не після close у widget
- Перевірте alias
chat_closed/call_nodepath у connect-блоці - Audit alias у Runs після симуляції close
Operator Panel / черга (довідково)
Оператор не бачить діалог
- Спочатку:
subject_aliasу сценарії vs тема в Settings - Далі: оператор прив'язаний до теми / skill group — документація OP
- Якщо сценарій і Settings коректні — служба підтримки ConnectiveOne
Action Jail / телефон (Use Case 5)
Три формати UA-номера
| Ввід | Очікування |
|---|---|
+380501234567 |
success |
380501234567 |
нормалізація до +380… |
0501234567 |
нормалізація до +380… |
Якщо один формат падає — розширте regex / Action Jail; перевірте validation на WaitForInput (phone vs none).
Validation на ноді vs Action Jail
- Validation на input — відсікає невалідний ввід до action
- Action Jail — нормалізує допустимі варіанти до єдиного формату
- Для production часто потрібні обидва
CRM / mock API (Use Case 4)
Яку CRM використовувати для навчання?
Mock. Див. Mock vs production API. Справжня CRM — після базового рівня (Use Case 1…9).
401 / порожня відповідь
- Токен у
headersчерез{{instance_settings.…}} - Ключ Instance Settings існує і заповнений
save_responce(абоresponse_mapping) задано в ноді — перевірте ім'я змінної в Runs
У legacy if_else завжди йде в гілку «не знайдено»
- Порівняння
status: рядок"200"vs число200— перевірити в Runs фактичний тип - Перевірити, що
save_responceзаписав очікувані поля в{{crm_data.*}}
Чат-бот vs Агент у Fast Line Pro
| Питання | Відповідь |
|---|---|
| Чим відрізняються? | Чат-бот — відповіді з БЗ/промпту без інструментів. Агент — те саме + Інструменти і розширені режими |
| Що брати для FAQ / categorizer? | Чат-бот + action_fastline_pro (Use Case 1 / 10 / 12) |
| Коли потрібен Агент? | Коли AI викликає tools / streaming — див. Advanced Fast Line Pro |
| Дока пише «агент», у UI — «Чат-бот» | Параметр сценарію agent_name — це назва ШІ-додатку; тип може бути Чат-бот |
| AI мовчить у сценарії | Спочатку «Тестування» у Fast Line Pro без сценарію; потім agent_name, БЗ, fallback edge |
Tickets (Use Case 10)
Де створювати categorizer — основний бот чи copilot?
- AI-каталог (optional): lookup у CD у тому ж боті — див. AI-каталог
- Use Case 12: окремий copilot — overview
Тікет не створюється / error edge
subject_aliasне збігається з темою в Settings- Перевірте
action_tickets_createvsaction_tickets_create_v2у Inspector - Runs → constants після create:
ticket_idабо аналог
«Залипання» chat_room_id / повторний create
- Перевірте параметри create-action: чи не перевикористовується старий room без логіки
- Новий Run vs продовження того самого діалогу — різна поведінка
- У Runs: який
chat_room_idу constants до і після create
Custom field тікета не видно в табличному OP
- Поля теми в Settings → Tickets
- Не блокує Use Case 10 happy path у Runs (
ticket_idдостатньо)
Broadcast (Use Case 11)
Кнопка з посиланням — Action Jail чи MessageKeyboard?
- Спочатку: native URL у MessageKeyboard (
open-url) — див. Use Case 11 - Action Jail — лише якщо native не покриває кейс
Telegram OK, Viber помилка / не доставлено
- Перевірте
open-urlvsopen-web-app - Текст-only vs image+button — спрощуйте для діагностики
- Задокументуйте результат у result template (Viber attempt)
send_after / one_time
send_after: create success у Runs ≠ миттєва доставка в каналі — зачекайте або перевірте затримкуone_time: повторний trigger не має дублювати повідомлення- Не плутати з
action_broadcast__subscribe(topic для серії розсилок)
Навіщо action_broadcast__subscribe?
- Підписка користувача на topic для майбутніх розсилок, не разова відправка з вкладки «Клієнти»
- Разова розсилка Use Case 11 — через Broadcast template + alias
Пріоритетний сегмент (optional)
Різні гілки не спрацьовують
- Порядок нод: спочатку перевірка сегменту, потім
subject_alias - Тип змінної:
'1'(рядок) vs1(число) vstrue(boolean) — див. Runs - Mock API / Registered Users / CD — узгодьте джерело ознаки сегменту
Copilot / process bot (optional)
Де живе categorizer для каталогу (Use Case 12)?
- У copilot bot (окремий бот або process sections)
- Основний bot лише маршрутизує (кнопка «Каталог»)
Copilot vs макрос Use Case 8
| Copilot Use Case 12 | Macro Use Case 8 | |
|---|---|---|
| Ініціатор | Клієнт | Оператор |
| Мета | AI + CD lookup | Дія в діалозі |
Deeplink
Deeplink + registered_users — потрібен get_command + jail?
- Ні на першому проході: deeplink params у constants на Start →
registered_users__get→ гілки - Детальніше — у Use Case 6
Operator Panel / фільтри
«В черзі» vs «Не призначені»
- В черзі: діалоги, що очікують оператора в черзі
- Не призначені: без assignee; можуть перетинатися — перевірте Settings → Operator Panel і Runs connect-блоку
Advanced Fast Line Pro (optional)
fastline_completion, streaming — optional Advanced Fast Line Pro
Registered Users
Дані не зберігаються «назавжди»
- Використано лише state — потрібен
registered_users__set - Поля не додані в модель Registered Users в Settings
Як тестувати між сесіями?
- Завершити Run після реєстрації
- Новий Run →
registered_users__getна старті - Опційно — той самий користувач через Telegram
→ Use Case 6 — реєстрація та повторний візит
Macros
Оператор не бачить «Запустити макрос»
- Секція позначена «Використовується як макрос»
- Settings → Operator Panel → Process макрос → обрано бота з макросами
- Діалог відкритий у Operator Line (не лише preview сценарію)
- Змінні макросу оголошені в параметрах секції
Канали
Telegram не отримує повідомлень
- Settings → Bots → Канали → токен валідний
- Тестували preview, а очікували Telegram — це різні шляхи
- Для Use Case 1 канал опційний; preview достатній для логіки
Keyboard не показується
supportedMessengersна ноді keyboard- Канал підтримує inline-кнопки
Різна поведінка widget vs Telegram
- Окремі гілки або validation за
{{channel}} - Тестуйте критичні flow у обох каналах, якщо бот мультиканальний
URL у повідомленні як текст, не лінк
- Режим повідомлення (HTML / plain) у MessageKeyboard
- Для widget — перевірте параметри відображення посилань у Inspector
AI Помічник (Instance Agent) {#ai-помічник-instance-agent}
Це не Fast Line Pro у боті — див. концепти — Instance Agent.
Правило навчання
- UC спочатку руками → self-check у Runs.
- Опційно після — перезібрати той самий UC через Agent і звірити edges / alias / змінні.
- Довіряйте Runs, не відповіді агента.
Agent зібрав сценарій, але не працює
- Оновіть Scenario Builder (F5 / Cmd+R) після правок агента
- Перевірте Runs — edges, змінні, який edge реально спрацював
- Виправляйте руками; Agent — для пояснень і опційної перезбірки
Відповідь агента суперечить Runs
- Довіряйте Runs і тесту в каналі / OP
- Попросіть агента пояснити конкретну ноду за назвою (title), потім звірте в Inspector
Немає кнопки «іскра» у Scenario Builder
- Передумови — Instance Agent Integration + модуль AI-асистент у ролі
- → Налаштувати доступ
Read-only або немає права write
- Агент лише пояснює та пропонує UI-тур — зміни робите самі
- Режим Запитати достатній для більшості UC навчання
Загальний дебаг
| Крок | Інструмент | Дія |
|---|---|---|
| 1 | Runs | Знайти виконання; крок зупинки; edge |
| 2 | Trace / лог | Змінні, constants, текст помилки |
| 3 | «Тест дії» | Node Inspector — ізольований тест Action |
| 4 | Fast Line Pro | Тест агента окремо від сценарію |
| 5 | Alias | subject_alias, entrypoints, chat_closed_alias vs Settings |
| 6 | Канал | Settings → Bots; preview vs Telegram/widget |
| 7 | Operator Line | Опційно E2E після connect |
Детальніше: Use Case 9 — tooling tour. Поза сценарієм: коли не сценарій.
Якщо після self-debug сценарій коректний, а поведінка платформи суперечлива — служба підтримки ConnectiveOne.