FAQ: common issues during training
Self-debug reference for the training track. If the scenario is correct but platform behavior is inconsistent — contact ConnectiveOne support.
Fast Line Pro
AI does not reply or {{ai_answer}} is empty
| Cause | What to do |
|---|---|
save_response empty / not set |
In action_fastline_pro parameters set a variable name, e.g. save_response: ai_answer (then {{ai_answer}}) |
| Knowledge base not indexed | Fast Line Pro → wait until document processing finishes |
Wrong agent_name |
Name must match the agent in Fast Line Pro |
| Agent not tested separately | Fast Line Pro → “Testing” without the scenario |
AI replies incorrectly / hallucinations
- Check the FAQ document content (short txt for training)
- Add a fallback edge and a message like “Please rephrase the question”
Branching (Router / switch and edges)
Always takes one branch
- Runs → value of the variable in the condition (e.g.
{{user_choice}}is empty) - Make sure the MessageKeyboard button writes a value into the variable
- Comparison type: string
'priority'vs number1vs booleantrue - In Router, enable default branch for remaining cases
- In MessageKeyboard, connect a default edge for free text
Found legacy if_else in an old scenario
- Logic is the same as Router: conditions +
else - For new training flows use Router or
switch
Router / switch “does not work” after registered_users__get
- In training, Use Case 2 does not use registered_users — start with a simple menu via edges or Router on
user_choice - If you still use
__get: edgeerror= customer not found — that is an expected branch, not a bug
→ Conditional branches (Router) · Built-in actions — switch
Handoff to an operator from the scenario (Use Case 3)
Edge limit does not fire / customer is in queue but silence
- In connect parameters:
status: "queue"(if needed) - After edge
limitthere must be a MessageKeyboard with text for the customer - Check Runs: on which edge execution stopped
Connect returns error
subject_aliasdoes not match the subject alias in Settings → Operator Panel → Subjects- Subject not created or alias has a typo (case, space)
Connect success, but the dialog is not where you expected
- First compare
subject_aliasin the scenario with the subject in Settings - Then — Operator Panel documentation (routing, operators)
CSAT / NPS (Use Case 7b)
CSAT does not start after dialog close
- Check
chat_closed_aliasin all connect blocks — it must point to the CSAT section alias - No duplicated alias entrypoint in two sections
- CSAT section exists, alias in Latin characters
Error writing to Custom Data / INTEGER
- Field
ratemust be type INTEGER in the CD model - Free-text on the keyboard went into
__set— protect the source-handle (disconnect or Router / validation) - In Runs: send text instead of a button — expect edge
error, not success on write
Score is not collected in email / a channel without keyboard
- Check
supportedMessengerson the keyboard node - Add a separate branch or skip CSAT for channels without buttons
NPS / score not after close in widget
- Check alias
chat_closed/call_nodepath in the connect block - Audit the alias in Runs after simulating close
Operator Panel / queue (reference)
Operator does not see the dialog
- First:
subject_aliasin the scenario vs subject in Settings - Then: operator linked to the subject / skill group — OP documentation
- If the scenario and Settings are correct — ConnectiveOne support
Action Jail / phone (Use Case 5)
Three UA phone formats
| Input | Expectation |
|---|---|
+380501234567 |
success |
380501234567 |
normalize to +380… |
0501234567 |
normalize to +380… |
If one format fails — expand the regex / Action Jail; check validation on WaitForInput (phone vs none).
Validation on the node vs Action Jail
- Validation on input — rejects invalid input before the action
- Action Jail — normalizes allowed variants to one format
- For production you often need both
CRM / mock API (Use Case 4)
Which CRM to use for training?
Mock. See Mock vs production API. A real CRM — after the basic level (Use Case 1…9).
401 / empty response
- Token in
headersvia{{instance_settings.…}} - Instance Settings key exists and is filled
save_responce(orresponse_mapping) is set on the node — check the variable name in Runs
In legacy if_else always goes to the “not found” branch
- Compare
status: string"200"vs number200— check the actual type in Runs - Check that
save_responcewrote the expected fields into{{crm_data.*}}
Chatbot vs Agent in Fast Line Pro
| Question | Answer |
|---|---|
| What is the difference? | Chatbot — replies from KB/prompt without tools. Agent — same + Tools and advanced modes |
| What to use for FAQ / categorizer? | Chatbot + action_fastline_pro (Use Case 1 / 10 / 12) |
| When do you need an Agent? | When AI calls tools / streaming — see Advanced Fast Line Pro |
| Docs say “agent”, UI says “Chatbot” | Scenario parameter agent_name is the AI app name; the type can be Chatbot |
| AI is silent in the scenario | First “Testing” in Fast Line Pro without the scenario; then agent_name, KB, fallback edge |
Tickets (Use Case 10)
Where to create the categorizer — main bot or Copilot?
- AI catalog (optional): CD lookup in the same bot — see AI catalog
- Use Case 12: separate Copilot — overview
Ticket is not created / error edge
subject_aliasdoes not match the subject in Settings- Check
action_tickets_createvsaction_tickets_create_v2in Inspector - Runs → constants after create:
ticket_idor equivalent
“Sticky” chat_room_id / repeated create
- Check create-action parameters: whether an old room is reused without logic
- New Run vs continuing the same dialog — different behavior
- In Runs: which
chat_room_idis in constants before and after create
Ticket custom field not visible in tabular OP
- Subject fields in Settings → Tickets
- Does not block the Use Case 10 happy path in Runs (
ticket_idis enough)
Broadcast (Use Case 11)
Link button — Action Jail or MessageKeyboard?
- First: native URL in MessageKeyboard (
open-url) — see Use Case 11 - Action Jail — only if native does not cover the case
Telegram OK, Viber error / not delivered
- Check
open-urlvsopen-web-app - Text-only vs image+button — simplify for diagnostics
- Document the result in the result template (Viber attempt)
send_after / one_time
send_after: create success in Runs ≠ instant delivery in the channel — wait or check the delayone_time: a repeated trigger must not duplicate the message- Do not confuse with
action_broadcast__subscribe(topic for a series of broadcasts)
Why action_broadcast__subscribe?
- User subscription to a topic for future broadcasts, not a one-off send from the “Clients” tab
- One-off broadcast in Use Case 11 — via Broadcast template + alias
Priority segment (optional)
Different branches do not fire
- Node order: first check the segment, then
subject_alias - Variable type:
'1'(string) vs1(number) vstrue(boolean) — see Runs - Mock API / Registered Users / CD — align the segment flag source
Copilot / process bot (optional)
Where does the catalog categorizer live (Use Case 12)?
- In the Copilot bot (a separate bot or process sections)
- The main bot only routes (“Catalog” button)
Copilot vs macro Use Case 8
| Copilot Use Case 12 | Macro Use Case 8 | |
|---|---|---|
| Initiator | Customer | Operator |
| Goal | AI + CD lookup | Action in the dialog |
Deeplink
Deeplink + registered_users — do you need get_command + jail?
- No on the first pass: deeplink params in constants on Start →
registered_users__get→ branches - Details — in Use Case 6
Operator Panel / filters
“In queue” vs “Unassigned”
- In queue: dialogs waiting for an operator in the queue
- Unassigned: without an assignee; they may overlap — check Settings → Operator Panel and the Runs connect block
Advanced Fast Line Pro (optional)
fastline_completion, streaming — optional Advanced Fast Line Pro
Registered Users
Data is not stored “forever”
- Only state was used — you need
registered_users__set - Fields were not added to the Registered Users model in Settings
How to test across sessions?
- Finish the Run after registration
- New Run →
registered_users__getat start - Optionally — the same user via Telegram
→ Use Case 6 — registration and return visit
Macros
Operator does not see “Run macro”
- Section is marked “Used as a macro”
- Settings → Operator Panel → Process macro → bot with macros selected
- Dialog is open in Operator Line (not only scenario preview)
- Macro variables are declared in the section parameters
→ Integrator overview — macros
Channels
Telegram does not receive messages
- Settings → Bots → Channels → token is valid
- You tested preview but expected Telegram — those are different paths
- For Use Case 1 the channel is optional; preview is enough for logic
Keyboard is not shown
supportedMessengerson the keyboard node- The channel supports inline buttons
Different behavior widget vs Telegram
- Separate branches or validation by
{{channel}} - Test critical flows in both channels if the bot is multichannel
URL in the message as text, not a link
- Message mode (HTML / plain) in MessageKeyboard
- For widget — check link display parameters in Inspector
AI Assistant (Instance Agent) {#ai-assistant-instance-agent}
This is not Fast Line Pro in the bot — see concepts — Instance Agent.
Training rule
- UC first by hand → self-check in Runs.
- Optionally after — rebuild the same UC via Agent and compare edges / alias / variables.
- Trust Runs, not the agent’s answer.
Agent built a scenario, but it does not work
- Refresh Scenario Builder (F5 / Cmd+R) after agent edits
- Check Runs — edges, variables, which edge actually fired
- Fix by hand; Agent is for explanations and optional rebuilds
Agent answer contradicts Runs
- Trust Runs and the test in the channel / OP
- Ask the agent to explain a specific node by title, then verify in Inspector
No “spark” button in Scenario Builder
- Prerequisites — Instance Agent Integration + AI Assistant module in the role
- → Configure access
Read-only or no write permission
- The agent only explains and suggests a UI tour — you make the changes yourself
- Ask mode is enough for most training UCs
General debug {#general-debug}
| Step | Tool | Action |
|---|---|---|
| 1 | Runs | Find the run; stop step; edge |
| 2 | Trace / log | Variables, constants, error text |
| 3 | “Test action” | Node Inspector — isolated Action test |
| 4 | Fast Line Pro | Test the agent separately from the scenario |
| 5 | Alias | subject_alias, entrypoints, chat_closed_alias vs Settings |
| 6 | Channel | Settings → Bots; preview vs Telegram/widget |
| 7 | Operator Line | Optional E2E after connect |
Details: Use Case 9 — tooling tour. Outside the scenario: when it is not the scenario.
If after self-debug the scenario is correct but platform behavior is inconsistent — ConnectiveOne support.