Chatbot conversation-design template
A per-intent design template for a support chatbot flow — frame the intent, script the happy path, write fall-forward fallbacks, wire the human offramp, and pass a pre-launch review — so you ship one flow that actually resolves instead of a bot that traps people in a doom loop.
This is a design template for one chatbot intent at a time — reset password, track order, cancel subscription, update payment. Fill in a fresh copy for each one. A bot that handles ten intents well beats one that gestures at fifty and loops on all of them. Replace everything in [brackets] before it goes near a customer.
The whole job of conversation design is to make three things good: the path when everything goes right, the path when the user says something you didn't expect, and the path to a human. Skip the second two and you've built a demo, not a support channel.
1. Frame the intent
Answer these before you write a single line of dialogue.
| Field | Fill in |
|---|---|
| Intent name | [reset-password] |
| User goal, in their words | "[I can't log in]" |
| Trigger phrases | [3–5 real utterances pulled from transcripts] |
| Can the bot resolve this end to end? | [Yes / Partial / No] |
| Irreversible or costly actions? | [e.g. cancels a plan, issues a refund] |
| Sensitive / regulated? | [billing, security, health, legal → tighter guardrails] |
| Owner | [name] |
Rule: if the honest answer to row 3 is No, don't design a chatbot flow — design a fast, clean handoff to a human and stop here.
2. Script the happy path
Write the shortest sequence of turns that gets a well-behaved user to a resolved outcome. One question per turn. Never ask for something you can look up yourself.
| Turn | Bot says | What you capture | Notes |
|---|---|---|---|
| Open | "[greeting + what I can do]" | — | Disclose it's a bot where required |
| 1 | "[first question]" | [entity: order number] | Offer buttons when the answer is bounded |
| 2 | "[echo back what I heard]" | [confirmation] | Confirm before acting |
| Act | "[what I'm doing now]" | — | Show progress on anything slow |
| Close | "[result — did this solve it?]" | [resolution signal] | End with an exit, never a dead end |
3. Confirm before you act
- The bot echoes its understanding before any state change: "You want to cancel the
[Pro]plan on[account]— confirm?" - Irreversible or costly actions require an explicit yes — never inferred from silence or a vague reply
- After acting, the bot states plainly what changed and what happens next
4. Fallback that moves forward
Do not ship "Sorry, I didn't understand that." Every failed turn hands the user a next step.
- First miss: rephrase the question and show an example of a valid answer
- Offer 2–4 concrete options mapped to intents you actually support — not "ask me anything"
- Cap retries at 2 on the same step; after that, escalate — don't loop
- Never blame the user ("invalid input"); own the miss ("I didn't catch that — try...")
The failure mode you are designing against is the CFPB's "doom loop": a customer trapped in "continuous loops of repetitive, unhelpful jargon or legalese without an offramp to a human." Around 37% of the U.S. population had used a bank chatbot by 2022, and the regulator's headline complaint was bots with no way out.
5. The human offramp (non-negotiable)
- A human is always reachable — no magic word, no fighting the bot to find one
- Escalation triggers are explicit:
[2 failed attempts]·[low confidence]·[detected frustration]·[explicit "agent" request]·[any sensitive/regulated intent] - The full conversation and any actions taken transfer with the handoff — the customer never re-explains from zero
- If no human is available, say so honestly and give a real alternative (callback, ticket, hours) — never fake availability
6. Voice and tone
Follow your brand voice guide; keep turns short and human. Warmth is not decoration: 64% of consumers say they're more likely to trust AI agents that feel friendly and empathetic, and 63% will switch to a competitor after a single bad experience (Zendesk, 2025 CX Trends).
| Do | Don't |
|---|---|
| Plain language, one idea per message | Jargon, legalese, walls of text |
| Set expectations ("this takes ~30s") | Silent pauses that read as frozen |
| Admit limits ("I can't refund, but I'll connect you") | Pretend competence it doesn't have |
7. Edge cases and safety
- Out-of-scope questions get a graceful redirect, not a hallucinated answer
- Sensitive topics — billing disputes, account security, cancellations, anything regulated — route to a human by default
- The bot never invents policy, prices, or account facts it can't retrieve
- Prompt-injection and jailbreak attempts are tested before launch
- AI disclosure meets your legal obligations for each region you operate in
8. Pre-launch review — the gate
Ship nothing with an unchecked box.
- Walked the happy path end to end on a real
[test account] - Ran every fallback branch and confirmed each has a forward step
- Triggered every escalation path and confirmed context transferred intact
- Tested with messy real utterances — typos, multi-issue threads, non-native phrasing — not just clean scripted ones
- A named owner signed off, and a rollback / kill switch exists
Ship one intent, watch real transcripts for a week, fix what breaks, then design the next. Conversation design is a maintenance habit, not a launch event — the transcripts will tell you where the flow lies to you, if you keep reading them.
Continue exploring