FAQ Chatbot Template#
The FAQ Chatbot Template is designed for building an agent that searches all CS documents such as FAQs, guides, user manuals, policies, and internal wikis to provide accurate answers, and transfers the case to a human agent when necessary. By automatically classifying the user’s question, you can build an intelligent CS agent that routes requests through the most appropriate path among knowledge-based response, general conversation response, and human agent handoff.Automatic intent classification: Automatically classifies user questions into more than 40 CS intent labels and determines their priority
3-way routing: Automatically selects the route for knowledge search, general conversation, or human agent handoff depending on the question type
Accurate knowledge-based responses: Searches registered CS documents and generates evidence-based answers
Automated human agent handoff: Automatically generates a handoff summary for urgent cases and delivers a guidance message to the user
Multilingual support: Automatically detects the user’s input language and responds in that language
The FAQ Chatbot Template is used after registering CS documents in Knowledge.
You can get more accurate responses by registering FAQs, user manuals, policies/terms, price lists, troubleshooting guides, and similar materials.
Workflow Structure#
The FAQ Chatbot Template consists of 5 LLM nodes, 1 search (RAG) node, 1 conditional branching node, and 2 variable assignment nodes. Based on the intent classification result, it branches into 3 routes, each of which follows a different response path.Step 1. Intent Classification (LLM)#
Analyzes the user’s question to determine the intent, priority, and required handling method.| Field | Description | Output Value |
|---|
| need_rag | Whether knowledge search is required | TRUE / FALSE |
| need_api | Whether account-specific action/query is required | TRUE / FALSE |
| intent_label | User intent classification label | 1 of 40 labels |
| entities | Extracted entities (product, order number, amount, etc.) | JSON object |
| user_language | Detected user language | ko / en / ja, etc. |
| priority | Priority level | low / normal / high / urgent |
| Category | Example Labels |
|---|
| Product / Technical | getting_started, how_to, troubleshooting, error_message, product_info |
| Setup / Integration | setup_installation, configuration, integration_api, developer_docs |
| Billing / Subscription | pricing_billing, payment_issue, subscription_plan, cancellation, refund_request |
| Orders / Shipping | order_status, shipping_delivery, return_exchange, promotion_coupon |
| Policy / Security | warranty_policy, policy_terms, privacy_security, compliance, data_retention_deletion |
| Account | account_access, authentication, password_reset, account_update |
| Operations | usage_limits_quota, performance_sla, outage_incident, maintenance |
| Other | feedback, abuse_report, legal_question, general_question |
urgent: Fraud, security breach, unrecognized charges, data leak, service outage, health or safety issues
high: Financial risk, imminent deadline, production blockage, or other serious short-term impact
normal: All other general inquiries
Step 2. Variable Assignment#
Stores the classification results from Step 1 in custom variables.
These variables are then referenced in the conditional branching step and in the LLM nodes for each route.| Variable | Purpose |
|---|
need_rag | Determines whether to branch to the knowledge search route |
need_api | Indicates whether API integration is needed (for future extension) |
intent_label | Referenced by each route’s LLM to generate an intent-appropriate response |
entities | Passes extracted entities such as product names and order numbers |
user_language | Determines the response language |
priority | Determines urgency-based branching and is passed during human agent handoff |
Step 3. Conditional Branching (If/Else)#
Routes the request into one of three paths based on the stored variable values.| Condition | Route |
|---|
| priority = "urgent" | Route A: Human Agent Handoff |
| need_rag = "TRUE" | Route B: Knowledge-Based Response |
| Otherwise | Route C: General Conversation Response |
Route A. Human Agent Handoff (urgent)#
Urgent cases such as fraud, security issues, or data leaks are automatically handed off to a human agent.
This route consists of 3 steps.A-1. Handoff Summary Generation (LLM)
Generates a concise handoff summary for the human agent.Summary of the user’s request
Steps already attempted or provided
Current status (success / failure / blocking issue)
Urgency and supporting reason
Required permissions or systems
Extracted identifiers (order number, account, email, etc.)
Suggested resolution and next action items
A-2. Variable Assignment
Stores the generated handoff summary in the assistant_draft_ko variable.A-3. User Guidance Message Generation (LLM)
Generates a message informing the user that the case has been handed off to a human agent.Confirmation message and summary of the next action
Ticket / request ID, if available
Expected next steps and contact method
Information the user should prepare
Route B. Knowledge-Based Response (need_rag = TRUE)#
Finds answers in registered CS documents such as FAQs, policies, and manuals.
This route consists of 3 steps.B-1. Query Expansion (LLM)
Expands the user’s question into a query optimized for RAG search.Includes key entities (product name, order number, amount, etc.)
Adds CS domain synonyms (for example, refund/return/exchange, payment/billing)
Explicitly includes keywords related to policies, fees, and warranties
Outputs a single query string within 200 characters
B-2. Knowledge Search (RAG)
Searches the registered CS documents using the expanded query.
Returns up to 30 relevant chunks.B-3. Knowledge-Based Answer Generation (LLM)
Generates an answer based on the retrieved document content.Use only the content present in the retrieved context to generate the answer
Quote policy / warranty / fee / date values exactly as written in the documents
If the answer is not in the context, state that “it cannot be answered based on the current knowledge” and suggest the next step
Do not invent numbers or URLs
Refer to the most recent 5 turns of conversation history to maintain multi-turn context
Route C. General Conversation Response (Otherwise)#
The LLM directly answers general inquiries that do not require knowledge search.Concise, polite, and action-oriented responses
If the request is ambiguous, ask 1 clarifying question and suggest the most likely next step
Provide specific steps (1–5) and explain what information is needed
Do not invent policies, prices, or dates, and suggest connecting to a human agent for specialized domains
Customizing the Evaluation Criteria#
You can modify the prompt of each node in the workflow editor to adjust it for your service.| Customization Target | Node | Example Customization |
|---|
| Intent classification criteria | Intent Classification (Node 5) | Add / remove labels, change priority criteria |
| Human agent handoff condition | Conditional Branching (Node 6) | Add extra conditions beyond urgent |
| Handoff summary format | Handoff Summary (Node 7) | Change summary items or output format |
| Query expansion strategy | Query Expansion (Node 12) | Modify domain synonyms or expansion rules |
| Answer tone / format | Answer Generation (Node 3, 10) | Adjust tone, response format, or response length |
| Search precision | Knowledge Search (Node 2) | Adjust number of chunks or search scope |
If you first adjust the label list and priority criteria in the intent classification node to fit your service domain, the response quality across the later routes will also improve.
The human agent handoff route is currently automated only up to generating the guidance message.
To create actual tickets or connect to a human agent, you need to add an API node and integrate with an external system.