How to Build a Customer Support Chatbot Flow From Scratch
A working support bot starts with a map, not a model. This step-by-step guide covers intents, FAQs, knowledge base, escalation paths, testing, and launch metrics.

Table of contents
A support chatbot does not start with a model — it starts with a map. The difference between a bot customers actually use and one they fight is almost entirely in the planning: which questions it handles, where it gets its answers, and exactly when it steps aside for a human. This guide walks the build from a blank page to a measured launch. It assumes no specific platform; the steps apply whether you are using a no-code builder or wiring up your own. Work through them in order — each one feeds the next.
Step 1: Decide what the bot is for
Before any flow, define scope. List the things you want the bot to do — AWS calls these intents, "a set of actions or intents that you want your bot to fulfill." Pick a focused set for launch rather than trying to cover everything. A good starting scope is your highest-volume, lowest-complexity contacts: order status, password resets, hours, returns policy, basic account questions. Write down explicitly what is out of scope too, because that list defines your escalation triggers later. Resist the urge to launch with fifty intents. A bot that handles ten things reliably beats one that attempts fifty and stumbles on most. You will expand after launch using real data.
Step 2: Map intents and utterances
Each intent needs utterances — the real phrases customers use to express it. AWS gives the example of identifying "phrases that invoke intent, such as, 'Can I make a reservation?'" Customers will not phrase things the way you do, so mine actual transcripts, tickets, and search logs for the language they use, including misspellings and slang. Then decide what the intent requires: if fulfilling it needs data, define the prompts the bot asks to collect it ("What is your order number?"). This is also where you mark which intents need backend access — looking up an order means connecting to a system, not just retrieving an article. Be honest about which intents are "answer" versus "action," because actions raise the bar on testing and permissions.
Step 3: Source the answers — FAQs and knowledge base
A bot is only as good as what it can pull from. For informational intents, connect a knowledge base so the bot has, in AWS's words, "immediate access to relevant information" rather than answers hardcoded into the flow. This keeps content in one place and current. Audit that content first: outdated, contradictory, or missing articles will produce outdated, contradictory, or missing answers. For action intents, integrate the relevant backend systems (CRM, order management) so the bot can respond with personalized, accurate data. Separate the two clearly — FAQ-style retrieval and live data lookups have different reliability and security profiles, and conflating them is a common source of wrong answers.
Step 4: Design the conversation flow
Now assemble the dialog. For each intent, design the path: greeting, intent recognition, any data-collection prompts, the answer or action, and a confirmation. Handle the unhappy paths deliberately — what happens when the bot does not understand, when the customer changes topic mid-flow, or when required data is missing. Be transparent: AWS stresses letting "customers know when interacting with an AI-powered chatbot." Keep turns short and confirm before any consequential action. The flow's job is not to trap the customer in a tree but to move them toward a resolution or a human as fast as the situation allows.
Step 5: Build the escalation paths
Every flow needs exits. Define when the bot routes to a human — your out-of-scope list from Step 1, plus failure conditions and explicit requests. Crucially, the handoff should carry context: the transcript, the customer's identity, and what was already tried, so the human does not start from zero. Map the routing too: which team gets which kind of escalation.
| Trigger | What the bot does |
|---|---|
| Out-of-scope intent | Route to the right human team with a summary |
| Two failed attempts at the same intent | Escalate rather than loop |
| Frustration / negative sentiment | Hand off early, before it worsens |
| High-stakes (refunds over limit, legal, safety) | Always route to a human |
| Customer asks for a person | Connect promptly, no friction |
| Required backend system is down | Capture the request, set an expectation |
Step 6: Test before launch
Test against reality, not your assumptions. Replay real historical tickets through the bot and check both that it recognizes intents and that it answers correctly. Probe the unhappy paths hard: ambiguous phrasing, topic switches, attempts to push it off-script, and every escalation trigger. Verify that action intents touch the right systems with the right permissions and nothing more. Have people outside the build team try to break it. Fix the patterns you find before exposing the bot to customers — a bad first impression is expensive to undo.
Step 7: Launch and measure
Launch to a slice of traffic first if you can, then watch the numbers. AWS recommends automation "to monitor the chatbot's interactions" and using feedback to optimize. The metrics that matter at launch:
- Resolution rate: share of conversations genuinely solved, not just ended.
- Escalation rate and reasons: where and why the bot hands off — your roadmap for what to improve next.
- Containment / re-contact: do "resolved" customers come back within a few days?
- CSAT on bot conversations: satisfaction, not just deflection.
- Fallback rate: how often the bot fails to understand.
Read these weekly at first. They tell you which intents to refine, which to add, and where the content or escalation rules need work.
Bottom line
Building a support chatbot is mapping before building: scope the intents, learn the real utterances, wire it to current content and the right systems, design honest flows with clear exits, test against real tickets, and launch behind metrics. The model is the easy part. The work that decides whether customers trust your bot is the planning and the measurement around it — and that work never quite ends, because every launch metric is also a to-do list for the next iteration.
Sources and further reading
Sources
- Amazon Web Services: What is a chatbot?
aws.amazon.com


