Use Case 1: FAQ bot with AI answers
Level: basic · Modules: Fast Line Pro, Scenario Builder · Action: action_fastline_pro
Required permissions and access
| What you need | Where in the menu | Why |
|---|---|---|
| Scenario Builder | Menu → Scenario Builder | Build the FAQ scenario |
| Fast Line Pro | Menu → Fast Line Pro | AI agent and knowledge base |
| Fast Line Pro → Knowledge base | Fast Line Pro → Knowledge base | FAQ documents; wait for indexing |
| Settings → Bots | Settings → Bots | Channels for preview / Telegram |
If a section is missing from the menu — check your account permissions or contact ConnectiveOne support.
Business context
The company wants to answer frequent questions automatically without operators. The customer asks a question in chat — the bot answers from the knowledge base; if there is no answer, the customer gets a clear fallback message, not silence.
Expected result
- The customer writes a question after the greeting.
- Fast Line Pro answers from the knowledge base.
- If there is no answer — the fallback edge fires with text like “Try rephrasing.”
- In Runs you see the
{{ai_answer}}variable after a successful AI request.
Flow architecture
Start → MessageKeyboard (greeting + “Ask a question”)
→ WaitForInput (save question)
→ Action (action_fastline_pro)
├─ main exit → MessageKeyboard ({{ai_answer}})
└─ fallback → “Try rephrasing”
Step-by-step implementation
Step 0. Fast Line Pro (outside Scenario Builder)
| What | Why |
|---|---|
| Fast Line Pro → Chatbots tab | For FAQ, knowledge-base answers are enough; tools are not needed |
| Knowledge base → txt, 5–10 Q&A | A small file indexes faster in training |
| Indexing status | Wait until the document finishes processing in the KB before testing in the scenario |
Name (e.g. Training FAQ Bot) |
Must match agent_name in the scenario exactly (the parameter name is historical — the type may be “Chatbot”) |
Check: Fast Line Pro → “Testing” — KB answers work without a scenario.
Chatbot vs Agent in Fast Line Pro
The module has two AI app types. This is not “training vs production” and not the same as a bot in Scenario Builder / Settings → Bots.
| Type | What it can do | When to choose |
|---|---|---|
| Chatbot | Answers from the knowledge base and prompt; no tools | FAQ, categorizer, typical action_fastline_pro |
| Agent | The same + Tools (external actions) and advanced modes (e.g. streaming) | When AI must do something, not only answer from the KB |
For this Use Case: create a Chatbot. An Agent will be needed later if tools appear — see Advanced Fast Line Pro.
Optionally after fallback: edge “Talk to an operator” → connect (if Operator Panel is already set up in Use Case 3).
Step 1. Start
| Parameter | Value | Why |
|---|---|---|
| Trigger | Message in channel (default) | Starts on the customer’s first message in preview / Telegram |
Edges: one exit → next node (greeting).
Step 2. MessageKeyboard — greeting
Node: Message with buttons (send-message-keyboard).
| Parameter (Inspector) | Value | Why |
|---|---|---|
| Message text | “Hi! I’m the FAQ bot. Tap the button to ask a question.” | First message to the customer |
| Keyboard type | inline | Buttons under the message — convenient in Telegram and preview |
| Button 1 | Text: “Ask a question” · payload: ask |
One branch — keeps Use Case 1 simple |
| Output Variable | (optional) | For Use Case 1, the button edge transition is enough |
Edges: button exit ask → WaitForInput. If the customer types text instead of tapping the button — enable validation none or add an “any text” edge → the same WaitForInput.
Step 3. WaitForInput — collect the question
Node: Wait for input (wait-for-input).
| Parameter | Value | Why |
|---|---|---|
| messageText | “Write your question in one message” | Prompt to the customer |
| outputVariable | question |
Text goes into {{question}} for AI |
| Validation → type | none |
In training we accept any text |
Edges: one exit (successful input) → Action action_fastline_pro.
Step 4. Action — action_fastline_pro
Node: Action → template action_fastline_pro.
What the action does: sends user_input to the Fast Line Pro agent, gets an answer from the knowledge base, writes it to a variable.
| node_params (JSON) | Value | Why |
|---|---|---|
agent_name |
Training FAQ Bot |
Agent name from Fast Line Pro |
user_input |
{{question}} |
Question from the previous node |
save_response |
ai_answer |
Variable name for the answer → later {{ai_answer}} |
conversation_id |
fl_conversation_id |
Keeps context between questions in one Run (recommended) |
vision_file |
false |
Use Case 1 without attachments |
Edges (both required):
| Edge | Where | Why |
|---|---|---|
| Main exit (answer exists) | MessageKeyboard with {{ai_answer}} |
Customer sees the AI answer |
| fallback | MessageKeyboard: “Couldn’t find an answer. Try rephrasing.” | Without fallback the bot “goes silent” if the KB gave no answer |
Step 5. MessageKeyboard — show the answer
| Parameter | Value | Why |
|---|---|---|
| Text | {{ai_answer}} |
Substitutes the AI answer |
| Button (optional) | “Another question” → edge back to WaitForInput | FAQ loop without restarting the Run |
Edges: optionally — loop to WaitForInput or End.
Step 6. Test in Runs
- Scenario Builder → Runs → Chat preview.
- Walk through: greeting → “Ask a question” → FAQ text → check
{{ai_answer}}in the trace. - Question outside the FAQ → fallback must fire, not empty text.
Acceptance criteria (self-check Runs)
Common mistakes
| Symptom | Cause | What to do |
|---|---|---|
| Bot “goes silent” after the question | No fallback edge | Connect fallback → MessageKeyboard |
| Empty answer | Wrong agent_name |
Match the name in Fast Line Pro and node_params |
{{ai_answer}} literally in the text |
Variable not written | Check save_response and Runs trace |
| AI does not answer at all | KB not indexed, empty prompt, or FLP failure | Check “Testing” in Fast Line Pro without a scenario; then agent_name and fallback |