Guide: Building an “AI Quote Writing Assistant” with Chat Flow
Are you tired of customers saying something vague like “I want to build an app like Uber” and then demanding a detailed quote immediately? Instead of spending 2 hours writing, this tutorial will show you how to use AIHive Chat Flow to create a Bot that does this automatically in just 30 seconds. We’ll use Chat Flow - AIHive’s drag-and-drop logic graph tool. You don’t need to know coding!”Assembly Line” Concept
Before getting started, imagine Chat Flow like a factory assembly line with workers sitting in sequence:- Node (Block): Each specialized worker (e.g., Node A specializes in analysis, Node B specializes in writing).
- Connectors: Conveyor belts to transfer documents from one person to another.
- Variables
\{\{...\}\}****: This is the most important concept. When Worker B wants to work, they must take Worker A’s result to process further.
🔑 Golden Rule: To get data from a previous Node, press the { key (curly bracket) in the input field to open the variable list.
Step-by-Step Practice
When you create a new Chat Flow, the Canvas screen will display 2 basic blocks: Start and Answer connected together.Step 1: Configure “Start” Node (Input)
This node already exists, just click on it to edit.- Click on the Start node.
- Ensure the configuration panel has the
sys.queryfield. This is where customer chat messages are received.

Step 2: Add “BA Analysis” Node
Task: Readsys.query to analyze.
- Add an LLM node after Start, rename it to
BA_Analysis. - In the “Context” section, select:
sys.query - Configure SYSTEM (Role):
“You are a senior Business Analyst (BA) with 10 years of experience.
Task: From the customer’s rough idea, break it down into a detailed list of Functional Requirements.
Clearly divide: End-user App, Admin Web (CMS/Admin), and Backend.
Output: Only list features as bullet points, keep it concise.” - Configure USER (Create context with Variables):
- Type the prompt:
Analyze the following customer request: - Insert variable: Press
\{key, select sys.query. - Correct display:
Analyze the following customer request: \{\{Start.sys_query\}\}
- Type the prompt:

Step 3: Add “Tech Architect” Node
Task: Read BA’s analysis result to choose technology.- Add an LLM node after BA, connect to BA, rename it to
Tech_Stack. - Configure Context: Select
\{\{BA_Analysis.text\}\} - Configure SYSTEM:
“You are a Solution Architect. Suggest the most optimal Tech Stack for this project.
Prioritize modern Stack:
- Mobile: Flutter (Cross-platform).
- Backend: Node.js (NestJS) or Supabase.
- Database: PostgreSQL. Briefly explain the reasons for your choices.”
- Configure USER (Create context with Variables):
- Type:
Based on the following functional analysis: - Insert variable: Press
\{key, select\{\{BA_Analysis.text\}\} - Correct display:
Based on the following functional analysis: \{\{BA_Analysis.text\}\}
- Type:

Step 4: Add “Write Quote” Node (Important)
Task: Read ALL previous variables to compile into a document.- Add an LLM node after Tech_Stack, rename it to
Write_Quote. - In the “Context” section, select: Tech_Stack / text
- Configure SYSTEM:
You are a Sales Director. Your task is to write a professional, persuasive Technical Proposal to send to the customer immediately.
Format: Beautiful Markdown.
Required structure:
- Project Overview (Understand customer pain points).
- Scope of Work (from BA).
- Technical Solution (Tech Stack - from Architect).
- Implementation Roadmap (Estimated timeline by week).
- Budget Estimate (Reference price range in USD). Tone: Professional, trustworthy, encouraging deal closure.
-
Configure USER (Combine 3 variables into context):
You need to insert 3 variables sequentially for the AI to have complete information. Enter exactly as below:
- Type:
1. Customer request:Press\{, select Start / sys.query - Type:
2. Detailed features:Press\{, select BA_Analysis / text - Type:
3. Proposed technology:Press\{, select Tech_Stack / text
- Type:
text

Step 5: “Answer” Node (Return Result)
Task: Get the final variable and display on screen.- Click on the Answer node at the end.
- In the Response field, delete all existing text.
- Insert variable: Press
\{key, select Write_Quote / text.- Correct display:
\{\{Write_Quote.text\}\}
- Correct display:
Common Error Troubleshooting
During the process, 99% of beginners will encounter an error with red text: “Please fill in context variable in PROMPT”.⚠️ Cause: You used variable {{Start.query}} in the prompt, BUT you haven’t declared it in the Context section of that Node.Fix:
- Look below the System field of the erroring Node.
- Find the Context section.
- Click Add.
- Select the exact variable you’re using in the Prompt.
- The red error will disappear.
Result
Now click the Debug and Preview button in the top right corner.- Test input: “I want to build a medical appointment booking app.”
- Result: You’ll see the Nodes light up sequentially:
- BA analyzes requirements.
- Tech chooses technology stack.
- Sales writes the proposal.
- Final: Returns a full-page professional quote.
